@@ -403,14 +403,19 @@ std::unique_ptr<CVulkanPhysicalDevice> CVulkanPhysicalDevice::create(core::smart
403
403
404
404
if (!vulkan12Properties.shaderSignedZeroInfNanPreserveFloat32 )
405
405
return nullptr ;
406
- if (!vulkan12Properties.shaderDenormPreserveFloat32 )
407
- return nullptr ;
408
- if (!vulkan12Properties.shaderDenormFlushToZeroFloat32 )
409
- return nullptr ;
410
- if (!vulkan12Properties.shaderRoundingModeRTEFloat32 )
411
- return nullptr ;
412
- if (!vulkan12Properties.shaderRoundingModeRTZFloat32 )
413
- return nullptr ;
406
+ properties.limits .shaderSignedZeroInfNanPreserveFloat64 = vulkan12Properties.shaderSignedZeroInfNanPreserveFloat64 ;
407
+ properties.limits .shaderDenormPreserveFloat16 = vulkan12Properties.shaderDenormPreserveFloat16 ;
408
+ properties.limits .shaderDenormPreserveFloat32 = vulkan12Properties.shaderDenormPreserveFloat32 ;
409
+ properties.limits .shaderDenormPreserveFloat64 = vulkan12Properties.shaderDenormPreserveFloat64 ;
410
+ properties.limits .shaderDenormFlushToZeroFloat16 = vulkan12Properties.shaderDenormFlushToZeroFloat16 ;
411
+ properties.limits .shaderDenormFlushToZeroFloat32 = vulkan12Properties.shaderDenormFlushToZeroFloat32 ;
412
+ properties.limits .shaderDenormFlushToZeroFloat64 = vulkan12Properties.shaderDenormFlushToZeroFloat64 ;
413
+ properties.limits .shaderRoundingModeRTEFloat16 = vulkan12Properties.shaderRoundingModeRTEFloat16 ;
414
+ properties.limits .shaderRoundingModeRTEFloat32 = vulkan12Properties.shaderRoundingModeRTEFloat32 ;
415
+ properties.limits .shaderRoundingModeRTEFloat64 = vulkan12Properties.shaderRoundingModeRTEFloat64 ;
416
+ properties.limits .shaderRoundingModeRTZFloat16 = vulkan12Properties.shaderRoundingModeRTZFloat16 ;
417
+ properties.limits .shaderRoundingModeRTZFloat32 = vulkan12Properties.shaderRoundingModeRTZFloat32 ;
418
+ properties.limits .shaderRoundingModeRTZFloat64 = vulkan12Properties.shaderRoundingModeRTZFloat64 ;
414
419
415
420
// descriptor indexing
416
421
properties.limits .maxUpdateAfterBindDescriptorsInAllPools = vulkan12Properties.maxUpdateAfterBindDescriptorsInAllPools ;
@@ -900,32 +905,6 @@ std::unique_ptr<CVulkanPhysicalDevice> CVulkanPhysicalDevice::create(core::smart
900
905
properties.limits .shaderFloat16 = vulkan12Features.shaderFloat16 ;
901
906
if (!vulkan12Features.shaderInt8 )
902
907
return nullptr ;
903
-
904
- if (properties.limits .shaderFloat16 ) {
905
- if (!vulkan12Properties.shaderSignedZeroInfNanPreserveFloat16 )
906
- return nullptr ;
907
- if (!vulkan12Properties.shaderDenormPreserveFloat16 )
908
- return nullptr ;
909
- if (!vulkan12Properties.shaderDenormFlushToZeroFloat16 )
910
- return nullptr ;
911
- if (!vulkan12Properties.shaderRoundingModeRTEFloat16 )
912
- return nullptr ;
913
- if (!vulkan12Properties.shaderRoundingModeRTZFloat16 )
914
- return nullptr ;
915
- }
916
-
917
- if (properties.limits .shaderFloat64 ) {
918
- if (!vulkan12Properties.shaderSignedZeroInfNanPreserveFloat64 )
919
- return nullptr ;
920
- if (!vulkan12Properties.shaderDenormPreserveFloat64 )
921
- return nullptr ;
922
- if (!vulkan12Properties.shaderDenormFlushToZeroFloat64 )
923
- return nullptr ;
924
- if (!vulkan12Properties.shaderRoundingModeRTEFloat64 )
925
- return nullptr ;
926
- if (!vulkan12Properties.shaderRoundingModeRTZFloat64 )
927
- return nullptr ;
928
- }
929
908
930
909
if (!vulkan12Features.descriptorIndexing )
931
910
return nullptr ;
0 commit comments