script: gen_profiles_file.py generating profiles doesn't work as expected
Running gen_profiles_file.py with (default) merge mode intersect doesn't seem to work.
A section under VkPhysicalDeviceVulkan12Properties from one of the input files compared to the output file:
-- input
"shaderSignedZeroInfNanPreserveFloat16": true,
"shaderSignedZeroInfNanPreserveFloat32": true,
"shaderSignedZeroInfNanPreserveFloat64": true,
"shaderDenormPreserveFloat16": true,
"shaderRoundingModeRTEFloat16": true,
"shaderRoundingModeRTEFloat32": true,
"shaderRoundingModeRTEFloat64": true,
"shaderRoundingModeRTZFloat32": true,
"shaderRoundingModeRTZFloat64": true,
https://github.com/Devsh-Graphics-Programming/Nabla/blob/3f292b7d3b224409aacbd68329a7d2d305b55569/src/nbl/video/vulkan/profiles/platforms/win/nvidia.json#L1069-L1078 (and other input json in the \win folder)
-- output
"shaderSignedZeroInfNanPreserveFloat16": true,
"shaderSignedZeroInfNanPreserveFloat32": true,
"shaderSignedZeroInfNanPreserveFloat64": true,
"shaderDenormPreserveFloat16": true,
"shaderDenormPreserveFloat32": true,
"shaderDenormPreserveFloat64": true,
"shaderDenormFlushToZeroFloat16": true,
"shaderDenormFlushToZeroFloat32": true,
"shaderDenormFlushToZeroFloat64": true,
"shaderRoundingModeRTEFloat16": true,
"shaderRoundingModeRTEFloat32": true,
"shaderRoundingModeRTEFloat64": true,
"shaderRoundingModeRTZFloat16": true,
"shaderRoundingModeRTZFloat32": true,
"shaderRoundingModeRTZFloat64": true,
https://github.com/Devsh-Graphics-Programming/Nabla/blob/3f292b7d3b224409aacbd68329a7d2d305b55569/src/nbl/video/vulkan/profiles/platforms/win.json#L768-L783
makes it seem like it's running in union mode.
@alichraghi
I think I know what the problem might be, the properties which are false are simply not being outputted by vulkan.gpuinfo.org, so the JSONs are invalid?
Edit: this seems to only affect the vulkan12Properties and not the property struct from VkPhysicalDeviceFloatControlsPropertiesKHR
CC @SaschaWillems
Maintaining the profiles support for gpuinfo.org is sadly non-trivial and time consuming. Haven't updated them for ages, but looks like I have to.
Might be as "easy" as updating the profiles on the server, but also might be something that requires some essential effort.
Can you provide me a link to a report and the version of the profile you use, so I can check?