// Copyright 2020-2024 The Khronos Group Inc. // // SPDX-License-Identifier: CC-BY-4.0 include::{generated}/meta/{refprefix}VK_KHR_shader_terminate_invocation.adoc[] === 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 {spirv}/KHR/SPV_KHR_terminate_invocation.html[`SPV_KHR_terminate_invocation`] SPIR-V extension. That SPIR-V extension provides a new instruction, code: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 code:OpTerminateInvocation instruction, along with the code:OpDemoteToHelperInvocation instruction from the `apiext:VK_EXT_shader_demote_to_helper_invocation` extension, together replace the code:OpKill instruction, which could behave like either of these instructions. code:OpTerminateInvocation provides the behavior required by the GLSL code:discard statement, and should be used when available by GLSL compilers and applications that need the GLSL code:discard behavior. include::{generated}/interfaces/VK_KHR_shader_terminate_invocation.adoc[] === 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)