VK_KHR_shader_terminate_invocation
Other Extension Metadata
Last Modified Date
2020-08-11
IP Status
No known IP claims.
Contributors
- Alan Baker, Google
- Jeff Bolz, NVIDIA
- Jesse Hall, Google
- Ralph Potter, Samsung
- Tom Olson, Arm
Description
This extension adds Vulkan support for the
SPV_KHR_terminate_invocation
SPIR-V extension.
That SPIR-V extension provides a new instruction,
OpTerminateInvocation
, which causes a shader invocation to immediately
terminate and sets the coverage of shaded samples to 0
; only previously
executed instructions will have observable effects.
The OpTerminateInvocation
instruction, along with the
OpDemoteToHelperInvocation
instruction from the
VK_EXT_shader_demote_to_helper_invocation extension, together
replace the OpKill
instruction, which could behave like either of these
instructions.
OpTerminateInvocation
provides the behavior required by the GLSL
discard
statement, and should be used when available by GLSL compilers
and applications that need the GLSL discard
behavior.
New Structures
- Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:
New Enum Constants
VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME
VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION
- Extending VkStructureType:
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR
Promotion to Vulkan 1.3
Functionality in this extension is included in core Vulkan 1.3, with the KHR suffix omitted. The original type, enum and command names are still available as aliases of the core functionality.
Version History
- Revision 1, 2020-08-11 (Jesse Hall)