{-# language CPP #-}
module Vulkan.Extensions.VK_EXT_provoking_vertex ( PhysicalDeviceProvokingVertexFeaturesEXT(..)
, PhysicalDeviceProvokingVertexPropertiesEXT(..)
, PipelineRasterizationProvokingVertexStateCreateInfoEXT(..)
, ProvokingVertexModeEXT( PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT
, PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT
, ..
)
, EXT_PROVOKING_VERTEX_SPEC_VERSION
, pattern EXT_PROVOKING_VERTEX_SPEC_VERSION
, EXT_PROVOKING_VERTEX_EXTENSION_NAME
, pattern EXT_PROVOKING_VERTEX_EXTENSION_NAME
) where
import Vulkan.Internal.Utils (enumReadPrec)
import Vulkan.Internal.Utils (enumShowsPrec)
import Foreign.Marshal.Alloc (allocaBytesAligned)
import Foreign.Ptr (nullPtr)
import Foreign.Ptr (plusPtr)
import GHC.Show (showsPrec)
import Vulkan.CStruct (FromCStruct)
import Vulkan.CStruct (FromCStruct(..))
import Vulkan.CStruct (ToCStruct)
import Vulkan.CStruct (ToCStruct(..))
import Vulkan.Zero (Zero)
import Vulkan.Zero (Zero(..))
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 Data.Int (Int32)
import Foreign.Ptr (Ptr)
import GHC.Read (Read(readPrec))
import GHC.Show (Show(showsPrec))
import Data.Kind (Type)
import Vulkan.Core10.FundamentalTypes (bool32ToBool)
import Vulkan.Core10.FundamentalTypes (boolToBool32)
import Vulkan.Core10.FundamentalTypes (Bool32)
import Vulkan.Core10.Enums.StructureType (StructureType)
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT))
data PhysicalDeviceProvokingVertexFeaturesEXT = PhysicalDeviceProvokingVertexFeaturesEXT
{
PhysicalDeviceProvokingVertexFeaturesEXT -> Bool
provokingVertexLast :: Bool
,
PhysicalDeviceProvokingVertexFeaturesEXT -> Bool
transformFeedbackPreservesProvokingVertex :: Bool
}
deriving (Typeable, PhysicalDeviceProvokingVertexFeaturesEXT
-> PhysicalDeviceProvokingVertexFeaturesEXT -> Bool
(PhysicalDeviceProvokingVertexFeaturesEXT
-> PhysicalDeviceProvokingVertexFeaturesEXT -> Bool)
-> (PhysicalDeviceProvokingVertexFeaturesEXT
-> PhysicalDeviceProvokingVertexFeaturesEXT -> Bool)
-> Eq PhysicalDeviceProvokingVertexFeaturesEXT
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PhysicalDeviceProvokingVertexFeaturesEXT
-> PhysicalDeviceProvokingVertexFeaturesEXT -> Bool
$c/= :: PhysicalDeviceProvokingVertexFeaturesEXT
-> PhysicalDeviceProvokingVertexFeaturesEXT -> Bool
== :: PhysicalDeviceProvokingVertexFeaturesEXT
-> PhysicalDeviceProvokingVertexFeaturesEXT -> Bool
$c== :: PhysicalDeviceProvokingVertexFeaturesEXT
-> PhysicalDeviceProvokingVertexFeaturesEXT -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (PhysicalDeviceProvokingVertexFeaturesEXT)
#endif
deriving instance Show PhysicalDeviceProvokingVertexFeaturesEXT
instance ToCStruct PhysicalDeviceProvokingVertexFeaturesEXT where
withCStruct :: PhysicalDeviceProvokingVertexFeaturesEXT
-> (Ptr PhysicalDeviceProvokingVertexFeaturesEXT -> IO b) -> IO b
withCStruct x :: PhysicalDeviceProvokingVertexFeaturesEXT
x f :: Ptr PhysicalDeviceProvokingVertexFeaturesEXT -> IO b
f = Int
-> Int
-> (Ptr PhysicalDeviceProvokingVertexFeaturesEXT -> IO b)
-> IO b
forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b
allocaBytesAligned 24 8 ((Ptr PhysicalDeviceProvokingVertexFeaturesEXT -> IO b) -> IO b)
-> (Ptr PhysicalDeviceProvokingVertexFeaturesEXT -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \p :: Ptr PhysicalDeviceProvokingVertexFeaturesEXT
p -> Ptr PhysicalDeviceProvokingVertexFeaturesEXT
-> PhysicalDeviceProvokingVertexFeaturesEXT -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceProvokingVertexFeaturesEXT
p PhysicalDeviceProvokingVertexFeaturesEXT
x (Ptr PhysicalDeviceProvokingVertexFeaturesEXT -> IO b
f Ptr PhysicalDeviceProvokingVertexFeaturesEXT
p)
pokeCStruct :: Ptr PhysicalDeviceProvokingVertexFeaturesEXT
-> PhysicalDeviceProvokingVertexFeaturesEXT -> IO b -> IO b
pokeCStruct p :: Ptr PhysicalDeviceProvokingVertexFeaturesEXT
p PhysicalDeviceProvokingVertexFeaturesEXT{..} f :: IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceProvokingVertexFeaturesEXT
p Ptr PhysicalDeviceProvokingVertexFeaturesEXT
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceProvokingVertexFeaturesEXT
p Ptr PhysicalDeviceProvokingVertexFeaturesEXT -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceProvokingVertexFeaturesEXT
p Ptr PhysicalDeviceProvokingVertexFeaturesEXT -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
provokingVertexLast))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceProvokingVertexFeaturesEXT
p Ptr PhysicalDeviceProvokingVertexFeaturesEXT -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 20 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
transformFeedbackPreservesProvokingVertex))
IO b
f
cStructSize :: Int
cStructSize = 24
cStructAlignment :: Int
cStructAlignment = 8
pokeZeroCStruct :: Ptr PhysicalDeviceProvokingVertexFeaturesEXT -> IO b -> IO b
pokeZeroCStruct p :: Ptr PhysicalDeviceProvokingVertexFeaturesEXT
p f :: IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceProvokingVertexFeaturesEXT
p Ptr PhysicalDeviceProvokingVertexFeaturesEXT
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceProvokingVertexFeaturesEXT
p Ptr PhysicalDeviceProvokingVertexFeaturesEXT -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceProvokingVertexFeaturesEXT
p Ptr PhysicalDeviceProvokingVertexFeaturesEXT -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceProvokingVertexFeaturesEXT
p Ptr PhysicalDeviceProvokingVertexFeaturesEXT -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 20 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
IO b
f
instance FromCStruct PhysicalDeviceProvokingVertexFeaturesEXT where
peekCStruct :: Ptr PhysicalDeviceProvokingVertexFeaturesEXT
-> IO PhysicalDeviceProvokingVertexFeaturesEXT
peekCStruct p :: Ptr PhysicalDeviceProvokingVertexFeaturesEXT
p = do
Bool32
provokingVertexLast <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceProvokingVertexFeaturesEXT
p Ptr PhysicalDeviceProvokingVertexFeaturesEXT -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16 :: Ptr Bool32))
Bool32
transformFeedbackPreservesProvokingVertex <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceProvokingVertexFeaturesEXT
p Ptr PhysicalDeviceProvokingVertexFeaturesEXT -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 20 :: Ptr Bool32))
PhysicalDeviceProvokingVertexFeaturesEXT
-> IO PhysicalDeviceProvokingVertexFeaturesEXT
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PhysicalDeviceProvokingVertexFeaturesEXT
-> IO PhysicalDeviceProvokingVertexFeaturesEXT)
-> PhysicalDeviceProvokingVertexFeaturesEXT
-> IO PhysicalDeviceProvokingVertexFeaturesEXT
forall a b. (a -> b) -> a -> b
$ Bool -> Bool -> PhysicalDeviceProvokingVertexFeaturesEXT
PhysicalDeviceProvokingVertexFeaturesEXT
(Bool32 -> Bool
bool32ToBool Bool32
provokingVertexLast) (Bool32 -> Bool
bool32ToBool Bool32
transformFeedbackPreservesProvokingVertex)
instance Storable PhysicalDeviceProvokingVertexFeaturesEXT where
sizeOf :: PhysicalDeviceProvokingVertexFeaturesEXT -> Int
sizeOf ~PhysicalDeviceProvokingVertexFeaturesEXT
_ = 24
alignment :: PhysicalDeviceProvokingVertexFeaturesEXT -> Int
alignment ~PhysicalDeviceProvokingVertexFeaturesEXT
_ = 8
peek :: Ptr PhysicalDeviceProvokingVertexFeaturesEXT
-> IO PhysicalDeviceProvokingVertexFeaturesEXT
peek = Ptr PhysicalDeviceProvokingVertexFeaturesEXT
-> IO PhysicalDeviceProvokingVertexFeaturesEXT
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr PhysicalDeviceProvokingVertexFeaturesEXT
-> PhysicalDeviceProvokingVertexFeaturesEXT -> IO ()
poke ptr :: Ptr PhysicalDeviceProvokingVertexFeaturesEXT
ptr poked :: PhysicalDeviceProvokingVertexFeaturesEXT
poked = Ptr PhysicalDeviceProvokingVertexFeaturesEXT
-> PhysicalDeviceProvokingVertexFeaturesEXT -> IO () -> IO ()
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceProvokingVertexFeaturesEXT
ptr PhysicalDeviceProvokingVertexFeaturesEXT
poked (() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero PhysicalDeviceProvokingVertexFeaturesEXT where
zero :: PhysicalDeviceProvokingVertexFeaturesEXT
zero = Bool -> Bool -> PhysicalDeviceProvokingVertexFeaturesEXT
PhysicalDeviceProvokingVertexFeaturesEXT
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
data PhysicalDeviceProvokingVertexPropertiesEXT = PhysicalDeviceProvokingVertexPropertiesEXT
{
PhysicalDeviceProvokingVertexPropertiesEXT -> Bool
provokingVertexModePerPipeline :: Bool
,
PhysicalDeviceProvokingVertexPropertiesEXT -> Bool
transformFeedbackPreservesTriangleFanProvokingVertex :: Bool
}
deriving (Typeable, PhysicalDeviceProvokingVertexPropertiesEXT
-> PhysicalDeviceProvokingVertexPropertiesEXT -> Bool
(PhysicalDeviceProvokingVertexPropertiesEXT
-> PhysicalDeviceProvokingVertexPropertiesEXT -> Bool)
-> (PhysicalDeviceProvokingVertexPropertiesEXT
-> PhysicalDeviceProvokingVertexPropertiesEXT -> Bool)
-> Eq PhysicalDeviceProvokingVertexPropertiesEXT
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PhysicalDeviceProvokingVertexPropertiesEXT
-> PhysicalDeviceProvokingVertexPropertiesEXT -> Bool
$c/= :: PhysicalDeviceProvokingVertexPropertiesEXT
-> PhysicalDeviceProvokingVertexPropertiesEXT -> Bool
== :: PhysicalDeviceProvokingVertexPropertiesEXT
-> PhysicalDeviceProvokingVertexPropertiesEXT -> Bool
$c== :: PhysicalDeviceProvokingVertexPropertiesEXT
-> PhysicalDeviceProvokingVertexPropertiesEXT -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (PhysicalDeviceProvokingVertexPropertiesEXT)
#endif
deriving instance Show PhysicalDeviceProvokingVertexPropertiesEXT
instance ToCStruct PhysicalDeviceProvokingVertexPropertiesEXT where
withCStruct :: PhysicalDeviceProvokingVertexPropertiesEXT
-> (Ptr PhysicalDeviceProvokingVertexPropertiesEXT -> IO b) -> IO b
withCStruct x :: PhysicalDeviceProvokingVertexPropertiesEXT
x f :: Ptr PhysicalDeviceProvokingVertexPropertiesEXT -> IO b
f = Int
-> Int
-> (Ptr PhysicalDeviceProvokingVertexPropertiesEXT -> IO b)
-> IO b
forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b
allocaBytesAligned 24 8 ((Ptr PhysicalDeviceProvokingVertexPropertiesEXT -> IO b) -> IO b)
-> (Ptr PhysicalDeviceProvokingVertexPropertiesEXT -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \p :: Ptr PhysicalDeviceProvokingVertexPropertiesEXT
p -> Ptr PhysicalDeviceProvokingVertexPropertiesEXT
-> PhysicalDeviceProvokingVertexPropertiesEXT -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceProvokingVertexPropertiesEXT
p PhysicalDeviceProvokingVertexPropertiesEXT
x (Ptr PhysicalDeviceProvokingVertexPropertiesEXT -> IO b
f Ptr PhysicalDeviceProvokingVertexPropertiesEXT
p)
pokeCStruct :: Ptr PhysicalDeviceProvokingVertexPropertiesEXT
-> PhysicalDeviceProvokingVertexPropertiesEXT -> IO b -> IO b
pokeCStruct p :: Ptr PhysicalDeviceProvokingVertexPropertiesEXT
p PhysicalDeviceProvokingVertexPropertiesEXT{..} f :: IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceProvokingVertexPropertiesEXT
p Ptr PhysicalDeviceProvokingVertexPropertiesEXT
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceProvokingVertexPropertiesEXT
p Ptr PhysicalDeviceProvokingVertexPropertiesEXT
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceProvokingVertexPropertiesEXT
p Ptr PhysicalDeviceProvokingVertexPropertiesEXT -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
provokingVertexModePerPipeline))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceProvokingVertexPropertiesEXT
p Ptr PhysicalDeviceProvokingVertexPropertiesEXT -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 20 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
transformFeedbackPreservesTriangleFanProvokingVertex))
IO b
f
cStructSize :: Int
cStructSize = 24
cStructAlignment :: Int
cStructAlignment = 8
pokeZeroCStruct :: Ptr PhysicalDeviceProvokingVertexPropertiesEXT -> IO b -> IO b
pokeZeroCStruct p :: Ptr PhysicalDeviceProvokingVertexPropertiesEXT
p f :: IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceProvokingVertexPropertiesEXT
p Ptr PhysicalDeviceProvokingVertexPropertiesEXT
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceProvokingVertexPropertiesEXT
p Ptr PhysicalDeviceProvokingVertexPropertiesEXT
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceProvokingVertexPropertiesEXT
p Ptr PhysicalDeviceProvokingVertexPropertiesEXT -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceProvokingVertexPropertiesEXT
p Ptr PhysicalDeviceProvokingVertexPropertiesEXT -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 20 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
IO b
f
instance FromCStruct PhysicalDeviceProvokingVertexPropertiesEXT where
peekCStruct :: Ptr PhysicalDeviceProvokingVertexPropertiesEXT
-> IO PhysicalDeviceProvokingVertexPropertiesEXT
peekCStruct p :: Ptr PhysicalDeviceProvokingVertexPropertiesEXT
p = do
Bool32
provokingVertexModePerPipeline <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceProvokingVertexPropertiesEXT
p Ptr PhysicalDeviceProvokingVertexPropertiesEXT -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16 :: Ptr Bool32))
Bool32
transformFeedbackPreservesTriangleFanProvokingVertex <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceProvokingVertexPropertiesEXT
p Ptr PhysicalDeviceProvokingVertexPropertiesEXT -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 20 :: Ptr Bool32))
PhysicalDeviceProvokingVertexPropertiesEXT
-> IO PhysicalDeviceProvokingVertexPropertiesEXT
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PhysicalDeviceProvokingVertexPropertiesEXT
-> IO PhysicalDeviceProvokingVertexPropertiesEXT)
-> PhysicalDeviceProvokingVertexPropertiesEXT
-> IO PhysicalDeviceProvokingVertexPropertiesEXT
forall a b. (a -> b) -> a -> b
$ Bool -> Bool -> PhysicalDeviceProvokingVertexPropertiesEXT
PhysicalDeviceProvokingVertexPropertiesEXT
(Bool32 -> Bool
bool32ToBool Bool32
provokingVertexModePerPipeline) (Bool32 -> Bool
bool32ToBool Bool32
transformFeedbackPreservesTriangleFanProvokingVertex)
instance Storable PhysicalDeviceProvokingVertexPropertiesEXT where
sizeOf :: PhysicalDeviceProvokingVertexPropertiesEXT -> Int
sizeOf ~PhysicalDeviceProvokingVertexPropertiesEXT
_ = 24
alignment :: PhysicalDeviceProvokingVertexPropertiesEXT -> Int
alignment ~PhysicalDeviceProvokingVertexPropertiesEXT
_ = 8
peek :: Ptr PhysicalDeviceProvokingVertexPropertiesEXT
-> IO PhysicalDeviceProvokingVertexPropertiesEXT
peek = Ptr PhysicalDeviceProvokingVertexPropertiesEXT
-> IO PhysicalDeviceProvokingVertexPropertiesEXT
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr PhysicalDeviceProvokingVertexPropertiesEXT
-> PhysicalDeviceProvokingVertexPropertiesEXT -> IO ()
poke ptr :: Ptr PhysicalDeviceProvokingVertexPropertiesEXT
ptr poked :: PhysicalDeviceProvokingVertexPropertiesEXT
poked = Ptr PhysicalDeviceProvokingVertexPropertiesEXT
-> PhysicalDeviceProvokingVertexPropertiesEXT -> IO () -> IO ()
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceProvokingVertexPropertiesEXT
ptr PhysicalDeviceProvokingVertexPropertiesEXT
poked (() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero PhysicalDeviceProvokingVertexPropertiesEXT where
zero :: PhysicalDeviceProvokingVertexPropertiesEXT
zero = Bool -> Bool -> PhysicalDeviceProvokingVertexPropertiesEXT
PhysicalDeviceProvokingVertexPropertiesEXT
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
data PipelineRasterizationProvokingVertexStateCreateInfoEXT = PipelineRasterizationProvokingVertexStateCreateInfoEXT
{
PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> ProvokingVertexModeEXT
provokingVertexMode :: ProvokingVertexModeEXT }
deriving (Typeable, PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> PipelineRasterizationProvokingVertexStateCreateInfoEXT -> Bool
(PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> PipelineRasterizationProvokingVertexStateCreateInfoEXT -> Bool)
-> (PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> PipelineRasterizationProvokingVertexStateCreateInfoEXT -> Bool)
-> Eq PipelineRasterizationProvokingVertexStateCreateInfoEXT
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> PipelineRasterizationProvokingVertexStateCreateInfoEXT -> Bool
$c/= :: PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> PipelineRasterizationProvokingVertexStateCreateInfoEXT -> Bool
== :: PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> PipelineRasterizationProvokingVertexStateCreateInfoEXT -> Bool
$c== :: PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> PipelineRasterizationProvokingVertexStateCreateInfoEXT -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (PipelineRasterizationProvokingVertexStateCreateInfoEXT)
#endif
deriving instance Show PipelineRasterizationProvokingVertexStateCreateInfoEXT
instance ToCStruct PipelineRasterizationProvokingVertexStateCreateInfoEXT where
withCStruct :: PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> (Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> IO b)
-> IO b
withCStruct x :: PipelineRasterizationProvokingVertexStateCreateInfoEXT
x f :: Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT -> IO b
f = Int
-> Int
-> (Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> IO b)
-> IO b
forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b
allocaBytesAligned 24 8 ((Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> IO b)
-> IO b)
-> (Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> IO b)
-> IO b
forall a b. (a -> b) -> a -> b
$ \p :: Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
p -> Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> IO b
-> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
p PipelineRasterizationProvokingVertexStateCreateInfoEXT
x (Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT -> IO b
f Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
p)
pokeCStruct :: Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> IO b
-> IO b
pokeCStruct p :: Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
p PipelineRasterizationProvokingVertexStateCreateInfoEXT{..} f :: IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
p Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
p Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr ProvokingVertexModeEXT -> ProvokingVertexModeEXT -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
p Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> Int -> Ptr ProvokingVertexModeEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16 :: Ptr ProvokingVertexModeEXT)) (ProvokingVertexModeEXT
provokingVertexMode)
IO b
f
cStructSize :: Int
cStructSize = 24
cStructAlignment :: Int
cStructAlignment = 8
pokeZeroCStruct :: Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> IO b -> IO b
pokeZeroCStruct p :: Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
p f :: IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
p Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
p Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr ProvokingVertexModeEXT -> ProvokingVertexModeEXT -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
p Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> Int -> Ptr ProvokingVertexModeEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16 :: Ptr ProvokingVertexModeEXT)) (ProvokingVertexModeEXT
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct PipelineRasterizationProvokingVertexStateCreateInfoEXT where
peekCStruct :: Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> IO PipelineRasterizationProvokingVertexStateCreateInfoEXT
peekCStruct p :: Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
p = do
ProvokingVertexModeEXT
provokingVertexMode <- Ptr ProvokingVertexModeEXT -> IO ProvokingVertexModeEXT
forall a. Storable a => Ptr a -> IO a
peek @ProvokingVertexModeEXT ((Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
p Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> Int -> Ptr ProvokingVertexModeEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16 :: Ptr ProvokingVertexModeEXT))
PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> IO PipelineRasterizationProvokingVertexStateCreateInfoEXT
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> IO PipelineRasterizationProvokingVertexStateCreateInfoEXT)
-> PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> IO PipelineRasterizationProvokingVertexStateCreateInfoEXT
forall a b. (a -> b) -> a -> b
$ ProvokingVertexModeEXT
-> PipelineRasterizationProvokingVertexStateCreateInfoEXT
PipelineRasterizationProvokingVertexStateCreateInfoEXT
ProvokingVertexModeEXT
provokingVertexMode
instance Storable PipelineRasterizationProvokingVertexStateCreateInfoEXT where
sizeOf :: PipelineRasterizationProvokingVertexStateCreateInfoEXT -> Int
sizeOf ~PipelineRasterizationProvokingVertexStateCreateInfoEXT
_ = 24
alignment :: PipelineRasterizationProvokingVertexStateCreateInfoEXT -> Int
alignment ~PipelineRasterizationProvokingVertexStateCreateInfoEXT
_ = 8
peek :: Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> IO PipelineRasterizationProvokingVertexStateCreateInfoEXT
peek = Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> IO PipelineRasterizationProvokingVertexStateCreateInfoEXT
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> PipelineRasterizationProvokingVertexStateCreateInfoEXT -> IO ()
poke ptr :: Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
ptr poked :: PipelineRasterizationProvokingVertexStateCreateInfoEXT
poked = Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> IO ()
-> IO ()
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
poked (() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero PipelineRasterizationProvokingVertexStateCreateInfoEXT where
zero :: PipelineRasterizationProvokingVertexStateCreateInfoEXT
zero = ProvokingVertexModeEXT
-> PipelineRasterizationProvokingVertexStateCreateInfoEXT
PipelineRasterizationProvokingVertexStateCreateInfoEXT
ProvokingVertexModeEXT
forall a. Zero a => a
zero
newtype ProvokingVertexModeEXT = ProvokingVertexModeEXT Int32
deriving newtype (ProvokingVertexModeEXT -> ProvokingVertexModeEXT -> Bool
(ProvokingVertexModeEXT -> ProvokingVertexModeEXT -> Bool)
-> (ProvokingVertexModeEXT -> ProvokingVertexModeEXT -> Bool)
-> Eq ProvokingVertexModeEXT
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ProvokingVertexModeEXT -> ProvokingVertexModeEXT -> Bool
$c/= :: ProvokingVertexModeEXT -> ProvokingVertexModeEXT -> Bool
== :: ProvokingVertexModeEXT -> ProvokingVertexModeEXT -> Bool
$c== :: ProvokingVertexModeEXT -> ProvokingVertexModeEXT -> Bool
Eq, Eq ProvokingVertexModeEXT
Eq ProvokingVertexModeEXT =>
(ProvokingVertexModeEXT -> ProvokingVertexModeEXT -> Ordering)
-> (ProvokingVertexModeEXT -> ProvokingVertexModeEXT -> Bool)
-> (ProvokingVertexModeEXT -> ProvokingVertexModeEXT -> Bool)
-> (ProvokingVertexModeEXT -> ProvokingVertexModeEXT -> Bool)
-> (ProvokingVertexModeEXT -> ProvokingVertexModeEXT -> Bool)
-> (ProvokingVertexModeEXT
-> ProvokingVertexModeEXT -> ProvokingVertexModeEXT)
-> (ProvokingVertexModeEXT
-> ProvokingVertexModeEXT -> ProvokingVertexModeEXT)
-> Ord ProvokingVertexModeEXT
ProvokingVertexModeEXT -> ProvokingVertexModeEXT -> Bool
ProvokingVertexModeEXT -> ProvokingVertexModeEXT -> Ordering
ProvokingVertexModeEXT
-> ProvokingVertexModeEXT -> ProvokingVertexModeEXT
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: ProvokingVertexModeEXT
-> ProvokingVertexModeEXT -> ProvokingVertexModeEXT
$cmin :: ProvokingVertexModeEXT
-> ProvokingVertexModeEXT -> ProvokingVertexModeEXT
max :: ProvokingVertexModeEXT
-> ProvokingVertexModeEXT -> ProvokingVertexModeEXT
$cmax :: ProvokingVertexModeEXT
-> ProvokingVertexModeEXT -> ProvokingVertexModeEXT
>= :: ProvokingVertexModeEXT -> ProvokingVertexModeEXT -> Bool
$c>= :: ProvokingVertexModeEXT -> ProvokingVertexModeEXT -> Bool
> :: ProvokingVertexModeEXT -> ProvokingVertexModeEXT -> Bool
$c> :: ProvokingVertexModeEXT -> ProvokingVertexModeEXT -> Bool
<= :: ProvokingVertexModeEXT -> ProvokingVertexModeEXT -> Bool
$c<= :: ProvokingVertexModeEXT -> ProvokingVertexModeEXT -> Bool
< :: ProvokingVertexModeEXT -> ProvokingVertexModeEXT -> Bool
$c< :: ProvokingVertexModeEXT -> ProvokingVertexModeEXT -> Bool
compare :: ProvokingVertexModeEXT -> ProvokingVertexModeEXT -> Ordering
$ccompare :: ProvokingVertexModeEXT -> ProvokingVertexModeEXT -> Ordering
$cp1Ord :: Eq ProvokingVertexModeEXT
Ord, Ptr b -> Int -> IO ProvokingVertexModeEXT
Ptr b -> Int -> ProvokingVertexModeEXT -> IO ()
Ptr ProvokingVertexModeEXT -> IO ProvokingVertexModeEXT
Ptr ProvokingVertexModeEXT -> Int -> IO ProvokingVertexModeEXT
Ptr ProvokingVertexModeEXT
-> Int -> ProvokingVertexModeEXT -> IO ()
Ptr ProvokingVertexModeEXT -> ProvokingVertexModeEXT -> IO ()
ProvokingVertexModeEXT -> Int
(ProvokingVertexModeEXT -> Int)
-> (ProvokingVertexModeEXT -> Int)
-> (Ptr ProvokingVertexModeEXT -> Int -> IO ProvokingVertexModeEXT)
-> (Ptr ProvokingVertexModeEXT
-> Int -> ProvokingVertexModeEXT -> IO ())
-> (forall b. Ptr b -> Int -> IO ProvokingVertexModeEXT)
-> (forall b. Ptr b -> Int -> ProvokingVertexModeEXT -> IO ())
-> (Ptr ProvokingVertexModeEXT -> IO ProvokingVertexModeEXT)
-> (Ptr ProvokingVertexModeEXT -> ProvokingVertexModeEXT -> IO ())
-> Storable ProvokingVertexModeEXT
forall b. Ptr b -> Int -> IO ProvokingVertexModeEXT
forall b. Ptr b -> Int -> ProvokingVertexModeEXT -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
poke :: Ptr ProvokingVertexModeEXT -> ProvokingVertexModeEXT -> IO ()
$cpoke :: Ptr ProvokingVertexModeEXT -> ProvokingVertexModeEXT -> IO ()
peek :: Ptr ProvokingVertexModeEXT -> IO ProvokingVertexModeEXT
$cpeek :: Ptr ProvokingVertexModeEXT -> IO ProvokingVertexModeEXT
pokeByteOff :: Ptr b -> Int -> ProvokingVertexModeEXT -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> ProvokingVertexModeEXT -> IO ()
peekByteOff :: Ptr b -> Int -> IO ProvokingVertexModeEXT
$cpeekByteOff :: forall b. Ptr b -> Int -> IO ProvokingVertexModeEXT
pokeElemOff :: Ptr ProvokingVertexModeEXT
-> Int -> ProvokingVertexModeEXT -> IO ()
$cpokeElemOff :: Ptr ProvokingVertexModeEXT
-> Int -> ProvokingVertexModeEXT -> IO ()
peekElemOff :: Ptr ProvokingVertexModeEXT -> Int -> IO ProvokingVertexModeEXT
$cpeekElemOff :: Ptr ProvokingVertexModeEXT -> Int -> IO ProvokingVertexModeEXT
alignment :: ProvokingVertexModeEXT -> Int
$calignment :: ProvokingVertexModeEXT -> Int
sizeOf :: ProvokingVertexModeEXT -> Int
$csizeOf :: ProvokingVertexModeEXT -> Int
Storable, ProvokingVertexModeEXT
ProvokingVertexModeEXT -> Zero ProvokingVertexModeEXT
forall a. a -> Zero a
zero :: ProvokingVertexModeEXT
$czero :: ProvokingVertexModeEXT
Zero)
pattern $bPROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT :: ProvokingVertexModeEXT
$mPROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT :: forall r.
ProvokingVertexModeEXT -> (Void# -> r) -> (Void# -> r) -> r
PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT = ProvokingVertexModeEXT 0
pattern $bPROVOKING_VERTEX_MODE_LAST_VERTEX_EXT :: ProvokingVertexModeEXT
$mPROVOKING_VERTEX_MODE_LAST_VERTEX_EXT :: forall r.
ProvokingVertexModeEXT -> (Void# -> r) -> (Void# -> r) -> r
PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT = ProvokingVertexModeEXT 1
{-# complete PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT,
PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT :: ProvokingVertexModeEXT #-}
conNameProvokingVertexModeEXT :: String
conNameProvokingVertexModeEXT :: String
conNameProvokingVertexModeEXT = "ProvokingVertexModeEXT"
enumPrefixProvokingVertexModeEXT :: String
enumPrefixProvokingVertexModeEXT :: String
enumPrefixProvokingVertexModeEXT = "PROVOKING_VERTEX_MODE_"
showTableProvokingVertexModeEXT :: [(ProvokingVertexModeEXT, String)]
showTableProvokingVertexModeEXT :: [(ProvokingVertexModeEXT, String)]
showTableProvokingVertexModeEXT =
[ (ProvokingVertexModeEXT
PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT, "FIRST_VERTEX_EXT")
, (ProvokingVertexModeEXT
PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT , "LAST_VERTEX_EXT")
]
instance Show ProvokingVertexModeEXT where
showsPrec :: Int -> ProvokingVertexModeEXT -> ShowS
showsPrec = String
-> [(ProvokingVertexModeEXT, String)]
-> String
-> (ProvokingVertexModeEXT -> Int32)
-> (Int32 -> ShowS)
-> Int
-> ProvokingVertexModeEXT
-> ShowS
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec String
enumPrefixProvokingVertexModeEXT
[(ProvokingVertexModeEXT, String)]
showTableProvokingVertexModeEXT
String
conNameProvokingVertexModeEXT
(\(ProvokingVertexModeEXT x :: Int32
x) -> Int32
x)
(Int -> Int32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec 11)
instance Read ProvokingVertexModeEXT where
readPrec :: ReadPrec ProvokingVertexModeEXT
readPrec = String
-> [(ProvokingVertexModeEXT, String)]
-> String
-> (Int32 -> ProvokingVertexModeEXT)
-> ReadPrec ProvokingVertexModeEXT
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec String
enumPrefixProvokingVertexModeEXT
[(ProvokingVertexModeEXT, String)]
showTableProvokingVertexModeEXT
String
conNameProvokingVertexModeEXT
Int32 -> ProvokingVertexModeEXT
ProvokingVertexModeEXT
type EXT_PROVOKING_VERTEX_SPEC_VERSION = 1
pattern EXT_PROVOKING_VERTEX_SPEC_VERSION :: forall a . Integral a => a
pattern $bEXT_PROVOKING_VERTEX_SPEC_VERSION :: a
$mEXT_PROVOKING_VERTEX_SPEC_VERSION :: forall r a. Integral a => a -> (Void# -> r) -> (Void# -> r) -> r
EXT_PROVOKING_VERTEX_SPEC_VERSION = 1
type EXT_PROVOKING_VERTEX_EXTENSION_NAME = "VK_EXT_provoking_vertex"
pattern EXT_PROVOKING_VERTEX_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
pattern $bEXT_PROVOKING_VERTEX_EXTENSION_NAME :: a
$mEXT_PROVOKING_VERTEX_EXTENSION_NAME :: forall r a.
(Eq a, IsString a) =>
a -> (Void# -> r) -> (Void# -> r) -> r
EXT_PROVOKING_VERTEX_EXTENSION_NAME = "VK_EXT_provoking_vertex"