Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- newtype VkBlendOverlapEXT = VkBlendOverlapEXT Int32
- pattern VK_BLEND_OVERLAP_UNCORRELATED_EXT :: VkBlendOverlapEXT
- pattern VK_BLEND_OVERLAP_DISJOINT_EXT :: VkBlendOverlapEXT
- pattern VK_BLEND_OVERLAP_CONJOINT_EXT :: VkBlendOverlapEXT
- pattern VK_BLEND_OP_ZERO_EXT :: VkBlendOp
- pattern VK_BLEND_OP_SRC_EXT :: VkBlendOp
- pattern VK_BLEND_OP_DST_EXT :: VkBlendOp
- pattern VK_BLEND_OP_SRC_OVER_EXT :: VkBlendOp
- pattern VK_BLEND_OP_DST_OVER_EXT :: VkBlendOp
- pattern VK_BLEND_OP_SRC_IN_EXT :: VkBlendOp
- pattern VK_BLEND_OP_DST_IN_EXT :: VkBlendOp
- pattern VK_BLEND_OP_SRC_OUT_EXT :: VkBlendOp
- pattern VK_BLEND_OP_DST_OUT_EXT :: VkBlendOp
- pattern VK_BLEND_OP_SRC_ATOP_EXT :: VkBlendOp
- pattern VK_BLEND_OP_DST_ATOP_EXT :: VkBlendOp
- pattern VK_BLEND_OP_XOR_EXT :: VkBlendOp
- pattern VK_BLEND_OP_MULTIPLY_EXT :: VkBlendOp
- pattern VK_BLEND_OP_SCREEN_EXT :: VkBlendOp
- pattern VK_BLEND_OP_OVERLAY_EXT :: VkBlendOp
- pattern VK_BLEND_OP_DARKEN_EXT :: VkBlendOp
- pattern VK_BLEND_OP_LIGHTEN_EXT :: VkBlendOp
- pattern VK_BLEND_OP_COLORDODGE_EXT :: VkBlendOp
- pattern VK_BLEND_OP_COLORBURN_EXT :: VkBlendOp
- pattern VK_BLEND_OP_HARDLIGHT_EXT :: VkBlendOp
- pattern VK_BLEND_OP_SOFTLIGHT_EXT :: VkBlendOp
- pattern VK_BLEND_OP_DIFFERENCE_EXT :: VkBlendOp
- pattern VK_BLEND_OP_EXCLUSION_EXT :: VkBlendOp
- pattern VK_BLEND_OP_INVERT_EXT :: VkBlendOp
- pattern VK_BLEND_OP_INVERT_RGB_EXT :: VkBlendOp
- pattern VK_BLEND_OP_LINEARDODGE_EXT :: VkBlendOp
- pattern VK_BLEND_OP_LINEARBURN_EXT :: VkBlendOp
- pattern VK_BLEND_OP_VIVIDLIGHT_EXT :: VkBlendOp
- pattern VK_BLEND_OP_LINEARLIGHT_EXT :: VkBlendOp
- pattern VK_BLEND_OP_PINLIGHT_EXT :: VkBlendOp
- pattern VK_BLEND_OP_HARDMIX_EXT :: VkBlendOp
- pattern VK_BLEND_OP_HSL_HUE_EXT :: VkBlendOp
- pattern VK_BLEND_OP_HSL_SATURATION_EXT :: VkBlendOp
- pattern VK_BLEND_OP_HSL_COLOR_EXT :: VkBlendOp
- pattern VK_BLEND_OP_HSL_LUMINOSITY_EXT :: VkBlendOp
- pattern VK_BLEND_OP_PLUS_EXT :: VkBlendOp
- pattern VK_BLEND_OP_PLUS_CLAMPED_EXT :: VkBlendOp
- pattern VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT :: VkBlendOp
- pattern VK_BLEND_OP_PLUS_DARKER_EXT :: VkBlendOp
- pattern VK_BLEND_OP_MINUS_EXT :: VkBlendOp
- pattern VK_BLEND_OP_MINUS_CLAMPED_EXT :: VkBlendOp
- pattern VK_BLEND_OP_CONTRAST_EXT :: VkBlendOp
- pattern VK_BLEND_OP_INVERT_OVG_EXT :: VkBlendOp
- pattern VK_BLEND_OP_RED_EXT :: VkBlendOp
- pattern VK_BLEND_OP_GREEN_EXT :: VkBlendOp
- pattern VK_BLEND_OP_BLUE_EXT :: VkBlendOp
- pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: VkStructureType
- pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: VkStructureType
- pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: VkStructureType
- pattern VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT :: VkAccessFlagBits
- pattern VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION :: Integral a => a
- pattern VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME :: (Eq a, IsString a) => a
- data VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT = VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {}
- data VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT = VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {
- vkSType :: VkStructureType
- vkPNext :: Ptr ()
- vkAdvancedBlendMaxColorAttachments :: Word32
- vkAdvancedBlendIndependentBlend :: VkBool32
- vkAdvancedBlendNonPremultipliedSrcColor :: VkBool32
- vkAdvancedBlendNonPremultipliedDstColor :: VkBool32
- vkAdvancedBlendCorrelatedOverlap :: VkBool32
- vkAdvancedBlendAllOperations :: VkBool32
- data VkPipelineColorBlendAdvancedStateCreateInfoEXT = VkPipelineColorBlendAdvancedStateCreateInfoEXT {}
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
Instances
pattern VK_BLEND_OVERLAP_DISJOINT_EXT :: VkBlendOverlapEXT Source #
pattern VK_BLEND_OVERLAP_CONJOINT_EXT :: VkBlendOverlapEXT Source #
pattern VK_BLEND_OP_ZERO_EXT :: VkBlendOp Source #
pattern VK_BLEND_OP_SRC_EXT :: VkBlendOp Source #
pattern VK_BLEND_OP_DST_EXT :: VkBlendOp Source #
pattern VK_BLEND_OP_SRC_OVER_EXT :: VkBlendOp Source #
pattern VK_BLEND_OP_DST_OVER_EXT :: VkBlendOp Source #
pattern VK_BLEND_OP_SRC_IN_EXT :: VkBlendOp Source #
pattern VK_BLEND_OP_DST_IN_EXT :: VkBlendOp Source #
pattern VK_BLEND_OP_SRC_OUT_EXT :: VkBlendOp Source #
pattern VK_BLEND_OP_DST_OUT_EXT :: VkBlendOp Source #
pattern VK_BLEND_OP_SRC_ATOP_EXT :: VkBlendOp Source #
pattern VK_BLEND_OP_DST_ATOP_EXT :: VkBlendOp Source #
pattern VK_BLEND_OP_XOR_EXT :: VkBlendOp Source #
pattern VK_BLEND_OP_MULTIPLY_EXT :: VkBlendOp Source #
pattern VK_BLEND_OP_SCREEN_EXT :: VkBlendOp Source #
pattern VK_BLEND_OP_OVERLAY_EXT :: VkBlendOp Source #
pattern VK_BLEND_OP_DARKEN_EXT :: VkBlendOp Source #
pattern VK_BLEND_OP_LIGHTEN_EXT :: VkBlendOp Source #
pattern VK_BLEND_OP_COLORDODGE_EXT :: VkBlendOp Source #
pattern VK_BLEND_OP_COLORBURN_EXT :: VkBlendOp Source #
pattern VK_BLEND_OP_HARDLIGHT_EXT :: VkBlendOp Source #
pattern VK_BLEND_OP_SOFTLIGHT_EXT :: VkBlendOp Source #
pattern VK_BLEND_OP_DIFFERENCE_EXT :: VkBlendOp Source #
pattern VK_BLEND_OP_EXCLUSION_EXT :: VkBlendOp Source #
pattern VK_BLEND_OP_INVERT_EXT :: VkBlendOp Source #
pattern VK_BLEND_OP_INVERT_RGB_EXT :: VkBlendOp Source #
pattern VK_BLEND_OP_LINEARDODGE_EXT :: VkBlendOp Source #
pattern VK_BLEND_OP_LINEARBURN_EXT :: VkBlendOp Source #
pattern VK_BLEND_OP_VIVIDLIGHT_EXT :: VkBlendOp Source #
pattern VK_BLEND_OP_LINEARLIGHT_EXT :: VkBlendOp Source #
pattern VK_BLEND_OP_PINLIGHT_EXT :: VkBlendOp Source #
pattern VK_BLEND_OP_HARDMIX_EXT :: VkBlendOp Source #
pattern VK_BLEND_OP_HSL_HUE_EXT :: VkBlendOp Source #
pattern VK_BLEND_OP_HSL_SATURATION_EXT :: VkBlendOp Source #
pattern VK_BLEND_OP_HSL_COLOR_EXT :: VkBlendOp Source #
pattern VK_BLEND_OP_HSL_LUMINOSITY_EXT :: VkBlendOp Source #
pattern VK_BLEND_OP_PLUS_EXT :: VkBlendOp Source #
pattern VK_BLEND_OP_PLUS_CLAMPED_EXT :: VkBlendOp Source #
pattern VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT :: VkBlendOp Source #
pattern VK_BLEND_OP_PLUS_DARKER_EXT :: VkBlendOp Source #
pattern VK_BLEND_OP_MINUS_EXT :: VkBlendOp Source #
pattern VK_BLEND_OP_MINUS_CLAMPED_EXT :: VkBlendOp Source #
pattern VK_BLEND_OP_CONTRAST_EXT :: VkBlendOp Source #
pattern VK_BLEND_OP_INVERT_OVG_EXT :: VkBlendOp Source #
pattern VK_BLEND_OP_RED_EXT :: VkBlendOp Source #
pattern VK_BLEND_OP_GREEN_EXT :: VkBlendOp Source #
pattern VK_BLEND_OP_BLUE_EXT :: VkBlendOp Source #
pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: VkStructureType Source #
pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: VkStructureType Source #
pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: VkStructureType Source #
pattern VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION :: Integral a => a Source #
pattern VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME :: (Eq a, IsString a) => a Source #
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 isVK_TRUE
,VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT
is treated the same asVK_ACCESS_COLOR_ATTACHMENT_READ_BIT
, and advanced blending needs no additional synchronization over basic blending. If this isVK_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 beVK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT
See Also
VkBool32
, VkStructureType
Instances
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 isVK_FALSE
, thenVkPipelineColorBlendAdvancedStateCreateInfoEXT
::srcPremultiplied
must beVK_TRUE
.advancedBlendNonPremultipliedDstColor
specifies whether the destination color can be treated as non-premultiplied. If this isVK_FALSE
, thenVkPipelineColorBlendAdvancedStateCreateInfoEXT
::dstPremultiplied
must beVK_TRUE
.advancedBlendCorrelatedOverlap
specifies whether the overlap mode can be treated as correlated. If this isVK_FALSE
, thenVkPipelineColorBlendAdvancedStateCreateInfoEXT
::blendOverlap
must beVK_BLEND_OVERLAP_UNCORRELATED_EXT
.advancedBlendAllOperations
specifies whether all advanced blend operation enums are supported. See the valid usage ofVkPipelineColorBlendAttachmentState
.
Valid Usage (Implicit)
sType
must beVK_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
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
- If the non-premultiplied source
color
property is not supported,
srcPremultiplied
must beVK_TRUE
- If the non-premultiplied destination
color
property is not supported,
dstPremultiplied
must beVK_TRUE
- If the correlated
overlap
property is not supported,
blendOverlap
must beVK_BLEND_OVERLAP_UNCORRELATED_EXT
Valid Usage (Implicit)
sType
must beVK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT
blendOverlap
must be a validVkBlendOverlapEXT
value
See Also
VkBlendOverlapEXT
, VkBool32
,
VkStructureType
VkPipelineColorBlendAdvancedStateCreateInfoEXT | |
|