File tree 1 file changed +25
-1
lines changed
1 file changed +25
-1
lines changed Original file line number Diff line number Diff line change @@ -4301,6 +4301,7 @@ namespace
4301
4301
return false ;
4302
4302
}
4303
4303
4304
+ // Check for special cases
4304
4305
#if defined(_XBOX_ONE) && defined(_TITLE)
4305
4306
if (sformat == DXGI_FORMAT_R16G16B16A16_FLOAT
4306
4307
|| sformat == DXGI_FORMAT_R16_FLOAT
@@ -4312,7 +4313,30 @@ namespace
4312
4313
}
4313
4314
#endif
4314
4315
4315
- // Check for special cases
4316
+ switch (sformat)
4317
+ {
4318
+ case DXGI_FORMAT_R32G32B32A32_FLOAT:
4319
+ case DXGI_FORMAT_R32G32B32_FLOAT:
4320
+ case DXGI_FORMAT_R32G32_FLOAT:
4321
+ case DXGI_FORMAT_R32_FLOAT:
4322
+ case DXGI_FORMAT_D32_FLOAT:
4323
+ switch (tformat)
4324
+ {
4325
+ case DXGI_FORMAT_R16G16B16A16_FLOAT:
4326
+ case DXGI_FORMAT_R16G16_FLOAT:
4327
+ case DXGI_FORMAT_R16_FLOAT:
4328
+ // WIC conversions for FP32->FP16 can result in NaN values instead of clamping for min/max value
4329
+ return false ;
4330
+
4331
+ default :
4332
+ break ;
4333
+ }
4334
+ break ;
4335
+
4336
+ default :
4337
+ break ;
4338
+ }
4339
+
4316
4340
switch (sformat)
4317
4341
{
4318
4342
case DXGI_FORMAT_R32G32B32A32_FLOAT:
You can’t perform that action at this time.
0 commit comments