/ 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