Deprecation State
- 
Promoted to VK_KHR_compute_shader_derivatives extension 
Contact
- 
Pat Brown [GitHub]nvpbrown 
Other Extension Metadata
- Last Modified Date
- 
2018-07-19 
- IP Status
- 
No known IP claims. 
- Interactions and External Dependencies
- 
- 
This extension provides API support for GL_NV_compute_shader_derivatives
 
- 
- Contributors
- 
- 
Pat Brown, NVIDIA 
 
- 
Description
This extension adds Vulkan support for the
SPV_NV_compute_shader_derivatives
SPIR-V extension.
The SPIR-V extension provides two new execution modes, both of which allow
compute shaders to use built-ins that evaluate compute derivatives
explicitly or implicitly.
Derivatives will be computed via differencing over a 2x2 group of shader
invocations.
The DerivativeGroupQuadsNV 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 DerivativeGroupLinearNV execution mode assembles shader invocations
into 2x2 groups, where each group has local invocation index values of the
form 4m+{0,1,2,3}.
New Enum Constants
- 
VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME
- 
VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION
- 
Extending VkStructureType: - 
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV
 
- 
Issues
(1) Should we specify that the groups of four shader invocations used for derivatives in a compute shader are the same groups of four invocations that form a “quad” in shader subgroups?
RESOLVED: Yes.
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.