vulkan
Safe HaskellNone
LanguageHaskell2010

Vulkan.Extensions.VK_NV_compute_shader_derivatives

Description

Name

VK_NV_compute_shader_derivatives - device extension

VK_NV_compute_shader_derivatives

Name String
VK_NV_compute_shader_derivatives
Extension Type
Device extension
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
Deprecation State
Contact

Other Extension Metadata

Last Modified Date
2018-07-19
IP Status
No known IP claims.
Interactions and External Dependencies
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

New Enum Constants

New SPIR-V Capability

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.

Synopsis

Documentation

type NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME = "VK_NV_compute_shader_derivatives" Source #

data PhysicalDeviceComputeShaderDerivativesFeaturesKHR Source #

VkPhysicalDeviceComputeShaderDerivativesFeaturesKHR - Structure describing compute shader derivative features that can be supported by an implementation

Members

This structure describes the following features:

Description

See Quad shader scope for more information.

If the PhysicalDeviceComputeShaderDerivativesFeaturesKHR. structure is included in the pNext chain of the PhysicalDeviceFeatures2 structure passed to getPhysicalDeviceFeatures2, it is filled in to indicate whether each corresponding feature is supported. If the application wishes to use a Device with any features described by PhysicalDeviceComputeShaderDerivativesFeaturesKHR., it must add an instance of the structure, with the desired feature members set to TRUE, to the pNext chain of DeviceCreateInfo when creating the Device.

Valid Usage (Implicit)

See Also

VK_KHR_compute_shader_derivatives, VK_NV_compute_shader_derivatives, Bool32, StructureType

Constructors

PhysicalDeviceComputeShaderDerivativesFeaturesKHR 

Fields

  • computeDerivativeGroupQuads :: Bool

    computeDerivativeGroupQuads indicates that the implementation supports the ComputeDerivativeGroupQuadsKHR SPIR-V capability.

  • computeDerivativeGroupLinear :: Bool

    computeDerivativeGroupLinear indicates that the implementation supports the ComputeDerivativeGroupLinearKHR SPIR-V capability.

Instances

Instances details
Eq PhysicalDeviceComputeShaderDerivativesFeaturesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_compute_shader_derivatives

Storable PhysicalDeviceComputeShaderDerivativesFeaturesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_compute_shader_derivatives

Show PhysicalDeviceComputeShaderDerivativesFeaturesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_compute_shader_derivatives

FromCStruct PhysicalDeviceComputeShaderDerivativesFeaturesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_compute_shader_derivatives

ToCStruct PhysicalDeviceComputeShaderDerivativesFeaturesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_compute_shader_derivatives

Zero PhysicalDeviceComputeShaderDerivativesFeaturesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_compute_shader_derivatives