| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Vulkan.Extensions.VK_EXT_subpass_merge_feedback
Description
Name
VK_EXT_subpass_merge_feedback - device extension
VK_EXT_subpass_merge_feedback
- Name String
VK_EXT_subpass_merge_feedback
- Extension Type
- Device extension
- Registered Extension Number
- 459
- Revision
- 2
- Ratification Status
- Ratified
- Extension and Version Dependencies
- VK_KHR_get_physical_device_properties2 or Vulkan Version 1.1
- Contact
- Extension Proposal
- VK_EXT_subpass_merge_feedback
Other Extension Metadata
- Last Modified Date
- 2022-05-24
- IP Status
- No known IP claims.
- Contributors
- Jan-Harald Fredriksen, Arm
- Jorg Wagner, Arm
- Ting Wei, Arm
Description
This extension adds a mechanism to provide feedback to an application about whether the subpasses specified on render pass creation are merged by the implementation. Additionally, it provides a control to enable or disable subpass merging in the render pass.
New Structures
RenderPassSubpassFeedbackInfoEXTExtending
PhysicalDeviceFeatures2,DeviceCreateInfo:Extending
RenderPassCreateInfo2:Extending
RenderPassCreateInfo2,SubpassDescription2:Extending
SubpassDescription2:
New Enums
New Enum Constants
Version History
Revision 1, 2022-03-10
- Initial draft.
Revision 2, 2022-05-24
- Fix structextends and constness issues.
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
- data RenderPassCreationControlEXT = RenderPassCreationControlEXT {}
- data RenderPassCreationFeedbackInfoEXT = RenderPassCreationFeedbackInfoEXT {}
- data RenderPassCreationFeedbackCreateInfoEXT = RenderPassCreationFeedbackCreateInfoEXT {}
- data RenderPassSubpassFeedbackInfoEXT = RenderPassSubpassFeedbackInfoEXT {}
- data RenderPassSubpassFeedbackCreateInfoEXT = RenderPassSubpassFeedbackCreateInfoEXT {}
- data PhysicalDeviceSubpassMergeFeedbackFeaturesEXT = PhysicalDeviceSubpassMergeFeedbackFeaturesEXT {}
- newtype SubpassMergeStatusEXT where
- SubpassMergeStatusEXT Int32
- pattern SUBPASS_MERGE_STATUS_MERGED_EXT :: SubpassMergeStatusEXT
- pattern SUBPASS_MERGE_STATUS_DISALLOWED_EXT :: SubpassMergeStatusEXT
- pattern SUBPASS_MERGE_STATUS_NOT_MERGED_SIDE_EFFECTS_EXT :: SubpassMergeStatusEXT
- pattern SUBPASS_MERGE_STATUS_NOT_MERGED_SAMPLES_MISMATCH_EXT :: SubpassMergeStatusEXT
- pattern SUBPASS_MERGE_STATUS_NOT_MERGED_VIEWS_MISMATCH_EXT :: SubpassMergeStatusEXT
- pattern SUBPASS_MERGE_STATUS_NOT_MERGED_ALIASING_EXT :: SubpassMergeStatusEXT
- pattern SUBPASS_MERGE_STATUS_NOT_MERGED_DEPENDENCIES_EXT :: SubpassMergeStatusEXT
- pattern SUBPASS_MERGE_STATUS_NOT_MERGED_INCOMPATIBLE_INPUT_ATTACHMENT_EXT :: SubpassMergeStatusEXT
- pattern SUBPASS_MERGE_STATUS_NOT_MERGED_TOO_MANY_ATTACHMENTS_EXT :: SubpassMergeStatusEXT
- pattern SUBPASS_MERGE_STATUS_NOT_MERGED_INSUFFICIENT_STORAGE_EXT :: SubpassMergeStatusEXT
- pattern SUBPASS_MERGE_STATUS_NOT_MERGED_DEPTH_STENCIL_COUNT_EXT :: SubpassMergeStatusEXT
- pattern SUBPASS_MERGE_STATUS_NOT_MERGED_RESOLVE_ATTACHMENT_REUSE_EXT :: SubpassMergeStatusEXT
- pattern SUBPASS_MERGE_STATUS_NOT_MERGED_SINGLE_SUBPASS_EXT :: SubpassMergeStatusEXT
- pattern SUBPASS_MERGE_STATUS_NOT_MERGED_UNSPECIFIED_EXT :: SubpassMergeStatusEXT
- type EXT_SUBPASS_MERGE_FEEDBACK_SPEC_VERSION = 2
- pattern EXT_SUBPASS_MERGE_FEEDBACK_SPEC_VERSION :: Integral a => a
- type EXT_SUBPASS_MERGE_FEEDBACK_EXTENSION_NAME = "VK_EXT_subpass_merge_feedback"
- pattern EXT_SUBPASS_MERGE_FEEDBACK_EXTENSION_NAME :: (Eq a, IsString a) => a
Documentation
data RenderPassCreationControlEXT Source #
VkRenderPassCreationControlEXT - Control about the creation of render pass or subpass
Description
If a RenderPassCreationControlEXT structure is included in the pNext
chain of
RenderPassCreateInfo2
and its value of disallowMerging is
TRUE, the implementation will disable
subpass merging for the entire render pass. If a
RenderPassCreationControlEXT structure is included in the pNext
chain of
SubpassDescription2
and its value of disallowMerging is
TRUE, the implementation will disable
merging the described subpass with previous subpasses in the render
pass.
Valid Usage (Implicit)
See Also
VK_EXT_subpass_merge_feedback,
Bool32,
RenderPassCreateInfo2,
StructureType,
SubpassDescription2,
createRenderPass2
Constructors
| RenderPassCreationControlEXT | |
Fields
| |
Instances
data RenderPassCreationFeedbackInfoEXT Source #
VkRenderPassCreationFeedbackInfoEXT - Feedback about the creation of a render pass
See Also
VK_EXT_subpass_merge_feedback,
RenderPassCreationFeedbackCreateInfoEXT
Constructors
| RenderPassCreationFeedbackInfoEXT | |
Fields
| |
Instances
data RenderPassCreationFeedbackCreateInfoEXT Source #
VkRenderPassCreationFeedbackCreateInfoEXT - Request feedback about the creation of render pass
Valid Usage (Implicit)
See Also
VK_EXT_subpass_merge_feedback,
RenderPassCreateInfo2,
RenderPassCreationControlEXT, RenderPassCreationFeedbackInfoEXT,
StructureType,
createRenderPass2
Constructors
| RenderPassCreationFeedbackCreateInfoEXT | |
Fields
| |
Instances
data RenderPassSubpassFeedbackInfoEXT Source #
VkRenderPassSubpassFeedbackInfoEXT - Feedback about the creation of subpass
See Also
VK_EXT_subpass_merge_feedback,
RenderPassSubpassFeedbackCreateInfoEXT, SubpassMergeStatusEXT
Constructors
| RenderPassSubpassFeedbackInfoEXT | |
Fields
| |
Instances
data RenderPassSubpassFeedbackCreateInfoEXT Source #
VkRenderPassSubpassFeedbackCreateInfoEXT - Request for feedback about the creation of subpass
Valid Usage (Implicit)
See Also
VK_EXT_subpass_merge_feedback,
RenderPassCreateInfo2,
RenderPassCreationControlEXT, RenderPassSubpassFeedbackInfoEXT,
StructureType,
SubpassDescription2,
createRenderPass2
Constructors
| RenderPassSubpassFeedbackCreateInfoEXT | |
Fields
| |
Instances
data PhysicalDeviceSubpassMergeFeedbackFeaturesEXT Source #
VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT - Structure describing whether subpass merging feedback can be supported by the implementation
Members
This structure describes the following feature:
Description
If the PhysicalDeviceSubpassMergeFeedbackFeaturesEXT 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
PhysicalDeviceSubpassMergeFeedbackFeaturesEXT, 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
Constructors
| PhysicalDeviceSubpassMergeFeedbackFeaturesEXT | |
Fields | |
Instances
newtype SubpassMergeStatusEXT Source #
VkSubpassMergeStatusEXT - Specify a subpass merging status
Description
SUBPASS_MERGE_STATUS_MERGED_EXTspecifies that the subpass is merged with a previous subpass.
SUBPASS_MERGE_STATUS_DISALLOWED_EXTspecifies that the subpass is not merged because merging was disabled usingRenderPassCreationControlEXT. If the render pass does not allow subpass merging, then all subpass statuses are set to this value. If a subpass description does not allow subpass merging, then only that subpass’s status is set to this value.SUBPASS_MERGE_STATUS_NOT_MERGED_SIDE_EFFECTS_EXTspecifies that the subpass is not merged because it contains side effects.SUBPASS_MERGE_STATUS_NOT_MERGED_SAMPLES_MISMATCH_EXTspecifies that the subpass is not merged because sample count is not compatible with the previous subpass.SUBPASS_MERGE_STATUS_NOT_MERGED_VIEWS_MISMATCH_EXTspecifies that the subpass is not merged because view masks do not match with previous subpass.SUBPASS_MERGE_STATUS_NOT_MERGED_ALIASING_EXTspecifies that the subpass is not merged because of attachments aliasing between them.SUBPASS_MERGE_STATUS_NOT_MERGED_DEPENDENCIES_EXTspecifies that the subpass is not merged because subpass dependencies do not allow merging.SUBPASS_MERGE_STATUS_NOT_MERGED_INCOMPATIBLE_INPUT_ATTACHMENT_EXTspecifies that the subpass is not merged because input attachment is not a color attachment from previous subpass or the formats are incompatible.SUBPASS_MERGE_STATUS_NOT_MERGED_TOO_MANY_ATTACHMENTS_EXTspecifies that the subpass is not merged because of too many attachments.SUBPASS_MERGE_STATUS_NOT_MERGED_INSUFFICIENT_STORAGE_EXTspecifies that the subpass is not merged because of insufficient memory.SUBPASS_MERGE_STATUS_NOT_MERGED_DEPTH_STENCIL_COUNT_EXTspecifies that the subpass is not merged because of too many depth/stencil attachments.SUBPASS_MERGE_STATUS_NOT_MERGED_RESOLVE_ATTACHMENT_REUSE_EXTspecifies that the subpass is not merged because a resolve attachment is reused as an input attachment in a subsequent subpass.SUBPASS_MERGE_STATUS_NOT_MERGED_SINGLE_SUBPASS_EXTspecifies that the subpass is not merged because the render pass has only one subpass.SUBPASS_MERGE_STATUS_NOT_MERGED_UNSPECIFIED_EXTspecifies that the subpass is not merged for unspecified reasons. Implementations should return this value when no otherSubpassMergeStatusEXTvalue is appropriate.
See Also
VK_EXT_subpass_merge_feedback,
RenderPassSubpassFeedbackInfoEXT
Constructors
| SubpassMergeStatusEXT Int32 |
Bundled Patterns
Instances
pattern EXT_SUBPASS_MERGE_FEEDBACK_SPEC_VERSION :: Integral a => a Source #
type EXT_SUBPASS_MERGE_FEEDBACK_EXTENSION_NAME = "VK_EXT_subpass_merge_feedback" Source #
pattern EXT_SUBPASS_MERGE_FEEDBACK_EXTENSION_NAME :: (Eq a, IsString a) => a Source #