Vulkan-Profiles icon indicating copy to clipboard operation
Vulkan-Profiles copied to clipboard

script: gen_profiles_file.py generating profiles doesn't work as expected

Open keptsecret opened this issue 10 months ago • 3 comments

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.

keptsecret avatar Mar 06 '25 02:03 keptsecret

@alichraghi

keptsecret avatar Mar 06 '25 02:03 keptsecret

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?

SaschaWillems avatar Mar 06 '25 16:03 SaschaWillems