# VK_NV_compute_shader_derivatives(3) Manual Page

## Name

VK_NV_compute_shader_derivatives - device extension

Loading… please wait.

## Registered Extension Number

202

## Revision

1

## Ratification Status

Not ratified

## Extension and Version Dependencies

VK_KHR_get_physical_device_properties2
or
Vulkan Version 1.1

## SPIR-V Dependencies

- SPV_NV_compute_shader_derivatives

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

- Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:

  - VkPhysicalDeviceComputeShaderDerivativesFeaturesNV

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

## New SPIR-V Capability

- `ComputeDerivativeGroupQuadsNV`

- `ComputeDerivativeGroupLinearNV`

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

## Examples

None.

## Version History

- Revision 1, 2018-07-19 (Pat Brown)

  - Initial draft

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

Copyright 2014-2025 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0