{-# language CPP #-}
module Vulkan.Extensions.VK_EXT_extended_dynamic_state2 ( cmdSetPatchControlPointsEXT
, cmdSetLogicOpEXT
, pattern DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT
, pattern DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT
, pattern DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT
, cmdSetRasterizerDiscardEnableEXT
, cmdSetDepthBiasEnableEXT
, cmdSetPrimitiveRestartEnableEXT
, PhysicalDeviceExtendedDynamicState2FeaturesEXT(..)
, EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION
, pattern EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION
, EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME
, pattern EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME
) where
import Vulkan.Internal.Utils (traceAroundEvent)
import Control.Monad (unless)
import Control.Monad.IO.Class (liftIO)
import Foreign.Marshal.Alloc (allocaBytes)
import GHC.IO (throwIO)
import GHC.Ptr (nullFunPtr)
import Foreign.Ptr (nullPtr)
import Foreign.Ptr (plusPtr)
import Vulkan.CStruct (FromCStruct)
import Vulkan.CStruct (FromCStruct(..))
import Vulkan.CStruct (ToCStruct)
import Vulkan.CStruct (ToCStruct(..))
import Vulkan.Zero (Zero(..))
import Control.Monad.IO.Class (MonadIO)
import Data.String (IsString)
import Data.Typeable (Typeable)
import Foreign.Storable (Storable)
import Foreign.Storable (Storable(peek))
import Foreign.Storable (Storable(poke))
import qualified Foreign.Storable (Storable(..))
import GHC.Generics (Generic)
import GHC.IO.Exception (IOErrorType(..))
import GHC.IO.Exception (IOException(..))
import Foreign.Ptr (FunPtr)
import Foreign.Ptr (Ptr)
import Data.Word (Word32)
import Data.Kind (Type)
import Vulkan.Core10.FundamentalTypes (bool32ToBool)
import Vulkan.Core10.FundamentalTypes (boolToBool32)
import Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2 (cmdSetDepthBiasEnable)
import Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2 (cmdSetPrimitiveRestartEnable)
import Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2 (cmdSetRasterizerDiscardEnable)
import Vulkan.NamedType ((:::))
import Vulkan.Core10.FundamentalTypes (Bool32)
import Vulkan.Core10.Handles (CommandBuffer)
import Vulkan.Core10.Handles (CommandBuffer(..))
import Vulkan.Core10.Handles (CommandBuffer(CommandBuffer))
import Vulkan.Core10.Handles (CommandBuffer_T)
import Vulkan.Dynamic (DeviceCmds(pVkCmdSetLogicOpEXT))
import Vulkan.Dynamic (DeviceCmds(pVkCmdSetPatchControlPointsEXT))
import Vulkan.Core10.Enums.LogicOp (LogicOp)
import Vulkan.Core10.Enums.LogicOp (LogicOp(..))
import Vulkan.Core10.Enums.StructureType (StructureType)
import Vulkan.Core10.Enums.DynamicState (DynamicState(DYNAMIC_STATE_DEPTH_BIAS_ENABLE))
import Vulkan.Core10.Enums.DynamicState (DynamicState(DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE))
import Vulkan.Core10.Enums.DynamicState (DynamicState(DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT))
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
unsafe
#endif
"dynamic" mkVkCmdSetPatchControlPointsEXT
:: FunPtr (Ptr CommandBuffer_T -> Word32 -> IO ()) -> Ptr CommandBuffer_T -> Word32 -> IO ()
cmdSetPatchControlPointsEXT :: forall io
. (MonadIO io)
=>
CommandBuffer
->
("patchControlPoints" ::: Word32)
-> io ()
cmdSetPatchControlPointsEXT :: forall (io :: * -> *).
MonadIO io =>
CommandBuffer -> ("patchControlPoints" ::: Word32) -> io ()
cmdSetPatchControlPointsEXT CommandBuffer
commandBuffer "patchControlPoints" ::: Word32
patchControlPoints = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
let vkCmdSetPatchControlPointsEXTPtr :: FunPtr
(Ptr CommandBuffer_T -> ("patchControlPoints" ::: Word32) -> IO ())
vkCmdSetPatchControlPointsEXTPtr = DeviceCmds
-> FunPtr
(Ptr CommandBuffer_T -> ("patchControlPoints" ::: Word32) -> IO ())
pVkCmdSetPatchControlPointsEXT (case CommandBuffer
commandBuffer of CommandBuffer{DeviceCmds
$sel:deviceCmds:CommandBuffer :: CommandBuffer -> DeviceCmds
deviceCmds :: DeviceCmds
deviceCmds} -> DeviceCmds
deviceCmds)
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless (FunPtr
(Ptr CommandBuffer_T -> ("patchControlPoints" ::: Word32) -> IO ())
vkCmdSetPatchControlPointsEXTPtr forall a. Eq a => a -> a -> Bool
/= forall a. FunPtr a
nullFunPtr) forall a b. (a -> b) -> a -> b
$
forall e a. Exception e => e -> IO a
throwIO forall a b. (a -> b) -> a -> b
$ Maybe Handle
-> IOErrorType
-> String
-> String
-> Maybe CInt
-> Maybe String
-> IOException
IOError forall a. Maybe a
Nothing IOErrorType
InvalidArgument String
"" String
"The function pointer for vkCmdSetPatchControlPointsEXT is null" forall a. Maybe a
Nothing forall a. Maybe a
Nothing
let vkCmdSetPatchControlPointsEXT' :: Ptr CommandBuffer_T -> ("patchControlPoints" ::: Word32) -> IO ()
vkCmdSetPatchControlPointsEXT' = FunPtr
(Ptr CommandBuffer_T -> ("patchControlPoints" ::: Word32) -> IO ())
-> Ptr CommandBuffer_T
-> ("patchControlPoints" ::: Word32)
-> IO ()
mkVkCmdSetPatchControlPointsEXT FunPtr
(Ptr CommandBuffer_T -> ("patchControlPoints" ::: Word32) -> IO ())
vkCmdSetPatchControlPointsEXTPtr
forall a. String -> IO a -> IO a
traceAroundEvent String
"vkCmdSetPatchControlPointsEXT" (Ptr CommandBuffer_T -> ("patchControlPoints" ::: Word32) -> IO ()
vkCmdSetPatchControlPointsEXT'
(CommandBuffer -> Ptr CommandBuffer_T
commandBufferHandle (CommandBuffer
commandBuffer))
("patchControlPoints" ::: Word32
patchControlPoints))
forall (f :: * -> *) a. Applicative f => a -> f a
pure forall a b. (a -> b) -> a -> b
$ ()
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
unsafe
#endif
"dynamic" mkVkCmdSetLogicOpEXT
:: FunPtr (Ptr CommandBuffer_T -> LogicOp -> IO ()) -> Ptr CommandBuffer_T -> LogicOp -> IO ()
cmdSetLogicOpEXT :: forall io
. (MonadIO io)
=>
CommandBuffer
->
LogicOp
-> io ()
cmdSetLogicOpEXT :: forall (io :: * -> *).
MonadIO io =>
CommandBuffer -> LogicOp -> io ()
cmdSetLogicOpEXT CommandBuffer
commandBuffer LogicOp
logicOp = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
let vkCmdSetLogicOpEXTPtr :: FunPtr (Ptr CommandBuffer_T -> LogicOp -> IO ())
vkCmdSetLogicOpEXTPtr = DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> LogicOp -> IO ())
pVkCmdSetLogicOpEXT (case CommandBuffer
commandBuffer of CommandBuffer{DeviceCmds
deviceCmds :: DeviceCmds
$sel:deviceCmds:CommandBuffer :: CommandBuffer -> DeviceCmds
deviceCmds} -> DeviceCmds
deviceCmds)
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless (FunPtr (Ptr CommandBuffer_T -> LogicOp -> IO ())
vkCmdSetLogicOpEXTPtr forall a. Eq a => a -> a -> Bool
/= forall a. FunPtr a
nullFunPtr) forall a b. (a -> b) -> a -> b
$
forall e a. Exception e => e -> IO a
throwIO forall a b. (a -> b) -> a -> b
$ Maybe Handle
-> IOErrorType
-> String
-> String
-> Maybe CInt
-> Maybe String
-> IOException
IOError forall a. Maybe a
Nothing IOErrorType
InvalidArgument String
"" String
"The function pointer for vkCmdSetLogicOpEXT is null" forall a. Maybe a
Nothing forall a. Maybe a
Nothing
let vkCmdSetLogicOpEXT' :: Ptr CommandBuffer_T -> LogicOp -> IO ()
vkCmdSetLogicOpEXT' = FunPtr (Ptr CommandBuffer_T -> LogicOp -> IO ())
-> Ptr CommandBuffer_T -> LogicOp -> IO ()
mkVkCmdSetLogicOpEXT FunPtr (Ptr CommandBuffer_T -> LogicOp -> IO ())
vkCmdSetLogicOpEXTPtr
forall a. String -> IO a -> IO a
traceAroundEvent String
"vkCmdSetLogicOpEXT" (Ptr CommandBuffer_T -> LogicOp -> IO ()
vkCmdSetLogicOpEXT'
(CommandBuffer -> Ptr CommandBuffer_T
commandBufferHandle (CommandBuffer
commandBuffer))
(LogicOp
logicOp))
forall (f :: * -> *) a. Applicative f => a -> f a
pure forall a b. (a -> b) -> a -> b
$ ()
pattern $bDYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT :: DynamicState
$mDYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT :: forall {r}. DynamicState -> ((# #) -> r) -> ((# #) -> r) -> r
DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT = DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE
pattern $bDYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT :: DynamicState
$mDYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT :: forall {r}. DynamicState -> ((# #) -> r) -> ((# #) -> r) -> r
DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT = DYNAMIC_STATE_DEPTH_BIAS_ENABLE
pattern $bDYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT :: DynamicState
$mDYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT :: forall {r}. DynamicState -> ((# #) -> r) -> ((# #) -> r) -> r
DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT = DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE
cmdSetRasterizerDiscardEnableEXT :: CommandBuffer -> Bool -> io ()
cmdSetRasterizerDiscardEnableEXT = forall (io :: * -> *). MonadIO io => CommandBuffer -> Bool -> io ()
cmdSetRasterizerDiscardEnable
cmdSetDepthBiasEnableEXT :: CommandBuffer -> Bool -> io ()
cmdSetDepthBiasEnableEXT = forall (io :: * -> *). MonadIO io => CommandBuffer -> Bool -> io ()
cmdSetDepthBiasEnable
cmdSetPrimitiveRestartEnableEXT :: CommandBuffer -> Bool -> io ()
cmdSetPrimitiveRestartEnableEXT = forall (io :: * -> *). MonadIO io => CommandBuffer -> Bool -> io ()
cmdSetPrimitiveRestartEnable
data PhysicalDeviceExtendedDynamicState2FeaturesEXT = PhysicalDeviceExtendedDynamicState2FeaturesEXT
{
PhysicalDeviceExtendedDynamicState2FeaturesEXT -> Bool
extendedDynamicState2 :: Bool
,
PhysicalDeviceExtendedDynamicState2FeaturesEXT -> Bool
extendedDynamicState2LogicOp :: Bool
,
PhysicalDeviceExtendedDynamicState2FeaturesEXT -> Bool
extendedDynamicState2PatchControlPoints :: Bool
}
deriving (Typeable, PhysicalDeviceExtendedDynamicState2FeaturesEXT
-> PhysicalDeviceExtendedDynamicState2FeaturesEXT -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PhysicalDeviceExtendedDynamicState2FeaturesEXT
-> PhysicalDeviceExtendedDynamicState2FeaturesEXT -> Bool
$c/= :: PhysicalDeviceExtendedDynamicState2FeaturesEXT
-> PhysicalDeviceExtendedDynamicState2FeaturesEXT -> Bool
== :: PhysicalDeviceExtendedDynamicState2FeaturesEXT
-> PhysicalDeviceExtendedDynamicState2FeaturesEXT -> Bool
$c== :: PhysicalDeviceExtendedDynamicState2FeaturesEXT
-> PhysicalDeviceExtendedDynamicState2FeaturesEXT -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (PhysicalDeviceExtendedDynamicState2FeaturesEXT)
#endif
deriving instance Show PhysicalDeviceExtendedDynamicState2FeaturesEXT
instance ToCStruct PhysicalDeviceExtendedDynamicState2FeaturesEXT where
withCStruct :: forall b.
PhysicalDeviceExtendedDynamicState2FeaturesEXT
-> (Ptr PhysicalDeviceExtendedDynamicState2FeaturesEXT -> IO b)
-> IO b
withCStruct PhysicalDeviceExtendedDynamicState2FeaturesEXT
x Ptr PhysicalDeviceExtendedDynamicState2FeaturesEXT -> IO b
f = forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
32 forall a b. (a -> b) -> a -> b
$ \Ptr PhysicalDeviceExtendedDynamicState2FeaturesEXT
p -> forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceExtendedDynamicState2FeaturesEXT
p PhysicalDeviceExtendedDynamicState2FeaturesEXT
x (Ptr PhysicalDeviceExtendedDynamicState2FeaturesEXT -> IO b
f Ptr PhysicalDeviceExtendedDynamicState2FeaturesEXT
p)
pokeCStruct :: forall b.
Ptr PhysicalDeviceExtendedDynamicState2FeaturesEXT
-> PhysicalDeviceExtendedDynamicState2FeaturesEXT -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceExtendedDynamicState2FeaturesEXT
p PhysicalDeviceExtendedDynamicState2FeaturesEXT{Bool
extendedDynamicState2PatchControlPoints :: Bool
extendedDynamicState2LogicOp :: Bool
extendedDynamicState2 :: Bool
$sel:extendedDynamicState2PatchControlPoints:PhysicalDeviceExtendedDynamicState2FeaturesEXT :: PhysicalDeviceExtendedDynamicState2FeaturesEXT -> Bool
$sel:extendedDynamicState2LogicOp:PhysicalDeviceExtendedDynamicState2FeaturesEXT :: PhysicalDeviceExtendedDynamicState2FeaturesEXT -> Bool
$sel:extendedDynamicState2:PhysicalDeviceExtendedDynamicState2FeaturesEXT :: PhysicalDeviceExtendedDynamicState2FeaturesEXT -> Bool
..} IO b
f = do
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceExtendedDynamicState2FeaturesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT)
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceExtendedDynamicState2FeaturesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (forall a. Ptr a
nullPtr)
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceExtendedDynamicState2FeaturesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
extendedDynamicState2))
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceExtendedDynamicState2FeaturesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
extendedDynamicState2LogicOp))
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceExtendedDynamicState2FeaturesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
extendedDynamicState2PatchControlPoints))
IO b
f
cStructSize :: Int
cStructSize = Int
32
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b.
Ptr PhysicalDeviceExtendedDynamicState2FeaturesEXT -> IO b -> IO b
pokeZeroCStruct Ptr PhysicalDeviceExtendedDynamicState2FeaturesEXT
p IO b
f = do
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceExtendedDynamicState2FeaturesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT)
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceExtendedDynamicState2FeaturesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (forall a. Ptr a
nullPtr)
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceExtendedDynamicState2FeaturesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (forall a. Zero a => a
zero))
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceExtendedDynamicState2FeaturesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (forall a. Zero a => a
zero))
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceExtendedDynamicState2FeaturesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (forall a. Zero a => a
zero))
IO b
f
instance FromCStruct PhysicalDeviceExtendedDynamicState2FeaturesEXT where
peekCStruct :: Ptr PhysicalDeviceExtendedDynamicState2FeaturesEXT
-> IO PhysicalDeviceExtendedDynamicState2FeaturesEXT
peekCStruct Ptr PhysicalDeviceExtendedDynamicState2FeaturesEXT
p = do
Bool32
extendedDynamicState2 <- forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceExtendedDynamicState2FeaturesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32))
Bool32
extendedDynamicState2LogicOp <- forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceExtendedDynamicState2FeaturesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Bool32))
Bool32
extendedDynamicState2PatchControlPoints <- forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceExtendedDynamicState2FeaturesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr Bool32))
forall (f :: * -> *) a. Applicative f => a -> f a
pure forall a b. (a -> b) -> a -> b
$ Bool
-> Bool -> Bool -> PhysicalDeviceExtendedDynamicState2FeaturesEXT
PhysicalDeviceExtendedDynamicState2FeaturesEXT
(Bool32 -> Bool
bool32ToBool Bool32
extendedDynamicState2)
(Bool32 -> Bool
bool32ToBool Bool32
extendedDynamicState2LogicOp)
(Bool32 -> Bool
bool32ToBool Bool32
extendedDynamicState2PatchControlPoints)
instance Storable PhysicalDeviceExtendedDynamicState2FeaturesEXT where
sizeOf :: PhysicalDeviceExtendedDynamicState2FeaturesEXT -> Int
sizeOf ~PhysicalDeviceExtendedDynamicState2FeaturesEXT
_ = Int
32
alignment :: PhysicalDeviceExtendedDynamicState2FeaturesEXT -> Int
alignment ~PhysicalDeviceExtendedDynamicState2FeaturesEXT
_ = Int
8
peek :: Ptr PhysicalDeviceExtendedDynamicState2FeaturesEXT
-> IO PhysicalDeviceExtendedDynamicState2FeaturesEXT
peek = forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr PhysicalDeviceExtendedDynamicState2FeaturesEXT
-> PhysicalDeviceExtendedDynamicState2FeaturesEXT -> IO ()
poke Ptr PhysicalDeviceExtendedDynamicState2FeaturesEXT
ptr PhysicalDeviceExtendedDynamicState2FeaturesEXT
poked = forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceExtendedDynamicState2FeaturesEXT
ptr PhysicalDeviceExtendedDynamicState2FeaturesEXT
poked (forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero PhysicalDeviceExtendedDynamicState2FeaturesEXT where
zero :: PhysicalDeviceExtendedDynamicState2FeaturesEXT
zero = Bool
-> Bool -> Bool -> PhysicalDeviceExtendedDynamicState2FeaturesEXT
PhysicalDeviceExtendedDynamicState2FeaturesEXT
forall a. Zero a => a
zero
forall a. Zero a => a
zero
forall a. Zero a => a
zero
type EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION = 1
pattern EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION :: forall a . Integral a => a
pattern $bEXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION :: forall a. Integral a => a
$mEXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION :: forall {r} {a}.
Integral a =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION = 1
type EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME = "VK_EXT_extended_dynamic_state2"
pattern EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
pattern $bEXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
$mEXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME :: forall {r} {a}.
(Eq a, IsString a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME = "VK_EXT_extended_dynamic_state2"