VK_KHR_shader_terminate_invocation(3)

# VK_KHR_shader_terminate_invocation(3) Manual Page

## Name

VK_KHR_shader_terminate_invocation - device extension

Loading… please wait.

## Registered Extension Number

216

## Revision

1

## Extension and Version Dependencies

- Requires Vulkan 1.0

- Requires `VK_KHR_get_physical_device_properties2`

  Last Modified Date

    2020-08-11

  IP Status

    No known IP claims.

  Interactions and External Dependencies

    - Requires the `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 `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:

  - VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR

### 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`

### Version History

- Revision 1, 2020-08-11 (Jesse Hall)

## See Also

VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR

## Document Notes

For more information, see the Vulkan Specification

This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.

## Copyright

Copyright (c) 2014-2020 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0