// Copyright (c) 2020 The Khronos Group Inc. // // SPDX-License-Identifier: CC-BY-4.0 include::{generated}/meta/{refprefix}VK_KHR_shader_terminate_invocation.txt[] *Last Modified Date*:: 2020-08-11 *IP Status*:: No known IP claims. *Interactions and External Dependencies*:: - Requires the {spirv}/KHR/SPV_KHR_terminate_invocation.html[`SPV_KHR_terminate_invocation`] SPIR-V extension. *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 <> 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.txt[] === Version History * Revision 1, 2020-08-11 (Jesse Hall)