-
Couldn't load subscription status.
- Fork 165
Description
If I'm given an arbitrary shader and I want to see if it runs on the local hardware, I can use reflection to see if any capabilities are being requested that the hardware doesn't support. However this isn't quite fine grained enough in many cases. For example if SpvCapabilityAtomicFloat32AddEXT is declared, I can see if VK_EXT_shader_atomic_float is supported as a first check. However the hardware may support atomic float operations on some data types and not others, as per the entries in VkPhysicalDeviceShaderAtomicFloatFeaturesEXT. For example on macOS shaderImageFloat32AtomicAdd is not currently supported.
Is there any path forward where we can see what kinds of operations are applied to data, such as flags on a reflected image descriptor saying it was used for an atomic float operation?