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

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)