blob: b3b724c20f48932c63e812d909bf183c4f300c93 [file] [log] [blame]
// Copyright 2020-2021 The Khronos Group Inc.
//
// SPDX-License-Identifier: CC-BY-4.0
include::{generated}/meta/{refprefix}VK_KHR_shader_terminate_invocation.txt[]
=== Other Extension Metadata
*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
`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.txt[]
=== Version History
* Revision 1, 2020-08-11 (Jesse Hall)