1
0
mirror of https://github.com/microsoft/DirectXTex synced 2024-12-29 12:41:07 +00:00

Force non-WIC paths for FP32->FP16 conversions (#99)

This commit is contained in:
Chuck Walbourn 2018-05-11 18:56:05 -07:00 committed by GitHub
parent 3771e6c66d
commit e0457acb23
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -4301,6 +4301,7 @@ namespace
return false; return false;
} }
// Check for special cases
#if defined(_XBOX_ONE) && defined(_TITLE) #if defined(_XBOX_ONE) && defined(_TITLE)
if (sformat == DXGI_FORMAT_R16G16B16A16_FLOAT if (sformat == DXGI_FORMAT_R16G16B16A16_FLOAT
|| sformat == DXGI_FORMAT_R16_FLOAT || sformat == DXGI_FORMAT_R16_FLOAT
@ -4312,7 +4313,30 @@ namespace
} }
#endif #endif
// Check for special cases switch (sformat)
{
case DXGI_FORMAT_R32G32B32A32_FLOAT:
case DXGI_FORMAT_R32G32B32_FLOAT:
case DXGI_FORMAT_R32G32_FLOAT:
case DXGI_FORMAT_R32_FLOAT:
case DXGI_FORMAT_D32_FLOAT:
switch (tformat)
{
case DXGI_FORMAT_R16G16B16A16_FLOAT:
case DXGI_FORMAT_R16G16_FLOAT:
case DXGI_FORMAT_R16_FLOAT:
// WIC conversions for FP32->FP16 can result in NaN values instead of clamping for min/max value
return false;
default:
break;
}
break;
default:
break;
}
switch (sformat) switch (sformat)
{ {
case DXGI_FORMAT_R32G32B32A32_FLOAT: case DXGI_FORMAT_R32G32B32A32_FLOAT: