vulkan
Safe HaskellSafe-Inferred
LanguageHaskell2010

Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read

Description

Name

VK_KHR_dynamic_rendering_local_read - device extension

VK_KHR_dynamic_rendering_local_read

Name String
VK_KHR_dynamic_rendering_local_read
Extension Type
Device extension
Registered Extension Number
233
Revision
1
Ratification Status
Ratified
Extension and Version Dependencies
VK_KHR_dynamic_rendering or Vulkan Version 1.3
Contact
Extension Proposal
VK_KHR_dynamic_rendering_local_read

Other Extension Metadata

Last Modified Date
2023-11-03
Contributors
  • Tobias Hector, AMD
  • Hans-Kristian Arntzen, Valve
  • Connor Abbott, Valve
  • Pan Gao, Huawei
  • Lionel Landwerlin, Intel
  • Shahbaz Youssefi, Google
  • Alyssa Rosenzweig, Valve
  • Jan-Harald Fredriksen, Arm
  • Mike Blumenkrantz, Valve
  • Graeme Leese, Broadcom
  • Piers Daniell, Nvidia
  • Stuart Smith, AMD
  • Daniel Story, Nintendo
  • James Fitzpatrick, Imagination
  • Piotr Byszewski, Mobica
  • Spencer Fricke, LunarG
  • Tom Olson, Arm
  • Michal Pietrasiuk, Intel
  • Matthew Netsch, Qualcomm
  • Marty Johnson, Khronos
  • Wyvern Wang, Huawei
  • Jeff Bolz, Nvidia
  • Samuel (Sheng-Wen) Huang, MediaTek

Description

This extension enables reads from attachments and resources written by previous fragment shaders within a dynamic render pass.

New Commands

New Structures

New Enum Constants

Version History

  • Revision 1, 2023-11-03 (Tobias Hector)

    • Initial revision

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

cmdSetRenderingAttachmentLocationsKHR Source #

Arguments

:: forall io. MonadIO io 
=> CommandBuffer

commandBuffer is the command buffer into which the command will be recorded.

-> RenderingAttachmentLocationInfoKHR

pLocationInfo is a RenderingAttachmentLocationInfoKHR structure indicating the new mappings.

-> io () 

vkCmdSetRenderingAttachmentLocationsKHR - Set color attachment location mappings for a command buffer

Description

This command sets the attachment location mappings for subsequent drawing commands, and must match the mappings provided to the bound pipeline, if one is bound, which can be set by chaining RenderingAttachmentLocationInfoKHR to GraphicsPipelineCreateInfo.

Until this command is called, mappings in the command buffer state are treated as each color attachment specified in cmdBeginRendering having a location equal to its index in RenderingInfo::pColorAttachments. This state is reset whenever cmdBeginRendering is called.

Valid Usage

  • pLocationInfo->colorAttachmentCount must be equal to the value of RenderingInfo::colorAttachmentCount used to begin the current render pass instance
  • The current render pass instance must have been started or resumed by cmdBeginRendering in this commandBuffer

Valid Usage (Implicit)

  • pLocationInfo must be a valid pointer to a valid RenderingAttachmentLocationInfoKHR structure
  • commandBuffer must be in the recording state
  • The CommandPool that commandBuffer was allocated from must support graphics operations
  • This command must only be called inside of a render pass instance
  • This command must only be called outside of a video coding scope

Host Synchronization

  • Host access to commandBuffer must be externally synchronized
  • Host access to the CommandPool that commandBuffer was allocated from must be externally synchronized

Command Properties

'

Command Buffer LevelsRender Pass ScopeVideo Coding ScopeSupported Queue TypesCommand Type
Primary SecondaryInside Outside Graphics State

See Also

VK_KHR_dynamic_rendering_local_read, CommandBuffer, RenderingAttachmentLocationInfoKHR

cmdSetRenderingInputAttachmentIndicesKHR Source #

Arguments

:: forall io. MonadIO io 
=> CommandBuffer

commandBuffer is the command buffer into which the command will be recorded.

