vulkan-2.0.0.1: Bindings to the Vulkan graphics API.

Safe HaskellNone
LanguageHaskell2010

Graphics.Vulkan.Extensions.VK_EXT_blend_operation_advanced

Synopsis

Documentation

newtype VkBlendOverlapEXT Source #

VkBlendOverlapEXT - Enumerant specifying the blend overlap parameter

Description

  • VK_BLEND_OVERLAP_UNCORRELATED_EXT specifies that there is no correlation between the source and destination coverage.
  • VK_BLEND_OVERLAP_CONJOINT_EXT specifies that the source and destination coverage are considered to have maximal overlap.
  • VK_BLEND_OVERLAP_DISJOINT_EXT specifies that the source and destination coverage are considered to have minimal overlap.
Overlap Mode Weighting Equations
VK_BLEND_OVERLAP_UNCORRELATED_EXT \[ \begin{aligned} p_0(A_s,A_d) & = A_sA_d \\ p_1(A_s,A_d) & = A_s(1-A_d) \\ p_2(A_s,A_d) & = A_d(1-A_s) \\ \end{aligned}\]
VK_BLEND_OVERLAP_CONJOINT_EXT \[ \begin{aligned} p_0(A_s,A_d) & = min(A_s,A_d) \\ p_1(A_s,A_d) & = max(A_s-A_d,0) \\ p_2(A_s,A_d) & = max(A_d-A_s,0) \\ \end{aligned}\]
VK_BLEND_OVERLAP_DISJOINT_EXT \[ \begin{aligned} p_0(A_s,A_d) & = max(A_s+A_d-1,0) \\ p_1(A_s,A_d) & = min(A_s,1-A_d) \\ p_2(A_s,A_d) & = min(A_d,1-A_s) \\ \end{aligned}\]

Advanced Blend Overlap Modes

See Also

VkPipelineColorBlendAdvancedStateCreateInfoEXT

Constructors

VkBlendOverlapEXT Int32 
Instances
Eq VkBlendOverlapEXT Source # 
Instance details
Ord VkBlendOverlapEXT Source # 
Instance details
Read VkBlendOverlapEXT Source # 
Instance details
Show VkBlendOverlapEXT Source # 
Instance details
Storable VkBlendOverlapEXT Source # 
Instance details

data VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT Source #

VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT - Structure describing advanced blending features that can be supported by an implementation

Members

The members of the VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT structure describe the following features:

Description

  • advancedBlendCoherentOperations specifies whether blending using advanced blend operations is guaranteed to execute atomically and in primitive order. If this is VK_TRUE, VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT is treated the same as VK_ACCESS_COLOR_ATTACHMENT_READ_BIT, and advanced blending needs no additional synchronization over basic blending. If this is VK_FALSE, then memory dependencies are required to guarantee order between two advanced blending operations that occur on the same sample.

If the VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT structure is included in the pNext chain of VkPhysicalDeviceFeatures2, it is filled with values indicating whether each feature is supported. VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT can also be used in pNext chain of VkDeviceCreateInfo to enable the features.

Valid Usage (Implicit)

  • sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT

See Also

VkBool32, VkStructureType

Instances
Eq VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT Source # 
Instance details
Show VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT Source # 
Instance details
Storable VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT Source # 
Instance details

data VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT Source #

VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT - Structure describing advanced blending limits that can be supported by an implementation

Members

The members of the VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT structure describe the following implementation-dependent limits:

Description

  • advancedBlendMaxColorAttachments is one greater than the highest color attachment index that can be used in a subpass, for a pipeline that uses an advanced blend operation.
  • advancedBlendIndependentBlend specifies whether advanced blend operations can vary per-attachment.
  • advancedBlendNonPremultipliedSrcColor specifies whether the source color can be treated as non-premultiplied. If this is VK_FALSE, then VkPipelineColorBlendAdvancedStateCreateInfoEXT::srcPremultiplied must be VK_TRUE.
  • advancedBlendNonPremultipliedDstColor specifies whether the destination color can be treated as non-premultiplied. If this is VK_FALSE, then VkPipelineColorBlendAdvancedStateCreateInfoEXT::dstPremultiplied must be VK_TRUE.
  • advancedBlendCorrelatedOverlap specifies whether the overlap mode can be treated as correlated. If this is VK_FALSE, then VkPipelineColorBlendAdvancedStateCreateInfoEXT::blendOverlap must be VK_BLEND_OVERLAP_UNCORRELATED_EXT.
  • advancedBlendAllOperations specifies whether all advanced blend operation enums are supported. See the valid usage of VkPipelineColorBlendAttachmentState.

Valid Usage (Implicit)

  • sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT

If the VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT structure is included in the pNext chain of VkPhysicalDeviceProperties2, it is filled with the implementation-dependent limits.

See Also

VkBool32, VkStructureType

Instances
Eq VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT Source # 
Instance details
Show VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT Source # 
Instance details
Storable VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT Source # 
Instance details

data VkPipelineColorBlendAdvancedStateCreateInfoEXT Source #

VkPipelineColorBlendAdvancedStateCreateInfoEXT - Structure specifying parameters that affect advanced blend operations

Description

If this structure is not present, srcPremultiplied and dstPremultiplied are both considered to be VK_TRUE, and blendOverlap is considered to be VK_BLEND_OVERLAP_UNCORRELATED_EXT.

Valid Usage

Valid Usage (Implicit)

  • sType must be VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT

See Also

VkBlendOverlapEXT, VkBool32, VkStructureType

Constructors

VkPipelineColorBlendAdvancedStateCreateInfoEXT 

Fields

Instances
Eq VkPipelineColorBlendAdvancedStateCreateInfoEXT Source # 
Instance details
Show VkPipelineColorBlendAdvancedStateCreateInfoEXT Source # 
Instance details
Storable VkPipelineColorBlendAdvancedStateCreateInfoEXT Source # 
Instance details