vulkan-3.26.1: Bindings to the Vulkan graphics API.
Safe HaskellSafe-Inferred
LanguageHaskell2010

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
Not ratified
Extension and Version Dependencies
VK_KHR_get_physical_device_properties2
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

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

PhysicalDeviceSubpassMergeFeedbackFeaturesEXT, RenderPassCreationControlEXT, RenderPassCreationFeedbackCreateInfoEXT, RenderPassCreationFeedbackInfoEXT, RenderPassSubpassFeedbackCreateInfoEXT, RenderPassSubpassFeedbackInfoEXT, SubpassMergeStatusEXT

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

  • disallowMerging :: Bool

    disallowMerging is a boolean value indicating whether subpass merging will be disabled.

Instances

Instances details
Storable RenderPassCreationControlEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subpass_merge_feedback

Show RenderPassCreationControlEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subpass_merge_feedback

Eq RenderPassCreationControlEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subpass_merge_feedback

FromCStruct RenderPassCreationControlEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subpass_merge_feedback

ToCStruct RenderPassCreationControlEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subpass_merge_feedback

Zero RenderPassCreationControlEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subpass_merge_feedback

data RenderPassCreationFeedbackInfoEXT Source #

VkRenderPassCreationFeedbackInfoEXT - Feedback about the creation of a render pass

See Also

VK_EXT_subpass_merge_feedback, RenderPassCreationFeedbackCreateInfoEXT

Constructors

RenderPassCreationFeedbackInfoEXT 

Fields

Instances

Instances details
Storable RenderPassCreationFeedbackInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subpass_merge_feedback

Show RenderPassCreationFeedbackInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subpass_merge_feedback

Eq RenderPassCreationFeedbackInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subpass_merge_feedback

FromCStruct RenderPassCreationFeedbackInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subpass_merge_feedback

ToCStruct RenderPassCreationFeedbackInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subpass_merge_feedback

Zero RenderPassCreationFeedbackInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subpass_merge_feedback

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

Instances details
Storable RenderPassCreationFeedbackCreateInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subpass_merge_feedback

Show RenderPassCreationFeedbackCreateInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subpass_merge_feedback

Eq RenderPassCreationFeedbackCreateInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subpass_merge_feedback

FromCStruct RenderPassCreationFeedbackCreateInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subpass_merge_feedback

ToCStruct RenderPassCreationFeedbackCreateInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subpass_merge_feedback

Zero RenderPassCreationFeedbackCreateInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subpass_merge_feedback

data RenderPassSubpassFeedbackInfoEXT Source #

VkRenderPassSubpassFeedbackInfoEXT - Feedback about the creation of subpass

See Also

VK_EXT_subpass_merge_feedback, RenderPassSubpassFeedbackCreateInfoEXT, SubpassMergeStatusEXT

Constructors

RenderPassSubpassFeedbackInfoEXT 

Fields

Instances

Instances details
Storable RenderPassSubpassFeedbackInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subpass_merge_feedback

Show RenderPassSubpassFeedbackInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subpass_merge_feedback

FromCStruct RenderPassSubpassFeedbackInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subpass_merge_feedback

ToCStruct RenderPassSubpassFeedbackInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subpass_merge_feedback

Zero RenderPassSubpassFeedbackInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subpass_merge_feedback

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

Instances details
Storable RenderPassSubpassFeedbackCreateInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subpass_merge_feedback

Show RenderPassSubpassFeedbackCreateInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subpass_merge_feedback

Eq RenderPassSubpassFeedbackCreateInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subpass_merge_feedback

FromCStruct RenderPassSubpassFeedbackCreateInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subpass_merge_feedback

ToCStruct RenderPassSubpassFeedbackCreateInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subpass_merge_feedback

Zero RenderPassSubpassFeedbackCreateInfoEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subpass_merge_feedback

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

Valid Usage (Implicit)

See Also

VK_EXT_subpass_merge_feedback, Bool32, StructureType

Constructors

PhysicalDeviceSubpassMergeFeedbackFeaturesEXT 

Fields

  • subpassMergeFeedback :: Bool

    subpassMergeFeedback indicates whether the implementation supports feedback of subpass merging.

Instances

Instances details
Storable PhysicalDeviceSubpassMergeFeedbackFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subpass_merge_feedback

Show PhysicalDeviceSubpassMergeFeedbackFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subpass_merge_feedback

Eq PhysicalDeviceSubpassMergeFeedbackFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subpass_merge_feedback

FromCStruct PhysicalDeviceSubpassMergeFeedbackFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subpass_merge_feedback

ToCStruct PhysicalDeviceSubpassMergeFeedbackFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subpass_merge_feedback

Zero PhysicalDeviceSubpassMergeFeedbackFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subpass_merge_feedback

newtype SubpassMergeStatusEXT Source #

VkSubpassMergeStatusEXT - Specify a subpass merging status

See Also

VK_EXT_subpass_merge_feedback, RenderPassSubpassFeedbackInfoEXT

Bundled Patterns

pattern SUBPASS_MERGE_STATUS_MERGED_EXT :: SubpassMergeStatusEXT

SUBPASS_MERGE_STATUS_MERGED_EXT specifies the subpass is merged with a previous subpass.

pattern SUBPASS_MERGE_STATUS_DISALLOWED_EXT :: SubpassMergeStatusEXT

SUBPASS_MERGE_STATUS_DISALLOWED_EXT specifies the subpass is disallowed to merge with previous subpass. 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.

pattern SUBPASS_MERGE_STATUS_NOT_MERGED_SIDE_EFFECTS_EXT :: SubpassMergeStatusEXT

SUBPASS_MERGE_STATUS_NOT_MERGED_SIDE_EFFECTS_EXT specifies the subpass is not merged because it contains side effects.

pattern SUBPASS_MERGE_STATUS_NOT_MERGED_SAMPLES_MISMATCH_EXT :: SubpassMergeStatusEXT

SUBPASS_MERGE_STATUS_NOT_MERGED_SAMPLES_MISMATCH_EXT specifies the subpass is not merged because sample count is not compatible with previous subpass.

pattern SUBPASS_MERGE_STATUS_NOT_MERGED_VIEWS_MISMATCH_EXT :: SubpassMergeStatusEXT

SUBPASS_MERGE_STATUS_NOT_MERGED_VIEWS_MISMATCH_EXT specifies the subpass is not merged because view masks do not match with previous subpass.

pattern SUBPASS_MERGE_STATUS_NOT_MERGED_ALIASING_EXT :: SubpassMergeStatusEXT

SUBPASS_MERGE_STATUS_NOT_MERGED_ALIASING_EXT specifies the subpass is not merged because of attachments aliasing between them.

pattern SUBPASS_MERGE_STATUS_NOT_MERGED_DEPENDENCIES_EXT :: SubpassMergeStatusEXT

SUBPASS_MERGE_STATUS_NOT_MERGED_DEPENDENCIES_EXT specifies the subpass is not merged because subpass dependencies do not allow merging.

pattern SUBPASS_MERGE_STATUS_NOT_MERGED_INCOMPATIBLE_INPUT_ATTACHMENT_EXT :: SubpassMergeStatusEXT

SUBPASS_MERGE_STATUS_NOT_MERGED_INCOMPATIBLE_INPUT_ATTACHMENT_EXT specifies the subpass is not merged because input attachment is not a color attachment from previous subpass or the formats are incompatible.

pattern SUBPASS_MERGE_STATUS_NOT_MERGED_TOO_MANY_ATTACHMENTS_EXT :: SubpassMergeStatusEXT

SUBPASS_MERGE_STATUS_NOT_MERGED_TOO_MANY_ATTACHMENTS_EXT specifies the subpass is not merged because of too many attachments.

pattern SUBPASS_MERGE_STATUS_NOT_MERGED_INSUFFICIENT_STORAGE_EXT :: SubpassMergeStatusEXT

SUBPASS_MERGE_STATUS_NOT_MERGED_INSUFFICIENT_STORAGE_EXT specifies the subpass is not merged because of insufficient memory.

pattern SUBPASS_MERGE_STATUS_NOT_MERGED_DEPTH_STENCIL_COUNT_EXT :: SubpassMergeStatusEXT

SUBPASS_MERGE_STATUS_NOT_MERGED_DEPTH_STENCIL_COUNT_EXT specifies the subpass is not merged because of too many depth/stencil attachments.

pattern SUBPASS_MERGE_STATUS_NOT_MERGED_RESOLVE_ATTACHMENT_REUSE_EXT :: SubpassMergeStatusEXT

SUBPASS_MERGE_STATUS_NOT_MERGED_RESOLVE_ATTACHMENT_REUSE_EXT specifies the subpass is not merged because a resolve attachment is reused as an input attachment in a subsequent subpass.

pattern SUBPASS_MERGE_STATUS_NOT_MERGED_SINGLE_SUBPASS_EXT :: SubpassMergeStatusEXT

SUBPASS_MERGE_STATUS_NOT_MERGED_SINGLE_SUBPASS_EXT specifies the subpass is not merged because the render pass has only one subpass.

pattern SUBPASS_MERGE_STATUS_NOT_MERGED_UNSPECIFIED_EXT :: SubpassMergeStatusEXT

SUBPASS_MERGE_STATUS_NOT_MERGED_UNSPECIFIED_EXT specifies other reasons why subpass is not merged. It is also the recommended default value that should be reported when a subpass is not merged and when no other value is appropriate.

Instances

Instances details
Storable SubpassMergeStatusEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subpass_merge_feedback

Read SubpassMergeStatusEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subpass_merge_feedback

Show SubpassMergeStatusEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subpass_merge_feedback

Eq SubpassMergeStatusEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subpass_merge_feedback

Ord SubpassMergeStatusEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subpass_merge_feedback

Zero SubpassMergeStatusEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_subpass_merge_feedback

type EXT_SUBPASS_MERGE_FEEDBACK_EXTENSION_NAME = "VK_EXT_subpass_merge_feedback" Source #