{-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_EXT_blend_operation_advanced (-- * Vulkan extension: @VK_EXT_blend_operation_advanced@ -- | -- -- supported: @vulkan@ -- -- contact: @Jeff Bolz @jbolz@ -- -- author: @NV@ -- -- type: @device@ -- -- Extension number: @149@ module Graphics.Vulkan.Marshal, module Graphics.Vulkan.Types.Enum.VkBlendFactor, module Graphics.Vulkan.Types.Enum.VkBlendOp, module Graphics.Vulkan.Types.Enum.VkBlendOverlapEXT, module Graphics.Vulkan.Types.BaseTypes, module Graphics.Vulkan.Types.Enum.VkColorComponentFlags, module Graphics.Vulkan.Types.Bitmasks, module Graphics.Vulkan.Types.Struct.VkDeviceCreateInfo, module Graphics.Vulkan.Types.Enum.VkDeviceQueueCreateFlags, module Graphics.Vulkan.Types.Struct.VkDeviceQueueCreateInfo, module Graphics.Vulkan.Types.Enum.VkLogicOp, module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT, module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures, module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures2, module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits, module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties, module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2, module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties, module Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType, module Graphics.Vulkan.Types.Struct.VkPipelineColorBlendAdvancedStateCreateInfoEXT, module Graphics.Vulkan.Types.Struct.VkPipelineColorBlendAttachmentState, module Graphics.Vulkan.Types.Struct.VkPipelineColorBlendStateCreateInfo, module Graphics.Vulkan.Types.Enum.VkSampleCountFlags, module Graphics.Vulkan.Types.Enum.VkStructureType, -- > #include "vk_platform.h" VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION, pattern VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION, VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME, pattern VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME, pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT, pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT, pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT, pattern VK_BLEND_OP_ZERO_EXT, pattern VK_BLEND_OP_SRC_EXT, pattern VK_BLEND_OP_DST_EXT, pattern VK_BLEND_OP_SRC_OVER_EXT, pattern VK_BLEND_OP_DST_OVER_EXT, pattern VK_BLEND_OP_SRC_IN_EXT, pattern VK_BLEND_OP_DST_IN_EXT, pattern VK_BLEND_OP_SRC_OUT_EXT, pattern VK_BLEND_OP_DST_OUT_EXT, pattern VK_BLEND_OP_SRC_ATOP_EXT, pattern VK_BLEND_OP_DST_ATOP_EXT, pattern VK_BLEND_OP_XOR_EXT, pattern VK_BLEND_OP_MULTIPLY_EXT, pattern VK_BLEND_OP_SCREEN_EXT, pattern VK_BLEND_OP_OVERLAY_EXT, pattern VK_BLEND_OP_DARKEN_EXT, pattern VK_BLEND_OP_LIGHTEN_EXT, pattern VK_BLEND_OP_COLORDODGE_EXT, pattern VK_BLEND_OP_COLORBURN_EXT, pattern VK_BLEND_OP_HARDLIGHT_EXT, pattern VK_BLEND_OP_SOFTLIGHT_EXT, pattern VK_BLEND_OP_DIFFERENCE_EXT, pattern VK_BLEND_OP_EXCLUSION_EXT, pattern VK_BLEND_OP_INVERT_EXT, pattern VK_BLEND_OP_INVERT_RGB_EXT, pattern VK_BLEND_OP_LINEARDODGE_EXT, pattern VK_BLEND_OP_LINEARBURN_EXT, pattern VK_BLEND_OP_VIVIDLIGHT_EXT, pattern VK_BLEND_OP_LINEARLIGHT_EXT, pattern VK_BLEND_OP_PINLIGHT_EXT, pattern VK_BLEND_OP_HARDMIX_EXT, pattern VK_BLEND_OP_HSL_HUE_EXT, pattern VK_BLEND_OP_HSL_SATURATION_EXT, pattern VK_BLEND_OP_HSL_COLOR_EXT, pattern VK_BLEND_OP_HSL_LUMINOSITY_EXT, pattern VK_BLEND_OP_PLUS_EXT, pattern VK_BLEND_OP_PLUS_CLAMPED_EXT, pattern VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT, pattern VK_BLEND_OP_PLUS_DARKER_EXT, pattern VK_BLEND_OP_MINUS_EXT, pattern VK_BLEND_OP_MINUS_CLAMPED_EXT, pattern VK_BLEND_OP_CONTRAST_EXT, pattern VK_BLEND_OP_INVERT_OVG_EXT, pattern VK_BLEND_OP_RED_EXT, pattern VK_BLEND_OP_GREEN_EXT, pattern VK_BLEND_OP_BLUE_EXT, pattern VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT) where import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal import Graphics.Vulkan.Types.BaseTypes import Graphics.Vulkan.Types.Bitmasks import Graphics.Vulkan.Types.Enum.VkAccessFlags (VkAccessBitmask (..), VkAccessFlagBits) import Graphics.Vulkan.Types.Enum.VkBlendFactor import Graphics.Vulkan.Types.Enum.VkBlendOp import Graphics.Vulkan.Types.Enum.VkBlendOverlapEXT import Graphics.Vulkan.Types.Enum.VkColorComponentFlags import Graphics.Vulkan.Types.Enum.VkDeviceQueueCreateFlags import Graphics.Vulkan.Types.Enum.VkLogicOp import Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType import Graphics.Vulkan.Types.Enum.VkSampleCountFlags import Graphics.Vulkan.Types.Enum.VkStructureType import Graphics.Vulkan.Types.Struct.VkDeviceCreateInfo import Graphics.Vulkan.Types.Struct.VkDeviceQueueCreateInfo import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures2 import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2 import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties import Graphics.Vulkan.Types.Struct.VkPipelineColorBlendAdvancedStateCreateInfoEXT import Graphics.Vulkan.Types.Struct.VkPipelineColorBlendAttachmentState import Graphics.Vulkan.Types.Struct.VkPipelineColorBlendStateCreateInfo pattern VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION :: (Num a, Eq a) => a pattern VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION = 2 type VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION = 2 pattern VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME :: CString pattern VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME <- (is_VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME -> True) where VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME = _VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME {-# INLINE _VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME #-} _VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME :: CString _VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME = Ptr "VK_EXT_blend_operation_advanced\NUL"# {-# INLINE is_VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME #-} is_VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME :: CString -> Bool is_VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME = (EQ ==) . cmpCStrings _VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME type VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME = "VK_EXT_blend_operation_advanced" pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT = VkStructureType 1000148000 pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT = VkStructureType 1000148001 pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT :: VkStructureType pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT = VkStructureType 1000148002 pattern VK_BLEND_OP_ZERO_EXT :: VkBlendOp pattern VK_BLEND_OP_ZERO_EXT = VkBlendOp 1000148000 pattern VK_BLEND_OP_SRC_EXT :: VkBlendOp pattern VK_BLEND_OP_SRC_EXT = VkBlendOp 1000148001 pattern VK_BLEND_OP_DST_EXT :: VkBlendOp pattern VK_BLEND_OP_DST_EXT = VkBlendOp 1000148002 pattern VK_BLEND_OP_SRC_OVER_EXT :: VkBlendOp pattern VK_BLEND_OP_SRC_OVER_EXT = VkBlendOp 1000148003 pattern VK_BLEND_OP_DST_OVER_EXT :: VkBlendOp pattern VK_BLEND_OP_DST_OVER_EXT = VkBlendOp 1000148004 pattern VK_BLEND_OP_SRC_IN_EXT :: VkBlendOp pattern VK_BLEND_OP_SRC_IN_EXT = VkBlendOp 1000148005 pattern VK_BLEND_OP_DST_IN_EXT :: VkBlendOp pattern VK_BLEND_OP_DST_IN_EXT = VkBlendOp 1000148006 pattern VK_BLEND_OP_SRC_OUT_EXT :: VkBlendOp pattern VK_BLEND_OP_SRC_OUT_EXT = VkBlendOp 1000148007 pattern VK_BLEND_OP_DST_OUT_EXT :: VkBlendOp pattern VK_BLEND_OP_DST_OUT_EXT = VkBlendOp 1000148008 pattern VK_BLEND_OP_SRC_ATOP_EXT :: VkBlendOp pattern VK_BLEND_OP_SRC_ATOP_EXT = VkBlendOp 1000148009 pattern VK_BLEND_OP_DST_ATOP_EXT :: VkBlendOp pattern VK_BLEND_OP_DST_ATOP_EXT = VkBlendOp 1000148010 pattern VK_BLEND_OP_XOR_EXT :: VkBlendOp pattern VK_BLEND_OP_XOR_EXT = VkBlendOp 1000148011 pattern VK_BLEND_OP_MULTIPLY_EXT :: VkBlendOp pattern VK_BLEND_OP_MULTIPLY_EXT = VkBlendOp 1000148012 pattern VK_BLEND_OP_SCREEN_EXT :: VkBlendOp pattern VK_BLEND_OP_SCREEN_EXT = VkBlendOp 1000148013 pattern VK_BLEND_OP_OVERLAY_EXT :: VkBlendOp pattern VK_BLEND_OP_OVERLAY_EXT = VkBlendOp 1000148014 pattern VK_BLEND_OP_DARKEN_EXT :: VkBlendOp pattern VK_BLEND_OP_DARKEN_EXT = VkBlendOp 1000148015 pattern VK_BLEND_OP_LIGHTEN_EXT :: VkBlendOp pattern VK_BLEND_OP_LIGHTEN_EXT = VkBlendOp 1000148016 pattern VK_BLEND_OP_COLORDODGE_EXT :: VkBlendOp pattern VK_BLEND_OP_COLORDODGE_EXT = VkBlendOp 1000148017 pattern VK_BLEND_OP_COLORBURN_EXT :: VkBlendOp pattern VK_BLEND_OP_COLORBURN_EXT = VkBlendOp 1000148018 pattern VK_BLEND_OP_HARDLIGHT_EXT :: VkBlendOp pattern VK_BLEND_OP_HARDLIGHT_EXT = VkBlendOp 1000148019 pattern VK_BLEND_OP_SOFTLIGHT_EXT :: VkBlendOp pattern VK_BLEND_OP_SOFTLIGHT_EXT = VkBlendOp 1000148020 pattern VK_BLEND_OP_DIFFERENCE_EXT :: VkBlendOp pattern VK_BLEND_OP_DIFFERENCE_EXT = VkBlendOp 1000148021 pattern VK_BLEND_OP_EXCLUSION_EXT :: VkBlendOp pattern VK_BLEND_OP_EXCLUSION_EXT = VkBlendOp 1000148022 pattern VK_BLEND_OP_INVERT_EXT :: VkBlendOp pattern VK_BLEND_OP_INVERT_EXT = VkBlendOp 1000148023 pattern VK_BLEND_OP_INVERT_RGB_EXT :: VkBlendOp pattern VK_BLEND_OP_INVERT_RGB_EXT = VkBlendOp 1000148024 pattern VK_BLEND_OP_LINEARDODGE_EXT :: VkBlendOp pattern VK_BLEND_OP_LINEARDODGE_EXT = VkBlendOp 1000148025 pattern VK_BLEND_OP_LINEARBURN_EXT :: VkBlendOp pattern VK_BLEND_OP_LINEARBURN_EXT = VkBlendOp 1000148026 pattern VK_BLEND_OP_VIVIDLIGHT_EXT :: VkBlendOp pattern VK_BLEND_OP_VIVIDLIGHT_EXT = VkBlendOp 1000148027 pattern VK_BLEND_OP_LINEARLIGHT_EXT :: VkBlendOp pattern VK_BLEND_OP_LINEARLIGHT_EXT = VkBlendOp 1000148028 pattern VK_BLEND_OP_PINLIGHT_EXT :: VkBlendOp pattern VK_BLEND_OP_PINLIGHT_EXT = VkBlendOp 1000148029 pattern VK_BLEND_OP_HARDMIX_EXT :: VkBlendOp pattern VK_BLEND_OP_HARDMIX_EXT = VkBlendOp 1000148030 pattern VK_BLEND_OP_HSL_HUE_EXT :: VkBlendOp pattern VK_BLEND_OP_HSL_HUE_EXT = VkBlendOp 1000148031 pattern VK_BLEND_OP_HSL_SATURATION_EXT :: VkBlendOp pattern VK_BLEND_OP_HSL_SATURATION_EXT = VkBlendOp 1000148032 pattern VK_BLEND_OP_HSL_COLOR_EXT :: VkBlendOp pattern VK_BLEND_OP_HSL_COLOR_EXT = VkBlendOp 1000148033 pattern VK_BLEND_OP_HSL_LUMINOSITY_EXT :: VkBlendOp pattern VK_BLEND_OP_HSL_LUMINOSITY_EXT = VkBlendOp 1000148034 pattern VK_BLEND_OP_PLUS_EXT :: VkBlendOp pattern VK_BLEND_OP_PLUS_EXT = VkBlendOp 1000148035 pattern VK_BLEND_OP_PLUS_CLAMPED_EXT :: VkBlendOp pattern VK_BLEND_OP_PLUS_CLAMPED_EXT = VkBlendOp 1000148036 pattern VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT :: VkBlendOp pattern VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = VkBlendOp 1000148037 pattern VK_BLEND_OP_PLUS_DARKER_EXT :: VkBlendOp pattern VK_BLEND_OP_PLUS_DARKER_EXT = VkBlendOp 1000148038 pattern VK_BLEND_OP_MINUS_EXT :: VkBlendOp pattern VK_BLEND_OP_MINUS_EXT = VkBlendOp 1000148039 pattern VK_BLEND_OP_MINUS_CLAMPED_EXT :: VkBlendOp pattern VK_BLEND_OP_MINUS_CLAMPED_EXT = VkBlendOp 1000148040 pattern VK_BLEND_OP_CONTRAST_EXT :: VkBlendOp pattern VK_BLEND_OP_CONTRAST_EXT = VkBlendOp 1000148041 pattern VK_BLEND_OP_INVERT_OVG_EXT :: VkBlendOp pattern VK_BLEND_OP_INVERT_OVG_EXT = VkBlendOp 1000148042 pattern VK_BLEND_OP_RED_EXT :: VkBlendOp pattern VK_BLEND_OP_RED_EXT = VkBlendOp 1000148043 pattern VK_BLEND_OP_GREEN_EXT :: VkBlendOp pattern VK_BLEND_OP_GREEN_EXT = VkBlendOp 1000148044 pattern VK_BLEND_OP_BLUE_EXT :: VkBlendOp pattern VK_BLEND_OP_BLUE_EXT = VkBlendOp 1000148045 -- | bitpos = @19@ pattern VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT :: VkAccessFlagBits pattern VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = VkAccessFlagBits 524288