{-# 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 (allocaBytes)
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
$c== :: PhysicalDeviceProvokingVertexFeaturesEXT
-> PhysicalDeviceProvokingVertexFeaturesEXT -> Bool
== :: PhysicalDeviceProvokingVertexFeaturesEXT
-> PhysicalDeviceProvokingVertexFeaturesEXT -> Bool
$c/= :: PhysicalDeviceProvokingVertexFeaturesEXT
-> PhysicalDeviceProvokingVertexFeaturesEXT -> Bool
/= :: PhysicalDeviceProvokingVertexFeaturesEXT
-> PhysicalDeviceProvokingVertexFeaturesEXT -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (PhysicalDeviceProvokingVertexFeaturesEXT)
#endif
deriving instance Show PhysicalDeviceProvokingVertexFeaturesEXT
instance ToCStruct PhysicalDeviceProvokingVertexFeaturesEXT where
withCStruct :: forall b.
PhysicalDeviceProvokingVertexFeaturesEXT
-> (Ptr PhysicalDeviceProvokingVertexFeaturesEXT -> IO b) -> IO b
withCStruct PhysicalDeviceProvokingVertexFeaturesEXT
x Ptr PhysicalDeviceProvokingVertexFeaturesEXT -> IO b
f = Int
-> (Ptr PhysicalDeviceProvokingVertexFeaturesEXT -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
24 ((Ptr PhysicalDeviceProvokingVertexFeaturesEXT -> IO b) -> IO b)
-> (Ptr PhysicalDeviceProvokingVertexFeaturesEXT -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr PhysicalDeviceProvokingVertexFeaturesEXT
p -> Ptr PhysicalDeviceProvokingVertexFeaturesEXT
-> PhysicalDeviceProvokingVertexFeaturesEXT -> IO b -> IO b
forall b.
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 :: forall b.
Ptr PhysicalDeviceProvokingVertexFeaturesEXT
-> PhysicalDeviceProvokingVertexFeaturesEXT -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceProvokingVertexFeaturesEXT
p PhysicalDeviceProvokingVertexFeaturesEXT{Bool
$sel:provokingVertexLast:PhysicalDeviceProvokingVertexFeaturesEXT :: PhysicalDeviceProvokingVertexFeaturesEXT -> Bool
$sel:transformFeedbackPreservesProvokingVertex:PhysicalDeviceProvokingVertexFeaturesEXT :: PhysicalDeviceProvokingVertexFeaturesEXT -> Bool
provokingVertexLast :: Bool
transformFeedbackPreservesProvokingVertex :: Bool
..} 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` Int
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` Int
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` Int
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` Int
20 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
transformFeedbackPreservesProvokingVertex))
IO b
f
cStructSize :: Int
cStructSize = Int
24
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b.
Ptr PhysicalDeviceProvokingVertexFeaturesEXT -> IO b -> IO b
pokeZeroCStruct Ptr PhysicalDeviceProvokingVertexFeaturesEXT
p 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` Int
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` Int
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` Int
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` Int
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 Ptr PhysicalDeviceProvokingVertexFeaturesEXT
p = do
Bool32
provokingVertexLast <- 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` Int
16 :: Ptr Bool32))
Bool32
transformFeedbackPreservesProvokingVertex <- 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` Int
20 :: Ptr Bool32))
PhysicalDeviceProvokingVertexFeaturesEXT
-> IO PhysicalDeviceProvokingVertexFeaturesEXT
forall a. a -> IO a
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
_ = Int
24
alignment :: PhysicalDeviceProvokingVertexFeaturesEXT -> Int
alignment ~PhysicalDeviceProvokingVertexFeaturesEXT
_ = Int
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 PhysicalDeviceProvokingVertexFeaturesEXT
ptr PhysicalDeviceProvokingVertexFeaturesEXT
poked = Ptr PhysicalDeviceProvokingVertexFeaturesEXT
-> PhysicalDeviceProvokingVertexFeaturesEXT -> IO () -> IO ()
forall b.
Ptr PhysicalDeviceProvokingVertexFeaturesEXT
-> PhysicalDeviceProvokingVertexFeaturesEXT -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceProvokingVertexFeaturesEXT
ptr PhysicalDeviceProvokingVertexFeaturesEXT
poked (() -> IO ()
forall a. a -> IO a
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
$c== :: PhysicalDeviceProvokingVertexPropertiesEXT
-> PhysicalDeviceProvokingVertexPropertiesEXT -> Bool
== :: PhysicalDeviceProvokingVertexPropertiesEXT
-> PhysicalDeviceProvokingVertexPropertiesEXT -> Bool
$c/= :: PhysicalDeviceProvokingVertexPropertiesEXT
-> PhysicalDeviceProvokingVertexPropertiesEXT -> Bool
/= :: PhysicalDeviceProvokingVertexPropertiesEXT
-> PhysicalDeviceProvokingVertexPropertiesEXT -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (PhysicalDeviceProvokingVertexPropertiesEXT)
#endif
deriving instance Show PhysicalDeviceProvokingVertexPropertiesEXT
instance ToCStruct PhysicalDeviceProvokingVertexPropertiesEXT where
withCStruct :: forall b.
PhysicalDeviceProvokingVertexPropertiesEXT
-> (Ptr PhysicalDeviceProvokingVertexPropertiesEXT -> IO b) -> IO b
withCStruct PhysicalDeviceProvokingVertexPropertiesEXT
x Ptr PhysicalDeviceProvokingVertexPropertiesEXT -> IO b
f = Int
-> (Ptr PhysicalDeviceProvokingVertexPropertiesEXT -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
24 ((Ptr PhysicalDeviceProvokingVertexPropertiesEXT -> IO b) -> IO b)
-> (Ptr PhysicalDeviceProvokingVertexPropertiesEXT -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr PhysicalDeviceProvokingVertexPropertiesEXT
p -> Ptr PhysicalDeviceProvokingVertexPropertiesEXT
-> PhysicalDeviceProvokingVertexPropertiesEXT -> IO b -> IO b
forall b.
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 :: forall b.
Ptr PhysicalDeviceProvokingVertexPropertiesEXT
-> PhysicalDeviceProvokingVertexPropertiesEXT -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceProvokingVertexPropertiesEXT
p PhysicalDeviceProvokingVertexPropertiesEXT{Bool
$sel:provokingVertexModePerPipeline:PhysicalDeviceProvokingVertexPropertiesEXT :: PhysicalDeviceProvokingVertexPropertiesEXT -> Bool
$sel:transformFeedbackPreservesTriangleFanProvokingVertex:PhysicalDeviceProvokingVertexPropertiesEXT :: PhysicalDeviceProvokingVertexPropertiesEXT -> Bool
provokingVertexModePerPipeline :: Bool
transformFeedbackPreservesTriangleFanProvokingVertex :: Bool
..} 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` Int
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` Int
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` Int
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` Int
20 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
transformFeedbackPreservesTriangleFanProvokingVertex))
IO b
f
cStructSize :: Int
cStructSize = Int
24
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b.
Ptr PhysicalDeviceProvokingVertexPropertiesEXT -> IO b -> IO b
pokeZeroCStruct Ptr PhysicalDeviceProvokingVertexPropertiesEXT
p 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` Int
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` Int
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` Int
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` Int
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 Ptr PhysicalDeviceProvokingVertexPropertiesEXT
p = do
Bool32
provokingVertexModePerPipeline <- 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` Int
16 :: Ptr Bool32))
Bool32
transformFeedbackPreservesTriangleFanProvokingVertex <- 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` Int
20 :: Ptr Bool32))
PhysicalDeviceProvokingVertexPropertiesEXT
-> IO PhysicalDeviceProvokingVertexPropertiesEXT
forall a. a -> IO a
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
_ = Int
24
alignment :: PhysicalDeviceProvokingVertexPropertiesEXT -> Int
alignment ~PhysicalDeviceProvokingVertexPropertiesEXT
_ = Int
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 PhysicalDeviceProvokingVertexPropertiesEXT
ptr PhysicalDeviceProvokingVertexPropertiesEXT
poked = Ptr PhysicalDeviceProvokingVertexPropertiesEXT
-> PhysicalDeviceProvokingVertexPropertiesEXT -> IO () -> IO ()
forall b.
Ptr PhysicalDeviceProvokingVertexPropertiesEXT
-> PhysicalDeviceProvokingVertexPropertiesEXT -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceProvokingVertexPropertiesEXT
ptr PhysicalDeviceProvokingVertexPropertiesEXT
poked (() -> IO ()
forall a. a -> IO a
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
$c== :: PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> PipelineRasterizationProvokingVertexStateCreateInfoEXT -> Bool
== :: PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> PipelineRasterizationProvokingVertexStateCreateInfoEXT -> Bool
$c/= :: PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> PipelineRasterizationProvokingVertexStateCreateInfoEXT -> Bool
/= :: PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> PipelineRasterizationProvokingVertexStateCreateInfoEXT -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (PipelineRasterizationProvokingVertexStateCreateInfoEXT)
#endif
deriving instance Show PipelineRasterizationProvokingVertexStateCreateInfoEXT
instance ToCStruct PipelineRasterizationProvokingVertexStateCreateInfoEXT where
withCStruct :: forall b.
PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> (Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> IO b)
-> IO b
withCStruct PipelineRasterizationProvokingVertexStateCreateInfoEXT
x Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT -> IO b
f = Int
-> (Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> IO b)
-> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
24 ((Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> IO b)
-> IO b)
-> (Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> IO b)
-> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
p -> Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> IO b
-> IO b
forall b.
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 :: forall b.
Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> IO b
-> IO b
pokeCStruct Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
p PipelineRasterizationProvokingVertexStateCreateInfoEXT{ProvokingVertexModeEXT
$sel:provokingVertexMode:PipelineRasterizationProvokingVertexStateCreateInfoEXT :: PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> ProvokingVertexModeEXT
provokingVertexMode :: ProvokingVertexModeEXT
..} 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` Int
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` Int
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` Int
16 :: Ptr ProvokingVertexModeEXT)) (ProvokingVertexModeEXT
provokingVertexMode)
IO b
f
cStructSize :: Int
cStructSize = Int
24
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b.
Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> IO b -> IO b
pokeZeroCStruct Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
p 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` Int
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` Int
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` Int
16 :: Ptr ProvokingVertexModeEXT)) (ProvokingVertexModeEXT
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct PipelineRasterizationProvokingVertexStateCreateInfoEXT where
peekCStruct :: Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> IO PipelineRasterizationProvokingVertexStateCreateInfoEXT
peekCStruct Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
p = do
ProvokingVertexModeEXT
provokingVertexMode <- 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` Int
16 :: Ptr ProvokingVertexModeEXT))
PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> IO PipelineRasterizationProvokingVertexStateCreateInfoEXT
forall a. a -> IO a
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
_ = Int
24
alignment :: PipelineRasterizationProvokingVertexStateCreateInfoEXT -> Int
alignment ~PipelineRasterizationProvokingVertexStateCreateInfoEXT
_ = Int
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 PipelineRasterizationProvokingVertexStateCreateInfoEXT
ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
poked = Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> IO ()
-> IO ()
forall b.
Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> PipelineRasterizationProvokingVertexStateCreateInfoEXT
-> IO b
-> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
ptr PipelineRasterizationProvokingVertexStateCreateInfoEXT
poked (() -> IO ()
forall a. a -> IO a
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
$c== :: ProvokingVertexModeEXT -> ProvokingVertexModeEXT -> Bool
== :: ProvokingVertexModeEXT -> ProvokingVertexModeEXT -> Bool
$c/= :: ProvokingVertexModeEXT -> ProvokingVertexModeEXT -> Bool
/= :: 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
$ccompare :: ProvokingVertexModeEXT -> ProvokingVertexModeEXT -> Ordering
compare :: ProvokingVertexModeEXT -> ProvokingVertexModeEXT -> Ordering
$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
>= :: ProvokingVertexModeEXT -> ProvokingVertexModeEXT -> Bool
$cmax :: ProvokingVertexModeEXT
-> ProvokingVertexModeEXT -> ProvokingVertexModeEXT
max :: ProvokingVertexModeEXT
-> ProvokingVertexModeEXT -> ProvokingVertexModeEXT
$cmin :: ProvokingVertexModeEXT
-> ProvokingVertexModeEXT -> ProvokingVertexModeEXT
min :: ProvokingVertexModeEXT
-> ProvokingVertexModeEXT -> ProvokingVertexModeEXT
Ord, 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
$csizeOf :: ProvokingVertexModeEXT -> Int
sizeOf :: ProvokingVertexModeEXT -> Int
$calignment :: ProvokingVertexModeEXT -> Int
alignment :: ProvokingVertexModeEXT -> Int
$cpeekElemOff :: Ptr ProvokingVertexModeEXT -> Int -> IO ProvokingVertexModeEXT
peekElemOff :: Ptr ProvokingVertexModeEXT -> Int -> IO ProvokingVertexModeEXT
$cpokeElemOff :: Ptr ProvokingVertexModeEXT
-> Int -> ProvokingVertexModeEXT -> IO ()
pokeElemOff :: Ptr ProvokingVertexModeEXT
-> Int -> ProvokingVertexModeEXT -> IO ()
$cpeekByteOff :: forall b. Ptr b -> Int -> IO ProvokingVertexModeEXT
peekByteOff :: forall b. Ptr b -> Int -> IO ProvokingVertexModeEXT
$cpokeByteOff :: forall b. Ptr b -> Int -> ProvokingVertexModeEXT -> IO ()
pokeByteOff :: forall b. Ptr b -> Int -> ProvokingVertexModeEXT -> IO ()
$cpeek :: Ptr ProvokingVertexModeEXT -> IO ProvokingVertexModeEXT
peek :: Ptr ProvokingVertexModeEXT -> IO ProvokingVertexModeEXT
$cpoke :: Ptr ProvokingVertexModeEXT -> ProvokingVertexModeEXT -> IO ()
poke :: Ptr ProvokingVertexModeEXT -> ProvokingVertexModeEXT -> IO ()
Storable, ProvokingVertexModeEXT
ProvokingVertexModeEXT -> Zero ProvokingVertexModeEXT
forall a. a -> Zero a
$czero :: ProvokingVertexModeEXT
zero :: ProvokingVertexModeEXT
Zero)
pattern $mPROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT :: forall {r}.
ProvokingVertexModeEXT -> ((# #) -> r) -> ((# #) -> r) -> r
$bPROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT :: ProvokingVertexModeEXT
PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT = ProvokingVertexModeEXT 0
pattern $mPROVOKING_VERTEX_MODE_LAST_VERTEX_EXT :: forall {r}.
ProvokingVertexModeEXT -> ((# #) -> r) -> ((# #) -> r) -> r
$bPROVOKING_VERTEX_MODE_LAST_VERTEX_EXT :: ProvokingVertexModeEXT
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 = String
"ProvokingVertexModeEXT"
enumPrefixProvokingVertexModeEXT :: String
enumPrefixProvokingVertexModeEXT :: String
enumPrefixProvokingVertexModeEXT = String
"PROVOKING_VERTEX_MODE_"
showTableProvokingVertexModeEXT :: [(ProvokingVertexModeEXT, String)]
showTableProvokingVertexModeEXT :: [(ProvokingVertexModeEXT, String)]
showTableProvokingVertexModeEXT =
[
( ProvokingVertexModeEXT
PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT
, String
"FIRST_VERTEX_EXT"
)
,
( ProvokingVertexModeEXT
PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT
, String
"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 Int32
x) -> Int32
x)
(Int -> Int32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
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 $mEXT_PROVOKING_VERTEX_SPEC_VERSION :: forall {r} {a}.
Integral a =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bEXT_PROVOKING_VERTEX_SPEC_VERSION :: forall a. Integral a => a
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 $mEXT_PROVOKING_VERTEX_EXTENSION_NAME :: forall {r} {a}.
(Eq a, IsString a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bEXT_PROVOKING_VERTEX_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
EXT_PROVOKING_VERTEX_EXTENSION_NAME = "VK_EXT_provoking_vertex"