vulkan-3.27: src/Vulkan/Core10/Enums/PipelineDepthStencilStateCreateFlagBits.hs
{-# language CPP #-}
-- No documentation found for Chapter "PipelineDepthStencilStateCreateFlagBits"
module Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits ( PipelineDepthStencilStateCreateFlags
, PipelineDepthStencilStateCreateFlagBits( PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT
, PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT
, ..
)
) where
import Data.Bits (Bits)
import Data.Bits (FiniteBits)
import Vulkan.Internal.Utils (enumReadPrec)
import Vulkan.Internal.Utils (enumShowsPrec)
import GHC.Show (showString)
import Numeric (showHex)
import Vulkan.Zero (Zero)
import Foreign.Storable (Storable)
import GHC.Read (Read(readPrec))
import GHC.Show (Show(showsPrec))
import Vulkan.Core10.FundamentalTypes (Flags)
type PipelineDepthStencilStateCreateFlags = PipelineDepthStencilStateCreateFlagBits
-- | VkPipelineDepthStencilStateCreateFlagBits - Bitmask specifying
-- additional depth\/stencil state information.
--
-- = Description
--
-- - 'PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT'
-- specifies that access to the depth aspects of depth\/stencil and
-- input attachments will have implicit framebuffer-local memory
-- dependencies.
--
-- - 'PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT'
-- specifies that access to the stencil aspects of depth\/stencil and
-- input attachments will have implicit framebuffer-local memory
-- dependencies.
--
-- When
-- 'PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT'
-- is included in a pipeline, it forms a framebuffer-local memory
-- dependency for each fragment generated by draw commands for that
-- pipeline with the following scopes:
--
-- - The first
-- <https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#synchronization-dependencies-scopes synchronization scope>
-- includes
-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_FRAGMENT_SHADER_BIT'
-- and
-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT'
-- pipeline stages executed by all previous fragments (as defined by
-- <https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#drawing-primitive-order primitive order>)
-- in the corresponding
-- <https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#synchronization-framebuffer-regions framebuffer regions>
-- including those generated by the same draw command.
--
-- - The second
-- <https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#synchronization-dependencies-scopes synchronization scope>
-- includes
-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_FRAGMENT_SHADER_BIT'
-- stage executed by the generated fragment.
--
-- - The first
-- <https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#synchronization-dependencies-access-scopes access scope>
-- includes all writes to the depth aspect of depth\/stencil
-- attachments.
--
-- - The second
-- <https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#synchronization-dependencies-access-scopes access scope>
-- includes all reads from the depth aspect of input attachments.
--
-- When
-- 'PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT'
-- is included in a pipeline, it forms a framebuffer-local memory
-- dependency for each fragment generated by draw commands for that
-- pipeline with the following scopes:
--
-- - The first
-- <https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#synchronization-dependencies-scopes synchronization scope>
-- includes
-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_FRAGMENT_SHADER_BIT'
-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT'
-- pipeline stages executed by all previous fragments (as defined by
-- <https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#drawing-primitive-order primitive order>)
-- in the corresponding
-- <https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#synchronization-framebuffer-regions framebuffer regions>
-- including those generated by the same draw command.
--
-- - The second
-- <https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#synchronization-dependencies-scopes synchronization scope>
-- includes
-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_FRAGMENT_SHADER_BIT'
-- and
-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT'
-- pipeline stages executed by the generated fragment.
--
-- - The first
-- <https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#synchronization-dependencies-access-scopes access scope>
-- includes all writes to the stencil aspect of depth\/stencil
-- attachments.
--
-- - The second
-- <https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#synchronization-dependencies-access-scopes access scope>
-- includes all reads from the stencil aspect of input attachments.
--
-- = See Also
--
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_rasterization_order_attachment_access VK_EXT_rasterization_order_attachment_access>,
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
-- 'PipelineDepthStencilStateCreateFlags'
newtype PipelineDepthStencilStateCreateFlagBits = PipelineDepthStencilStateCreateFlagBits Flags
deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
-- No documentation found for Nested "VkPipelineDepthStencilStateCreateFlagBits" "VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT"
pattern PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT = PipelineDepthStencilStateCreateFlagBits 0x00000002
-- No documentation found for Nested "VkPipelineDepthStencilStateCreateFlagBits" "VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT"
pattern PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT = PipelineDepthStencilStateCreateFlagBits 0x00000001
conNamePipelineDepthStencilStateCreateFlagBits :: String
conNamePipelineDepthStencilStateCreateFlagBits = "PipelineDepthStencilStateCreateFlagBits"
enumPrefixPipelineDepthStencilStateCreateFlagBits :: String
enumPrefixPipelineDepthStencilStateCreateFlagBits = "PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_"
showTablePipelineDepthStencilStateCreateFlagBits :: [(PipelineDepthStencilStateCreateFlagBits, String)]
showTablePipelineDepthStencilStateCreateFlagBits =
[
( PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT
, "STENCIL_ACCESS_BIT_EXT"
)
,
( PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT
, "DEPTH_ACCESS_BIT_EXT"
)
]
instance Show PipelineDepthStencilStateCreateFlagBits where
showsPrec =
enumShowsPrec
enumPrefixPipelineDepthStencilStateCreateFlagBits
showTablePipelineDepthStencilStateCreateFlagBits
conNamePipelineDepthStencilStateCreateFlagBits
(\(PipelineDepthStencilStateCreateFlagBits x) -> x)
(\x -> showString "0x" . showHex x)
instance Read PipelineDepthStencilStateCreateFlagBits where
readPrec =
enumReadPrec
enumPrefixPipelineDepthStencilStateCreateFlagBits
showTablePipelineDepthStencilStateCreateFlagBits
conNamePipelineDepthStencilStateCreateFlagBits
PipelineDepthStencilStateCreateFlagBits