-> RenderingInputAttachmentIndexInfoKHR

pInputAttachmentIndexInfo is a RenderingInputAttachmentIndexInfoKHR structure indicating the new mappings.

-> io () 

vkCmdSetRenderingInputAttachmentIndicesKHR - Set input attachment index mappings for a command buffer

Description

This command sets the input attachment index mappings for subsequent drawing commands, and must match the mappings provided to the bound pipeline, if one is bound, which can be set by chaining RenderingInputAttachmentIndexInfoKHR to GraphicsPipelineCreateInfo.

Until this command is called, mappings in the command buffer state are treated as each color attachment specified in cmdBeginRendering mapping to subpass inputs with a InputAttachmentIndex equal to its index in RenderingInfo::pColorAttachments, and depth/stencil attachments mapping to input attachments without these decorations. This state is reset whenever cmdBeginRendering is called.

Valid Usage

  • pInputAttachmentIndexInfo->colorAttachmentCount must be equal to the value of RenderingInfo::colorAttachmentCount used to begin the current render pass instance
  • The current render pass instance must have been started or resumed by cmdBeginRendering in this commandBuffer

Valid Usage (Implicit)

  • pInputAttachmentIndexInfo must be a valid pointer to a valid RenderingInputAttachmentIndexInfoKHR structure
  • commandBuffer must be in the recording state
  • The CommandPool that commandBuffer was allocated from must support graphics operations
  • This command must only be called inside of a render pass instance
  • This command must only be called outside of a video coding scope

Host Synchronization

  • Host access to commandBuffer must be externally synchronized
  • Host access to the CommandPool that commandBuffer was allocated from must be externally synchronized

Command Properties

'

Command Buffer LevelsRender Pass ScopeVideo Coding ScopeSupported Queue TypesCommand Type
Primary SecondaryInside Outside Graphics State

See Also

VK_KHR_dynamic_rendering_local_read, CommandBuffer, RenderingInputAttachmentIndexInfoKHR

data PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR Source #

VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR - Structure indicating support for local reads in dynamic render pass instances

Members

This structure describes the following feature:

Description

If the PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR 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. PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR can also be used in the pNext chain of DeviceCreateInfo to selectively enable these features.

Valid Usage (Implicit)

See Also

VK_KHR_dynamic_rendering_local_read, Bool32, StructureType

Constructors

PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR 

Fields

Instances

Instances details
Storable PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read

Show PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read

Eq PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read

FromCStruct PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read

ToCStruct PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read

Zero PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read

data RenderingAttachmentLocationInfoKHR Source #

VkRenderingAttachmentLocationInfoKHR - Structure specifying attachment locations

Description

This structure allows applications to remap the locations of color attachments to different fragment shader output locations.

Each element of pColorAttachmentLocations set to ATTACHMENT_UNUSED will be inaccessible to this pipeline as a color attachment; no location will map to it. Each element of pColorAttachmentLocations set to any other value will map the specified location value to the color attachment specified in the render pass at the corresponding index in the pColorAttachmentLocations array. Any writes to a fragment output location that is not mapped to an attachment must be discarded.

If pColorAttachmentLocations is NULL, it is equivalent to setting each element to its index within the array.

This structure can be included in the pNext chain of a GraphicsPipelineCreateInfo structure to set this state for a pipeline. If this structure is not included in the pNext chain of GraphicsPipelineCreateInfo, it is equivalent to specifying this structure with the following properties:

This structure can be included in the pNext chain of a CommandBufferInheritanceInfo structure to specify inherited state from the primary command buffer. If CommandBufferInheritanceInfo::renderPass is not NULL_HANDLE, or COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT is not specified in CommandBufferBeginInfo::flags, members of this structure are ignored. If this structure is not included in the pNext chain of CommandBufferInheritanceInfo, it is equivalent to specifying this structure with the following properties:

Valid Usage

  • If the dynamicRenderingLocalRead feature is not enabled, and pColorAttachmentLocations is not NULL, each element must be the value of its index within the array

Valid Usage (Implicit)

