On Mon Apr 15 14:01:04 2024 +0000, Henri Verbeet wrote:
Is the test working as intended? I would have expected this to require enabling the VK_EXT_shader_demote_to_helper_invocation for the Vulkan runner, as well as passing VKD3D_SHADER_SPIRV_EXTENSION_EXT_DEMOTE_TO_HELPER_INVOCATION in the SPIR-V target info for vkd3d_shader_compile().
I can see that the generates shaders have `OpKill` or `OpDemoteToHelperInvocationEXT` depending on whether they're on the Vulkan or D3D12 runner, but in practice the effect seems to be the same on all the drivers I tested. It doesn't look like that the SPIR-V specs tells a lot about what is ought to happen when derivatives are computer after `OpKill`, so I assume it's unspecified and drivers treat that as `OpDemoteToHelperInvocationEXT` anyway.