Registered Extension Number

512

Revision

1

Ratification Status

Ratified

Extension and Version Dependencies

SPIR-V Dependencies

Contact

Extension Proposal

Other Extension Metadata

Last Modified Date

2024-06-26

IP Status

No known IP claims.

Interactions and External Dependencies
Contributors
  • Jean-Noe Morissette, Epic Games

  • Daniel Koch, NVIDIA

  • Pat Brown, NVIDIA

  • Stu Smith, AMD

  • Jan-Harald Fredriksen, Arm

  • Tobias Hector, AMD

  • Ralph Potter, Samsung

  • Pan Gao, Huawei

  • Samuel (Sheng-Wen) Huang, MediaTek

  • Graeme Leese, Broadcom

  • Hans-Kristian Arntzen, Valve

  • Matthew Netsh, Qualcomm

Description

This extension adds Vulkan support for the SPV_KHR_compute_shader_derivatives SPIR-V extension.

The SPIR-V extension provides two new execution modes, both of which allow execution models with defined workgroups to use built-ins that evaluate derivatives explicitly or implicitly. Derivatives will be computed via differencing over a 2x2 group of shader invocations. The DerivativeGroupQuadsKHR execution mode assembles shader invocations into 2x2 groups, where each group has x and y coordinates of the local invocation ID of the form (2m+{0,1}, 2n+{0,1}). The DerivativeGroupLinearKHR execution mode assembles shader invocations into 2x2 groups, where each group has local invocation index values of the form 4m+{0,1,2,3}.

The new execution modes are supported in compute shaders and optionally (see meshAndTaskShaderDerivatives) in mesh and task shaders.

New Structures

New Enum Constants

  • VK_KHR_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME

  • VK_KHR_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION

  • Extending VkStructureType:

    • VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_KHR

    • VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_PROPERTIES_KHR

New SPIR-V Capability

Examples

None.

Version History

  • Revision 1, 2023-02-27 (Jean-Noe Morissette)

    • Initial draft

    • Add properties and clarify mesh and task support (Daniel Koch)

See Also

No cross-references are available

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 2014-2025 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0