See Also

VK_KHR_dynamic_rendering_local_read, StructureType, cmdSetRenderingAttachmentLocationsKHR

Constructors

RenderingAttachmentLocationInfoKHR 

Fields

  • colorAttachmentLocations :: Vector Word32

    pColorAttachmentLocations is a pointer to an array of colorAttachmentCount uint32_t values defining remapped locations for color attachments.

data RenderingInputAttachmentIndexInfoKHR Source #

VkRenderingInputAttachmentIndexInfoKHR - Structure specifying input attachment indices

Description

This structure allows applications to remap attachments to different input attachment indices.

Each element of pColorAttachmentInputIndices set to a value of ATTACHMENT_UNUSED indicates that the corresponding attachment will not be used as an input attachment in this pipeline. Any other value in each of those elements will map the corresponding attachment to a InputAttachmentIndex value defined in shader code.

If pColorAttachmentInputIndices is NULL, it is equivalent to setting each element to its index within the array.

If pDepthInputAttachmentIndex or pStencilInputAttachmentIndex are set to NULL, they map to input attachments without a InputAttachmentIndex decoration. If they point to a value of ATTACHMENT_UNUSED, it indicates that the corresponding attachment will not be used as an input attachment in this pipeline. If they point to any other value it maps the corresponding attachment to a InputAttachmentIndex value defined in shader code.

This structure can be included in the pNext chain of a GraphicsPipelineCreateInfo structure to set this state for a pipeline. If this structure is not included in the pNext chain of GraphicsPipelineCreateInfo, it is equivalent to specifying this structure with the following properties:

  • colorAttachmentCount set to PipelineRenderingCreateInfo::colorAttachmentCount.
  • pColorAttachmentInputIndices set to NULL.
  • pDepthInputAttachmentIndex set to NULL.
  • pStencilInputAttachmentIndex set to NULL.

This structure can be included in the pNext chain of a CommandBufferInheritanceInfo structure to specify inherited state from the primary command buffer. If this structure is not included in the pNext chain of CommandBufferInheritanceInfo, it is equivalent to specifying this structure with the following properties:

  • colorAttachmentCount set to CommandBufferInheritanceRenderingInfo::colorAttachmentCount.
  • pColorAttachmentInputIndices set to NULL.
  • pDepthInputAttachmentIndex set to NULL.
  • pStencilInputAttachmentIndex set to NULL.

Valid Usage

Valid Usage (Implicit)

  • If colorAttachmentCount is not 0, and pColorAttachmentInputIndices is not NULL, pColorAttachmentInputIndices must be a valid pointer to an array of colorAttachmentCount uint32_t values
  • If pDepthInputAttachmentIndex is not NULL, pDepthInputAttachmentIndex must be a valid pointer to a valid uint32_t value
  • If pStencilInputAttachmentIndex is not NULL, pStencilInputAttachmentIndex must be a valid pointer to a valid uint32_t value

See Also

VK_KHR_dynamic_rendering_local_read, StructureType, cmdSetRenderingInputAttachmentIndicesKHR

Constructors

RenderingInputAttachmentIndexInfoKHR 

Fields

  • colorAttachmentCount :: Word32

    colorAttachmentCount is the number of elements in pColorAttachmentInputIndices.

  • colorAttachmentInputIndices :: Vector Word32

    pColorAttachmentInputIndices is a pointer to an array of colorAttachmentCount uint32_t values defining indices for color attachments to be used as input attachments.

  • depthInputAttachmentIndex :: Maybe Word32

    pDepthInputAttachmentIndex is either NULL, or a pointer to a uint32_t value defining the index for the depth attachment to be used as an input attachment.

  • stencilInputAttachmentIndex :: Maybe Word32

    pStencilInputAttachmentIndex is either NULL, or a pointer to a uint32_t value defining the index for the stencil attachment to be used as an input attachment.

type KHR_DYNAMIC_RENDERING_LOCAL_READ_EXTENSION_NAME = "VK_KHR_dynamic_rendering_local_read" Source #