vulkan
Safe HaskellNone
LanguageHaskell2010

Vulkan.Extensions.VK_KHR_compute_shader_derivatives

Description

Name

VK_KHR_compute_shader_derivatives - device extension

VK_KHR_compute_shader_derivatives

Name String
VK_KHR_compute_shader_derivatives
Extension Type
Device extension
Registered Extension Number
512
Revision
1
Ratification Status
Ratified
Extension and Version Dependencies
VK_KHR_get_physical_device_properties2 or Vulkan Version 1.1
SPIR-V Dependencies
Contact
Extension Proposal
VK_KHR_compute_shader_derivatives

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 Netsch, 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

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.

Synopsis

Documentation

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

data PhysicalDeviceComputeShaderDerivativesPropertiesKHR Source #

VkPhysicalDeviceComputeShaderDerivativesPropertiesKHR - Structure describing compute shader derivative operations supported by an implementation

Members

The members of the PhysicalDeviceComputeShaderDerivativesPropertiesKHR structure describe the following:

Description

If the PhysicalDeviceComputeShaderDerivativesPropertiesKHR structure is included in the pNext chain of the PhysicalDeviceProperties2 structure passed to getPhysicalDeviceProperties2, it is filled in with each corresponding implementation-dependent property.

Valid Usage (Implicit)

See Also

VK_KHR_compute_shader_derivatives, Bool32, StructureType

Constructors

PhysicalDeviceComputeShaderDerivativesPropertiesKHR 

Fields

  • meshAndTaskShaderDerivatives :: Bool

    meshAndTaskShaderDerivatives indicates whether the mesh and task shader stages support the ComputeDerivativeGroupQuadsKHR and ComputeDerivativeGroupLinearKHR SPIR-V capabilities.

Instances

Instances details
Eq PhysicalDeviceComputeShaderDerivativesPropertiesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_compute_shader_derivatives

Storable PhysicalDeviceComputeShaderDerivativesPropertiesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_compute_shader_derivatives

Show PhysicalDeviceComputeShaderDerivativesPropertiesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_compute_shader_derivatives

FromCStruct PhysicalDeviceComputeShaderDerivativesPropertiesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_compute_shader_derivatives

ToCStruct PhysicalDeviceComputeShaderDerivativesPropertiesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_compute_shader_derivatives

Zero PhysicalDeviceComputeShaderDerivativesPropertiesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_compute_shader_derivatives

type KHR_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME = "VK_KHR_compute_shader_derivatives" Source #