/ appendices / VK_EXT_shader_demote_to_helper_invocation.txt
VK_EXT_shader_demote_to_helper_invocation.txt
1 include::meta/VK_EXT_shader_demote_to_helper_invocation.txt[] 2 3 *Last Modified Date*:: 4 2019-06-01 5 *IP Status*:: 6 No known IP claims. 7 *Contributors*:: 8 - Jeff Bolz, NVIDIA 9 10 This extension adds Vulkan support for the 11 `SPV_EXT_demote_to_helper_invocation` SPIR-V extension. 12 That SPIR-V extension provides a new instruction 13 code:OpDemoteToHelperInvocationEXT allowing shaders to "demote" a fragment 14 shader invocation to behave like a helper invocation for its duration. 15 The demoted invocation will have no further side effects and will not output 16 to the framebuffer, but remains active and can participate in computing 17 derivatives and in subgroup operations. 18 This is a better match for the "discard" instruction in HLSL. 19 20 === New Object Types 21 22 None. 23 24 === New Enum Constants 25 26 * Extending elink:VkStructureType: 27 ** ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT 28 29 === New Enums 30 31 None. 32 33 === New Structures 34 35 * slink:VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT 36 37 === New Functions 38 39 None. 40 41 === New SPIR-V Capability 42 43 * <<spirvenv-capabilities-table-demote,DemoteToHelperInvocationEXT>> 44 45 === Issues 46 47 None. 48 49 === Examples 50 51 None. 52 53 === Version History 54 55 * Revision 1, 2019-06-01 (Jeff Bolz) 56 - Initial draft