| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
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
Extending
PhysicalDeviceFeatures2,DeviceCreateInfo:
New Enum Constants
KHR_DYNAMIC_RENDERING_LOCAL_READ_SPEC_VERSIONExtending
ImageLayout:Extending
StructureType:
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
- cmdSetRenderingAttachmentLocationsKHR :: forall io. MonadIO io => CommandBuffer -> RenderingAttachmentLocationInfoKHR -> io ()
- cmdSetRenderingInputAttachmentIndicesKHR :: forall io. MonadIO io => CommandBuffer -> RenderingInputAttachmentIndexInfoKHR -> io ()
- data PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR = PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR {}
- data RenderingAttachmentLocationInfoKHR = RenderingAttachmentLocationInfoKHR {}
- data RenderingInputAttachmentIndexInfoKHR = RenderingInputAttachmentIndexInfoKHR {}
- type KHR_DYNAMIC_RENDERING_LOCAL_READ_SPEC_VERSION = 1
- pattern KHR_DYNAMIC_RENDERING_LOCAL_READ_SPEC_VERSION :: forall a. Integral a => a
- type KHR_DYNAMIC_RENDERING_LOCAL_READ_EXTENSION_NAME = "VK_KHR_dynamic_rendering_local_read"
- pattern KHR_DYNAMIC_RENDERING_LOCAL_READ_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
Documentation
cmdSetRenderingAttachmentLocationsKHR Source #
Arguments
| :: forall io. MonadIO io | |
| => CommandBuffer |
|
| -> RenderingAttachmentLocationInfoKHR |
|
| -> 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
- dynamicRenderingLocalRead must be enabled
-
pLocationInfo->colorAttachmentCountmust be equal to the value ofRenderingInfo::colorAttachmentCountused to begin the current render pass instance -
The current render pass instance must have been started or resumed
by
cmdBeginRenderingin thiscommandBuffer
Valid Usage (Implicit)
-
commandBuffermust be a validCommandBufferhandle
-
pLocationInfomust be a valid pointer to a validRenderingAttachmentLocationInfoKHRstructure -
commandBuffermust be in the recording state -
The
CommandPoolthatcommandBufferwas 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
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Video Coding Scope | Supported Queue Types | Command Type |
|---|---|---|---|---|
| Primary Secondary | Inside | Outside | Graphics | State |
See Also
VK_KHR_dynamic_rendering_local_read,
CommandBuffer,
RenderingAttachmentLocationInfoKHR
cmdSetRenderingInputAttachmentIndicesKHR Source #
Arguments
| :: forall io. MonadIO io | |
| => CommandBuffer |
|
| -> RenderingInputAttachmentIndexInfoKHR |
|
| -> 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
- dynamicRenderingLocalRead must be enabled
-
pInputAttachmentIndexInfo->colorAttachmentCountmust be equal to the value ofRenderingInfo::colorAttachmentCountused to begin the current render pass instance -
The current render pass instance must have been started or resumed
by
cmdBeginRenderingin thiscommandBuffer
Valid Usage (Implicit)
-
commandBuffermust be a validCommandBufferhandle
-
pInputAttachmentIndexInfomust be a valid pointer to a validRenderingInputAttachmentIndexInfoKHRstructure -
commandBuffermust be in the recording state -
The
CommandPoolthatcommandBufferwas 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
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Video Coding Scope | Supported Queue Types | Command Type |
|---|---|---|---|---|
| Primary Secondary | Inside | 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
Constructors
| PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR | |
Fields
| |
Instances
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:
colorAttachmentCountset toPipelineRenderingCreateInfo::colorAttachmentCount.pColorAttachmentLocationsset toNULL.
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:
colorAttachmentCountset toCommandBufferInheritanceRenderingInfo::colorAttachmentCount.pColorAttachmentLocationsset toNULL.
Valid Usage
-
If the
dynamicRenderingLocalRead
feature is not enabled, and
pColorAttachmentLocationsis notNULL, each element must be the value of its index within the array
-
Elements of
pColorAttachmentLocationsthat are notATTACHMENT_UNUSEDmust each be unique -
colorAttachmentCountmust be less than or equal to maxColorAttachments -
Each element of
pColorAttachmentLocationsmust be less than maxColorAttachments
Valid Usage (Implicit)
-
sTypemust beSTRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR
See Also
VK_KHR_dynamic_rendering_local_read,
StructureType,
cmdSetRenderingAttachmentLocationsKHR
Constructors
| RenderingAttachmentLocationInfoKHR | |
Fields
| |
Instances
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:
colorAttachmentCountset toPipelineRenderingCreateInfo::colorAttachmentCount.pColorAttachmentInputIndicesset toNULL.pDepthInputAttachmentIndexset toNULL.pStencilInputAttachmentIndexset toNULL.
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:
colorAttachmentCountset toCommandBufferInheritanceRenderingInfo::colorAttachmentCount.pColorAttachmentInputIndicesset toNULL.pDepthInputAttachmentIndexset toNULL.pStencilInputAttachmentIndexset toNULL.
Valid Usage
-
If the
dynamicRenderingLocalRead
feature is not enabled, and
pColorAttachmentInputIndicesis notNULL, each element must beATTACHMENT_UNUSED
-
If the
dynamicRenderingLocalRead
feature is not enabled,
pDepthInputAttachmentIndexmust be a valid pointer to a value ofATTACHMENT_UNUSED -
If the
dynamicRenderingLocalRead
feature is not enabled,
pStencilInputAttachmentIndexmust be a valid pointer to a value ofATTACHMENT_UNUSED -
Elements of
pColorAttachmentInputIndicesthat are notATTACHMENT_UNUSEDmust each be unique -
Elements of
pColorAttachmentInputIndicesthat are notATTACHMENT_UNUSEDmust not take the same value as the content ofpDepthInputAttachmentIndex -
Elements of
pColorAttachmentInputIndicesthat are notATTACHMENT_UNUSEDmust not take the same value as the content ofpStencilInputAttachmentIndex -
colorAttachmentCountmust be less than or equal to maxColorAttachments
Valid Usage (Implicit)
-
sTypemust beSTRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR
-
If
colorAttachmentCountis not0, andpColorAttachmentInputIndicesis notNULL,pColorAttachmentInputIndicesmust be a valid pointer to an array ofcolorAttachmentCountuint32_tvalues -
If
pDepthInputAttachmentIndexis notNULL,pDepthInputAttachmentIndexmust be a valid pointer to a validuint32_tvalue -
If
pStencilInputAttachmentIndexis notNULL,pStencilInputAttachmentIndexmust be a valid pointer to a validuint32_tvalue
See Also
VK_KHR_dynamic_rendering_local_read,
StructureType,
cmdSetRenderingInputAttachmentIndicesKHR
Constructors
| RenderingInputAttachmentIndexInfoKHR | |
Fields
| |
Instances
pattern KHR_DYNAMIC_RENDERING_LOCAL_READ_SPEC_VERSION :: forall a. Integral a => a Source #
type KHR_DYNAMIC_RENDERING_LOCAL_READ_EXTENSION_NAME = "VK_KHR_dynamic_rendering_local_read" Source #
pattern KHR_DYNAMIC_RENDERING_LOCAL_READ_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #