{-# language CPP #-}
module Vulkan.Extensions.VK_EXT_pipeline_creation_feedback ( PipelineCreationFeedbackEXT(..)
, PipelineCreationFeedbackCreateInfoEXT(..)
, PipelineCreationFeedbackFlagBitsEXT( PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT
, PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT
, PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT
, ..
)
, PipelineCreationFeedbackFlagsEXT
, EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION
, pattern EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION
, EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME
, pattern EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME
) where
import Foreign.Marshal.Alloc (allocaBytesAligned)
import Foreign.Ptr (nullPtr)
import Foreign.Ptr (plusPtr)
import GHC.Read (choose)
import GHC.Read (expectP)
import GHC.Read (parens)
import GHC.Show (showParen)
import GHC.Show (showString)
import Numeric (showHex)
import Text.ParserCombinators.ReadPrec ((+++))
import Text.ParserCombinators.ReadPrec (prec)
import Text.ParserCombinators.ReadPrec (step)
import Data.Bits (Bits)
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 Foreign.Ptr (Ptr)
import GHC.Read (Read(readPrec))
import Data.Word (Word32)
import Data.Word (Word64)
import Text.Read.Lex (Lexeme(Ident))
import Data.Kind (Type)
import Vulkan.Core10.BaseType (Flags)
import Vulkan.CStruct (FromCStruct)
import Vulkan.CStruct (FromCStruct(..))
import Vulkan.Core10.Enums.StructureType (StructureType)
import Vulkan.CStruct (ToCStruct)
import Vulkan.CStruct (ToCStruct(..))
import Vulkan.Zero (Zero)
import Vulkan.Zero (Zero(..))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT))
data PipelineCreationFeedbackEXT = PipelineCreationFeedbackEXT
{
PipelineCreationFeedbackEXT -> PipelineCreationFeedbackFlagsEXT
flags :: PipelineCreationFeedbackFlagsEXT
,
PipelineCreationFeedbackEXT -> Word64
duration :: Word64
}
deriving (Typeable)
deriving instance Show PipelineCreationFeedbackEXT
instance ToCStruct PipelineCreationFeedbackEXT where
withCStruct :: PipelineCreationFeedbackEXT
-> (Ptr PipelineCreationFeedbackEXT -> IO b) -> IO b
withCStruct x :: PipelineCreationFeedbackEXT
x f :: Ptr PipelineCreationFeedbackEXT -> IO b
f = Int -> Int -> (Ptr PipelineCreationFeedbackEXT -> IO b) -> IO b
forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b
allocaBytesAligned 16 8 ((Ptr PipelineCreationFeedbackEXT -> IO b) -> IO b)
-> (Ptr PipelineCreationFeedbackEXT -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \p :: Ptr PipelineCreationFeedbackEXT
p -> Ptr PipelineCreationFeedbackEXT
-> PipelineCreationFeedbackEXT -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PipelineCreationFeedbackEXT
p PipelineCreationFeedbackEXT
x (Ptr PipelineCreationFeedbackEXT -> IO b
f Ptr PipelineCreationFeedbackEXT
p)
pokeCStruct :: Ptr PipelineCreationFeedbackEXT
-> PipelineCreationFeedbackEXT -> IO b -> IO b
pokeCStruct p :: Ptr PipelineCreationFeedbackEXT
p PipelineCreationFeedbackEXT{..} f :: IO b
f = do
Ptr PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineCreationFeedbackEXT
p Ptr PipelineCreationFeedbackEXT
-> Int -> Ptr PipelineCreationFeedbackFlagsEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 0 :: Ptr PipelineCreationFeedbackFlagsEXT)) (PipelineCreationFeedbackFlagsEXT
flags)
Ptr Word64 -> Word64 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineCreationFeedbackEXT
p Ptr PipelineCreationFeedbackEXT -> Int -> Ptr Word64
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 8 :: Ptr Word64)) (Word64
duration)
IO b
f
cStructSize :: Int
cStructSize = 16
cStructAlignment :: Int
cStructAlignment = 8
pokeZeroCStruct :: Ptr PipelineCreationFeedbackEXT -> IO b -> IO b
pokeZeroCStruct p :: Ptr PipelineCreationFeedbackEXT
p f :: IO b
f = do
Ptr PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineCreationFeedbackEXT
p Ptr PipelineCreationFeedbackEXT
-> Int -> Ptr PipelineCreationFeedbackFlagsEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 0 :: Ptr PipelineCreationFeedbackFlagsEXT)) (PipelineCreationFeedbackFlagsEXT
forall a. Zero a => a
zero)
Ptr Word64 -> Word64 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineCreationFeedbackEXT
p Ptr PipelineCreationFeedbackEXT -> Int -> Ptr Word64
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 8 :: Ptr Word64)) (Word64
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct PipelineCreationFeedbackEXT where
peekCStruct :: Ptr PipelineCreationFeedbackEXT -> IO PipelineCreationFeedbackEXT
peekCStruct p :: Ptr PipelineCreationFeedbackEXT
p = do
PipelineCreationFeedbackFlagsEXT
flags <- Ptr PipelineCreationFeedbackFlagsEXT
-> IO PipelineCreationFeedbackFlagsEXT
forall a. Storable a => Ptr a -> IO a
peek @PipelineCreationFeedbackFlagsEXT ((Ptr PipelineCreationFeedbackEXT
p Ptr PipelineCreationFeedbackEXT
-> Int -> Ptr PipelineCreationFeedbackFlagsEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 0 :: Ptr PipelineCreationFeedbackFlagsEXT))
Word64
duration <- Ptr Word64 -> IO Word64
forall a. Storable a => Ptr a -> IO a
peek @Word64 ((Ptr PipelineCreationFeedbackEXT
p Ptr PipelineCreationFeedbackEXT -> Int -> Ptr Word64
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 8 :: Ptr Word64))
PipelineCreationFeedbackEXT -> IO PipelineCreationFeedbackEXT
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PipelineCreationFeedbackEXT -> IO PipelineCreationFeedbackEXT)
-> PipelineCreationFeedbackEXT -> IO PipelineCreationFeedbackEXT
forall a b. (a -> b) -> a -> b
$ PipelineCreationFeedbackFlagsEXT
-> Word64 -> PipelineCreationFeedbackEXT
PipelineCreationFeedbackEXT
PipelineCreationFeedbackFlagsEXT
flags Word64
duration
instance Storable PipelineCreationFeedbackEXT where
sizeOf :: PipelineCreationFeedbackEXT -> Int
sizeOf ~PipelineCreationFeedbackEXT
_ = 16
alignment :: PipelineCreationFeedbackEXT -> Int
alignment ~PipelineCreationFeedbackEXT
_ = 8
peek :: Ptr PipelineCreationFeedbackEXT -> IO PipelineCreationFeedbackEXT
peek = Ptr PipelineCreationFeedbackEXT -> IO PipelineCreationFeedbackEXT
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr PipelineCreationFeedbackEXT
-> PipelineCreationFeedbackEXT -> IO ()
poke ptr :: Ptr PipelineCreationFeedbackEXT
ptr poked :: PipelineCreationFeedbackEXT
poked = Ptr PipelineCreationFeedbackEXT
-> PipelineCreationFeedbackEXT -> IO () -> IO ()
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PipelineCreationFeedbackEXT
ptr PipelineCreationFeedbackEXT
poked (() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero PipelineCreationFeedbackEXT where
zero :: PipelineCreationFeedbackEXT
zero = PipelineCreationFeedbackFlagsEXT
-> Word64 -> PipelineCreationFeedbackEXT
PipelineCreationFeedbackEXT
PipelineCreationFeedbackFlagsEXT
forall a. Zero a => a
zero
Word64
forall a. Zero a => a
zero
data PipelineCreationFeedbackCreateInfoEXT = PipelineCreationFeedbackCreateInfoEXT
{
PipelineCreationFeedbackCreateInfoEXT
-> Ptr PipelineCreationFeedbackEXT
pipelineCreationFeedback :: Ptr PipelineCreationFeedbackEXT
,
PipelineCreationFeedbackCreateInfoEXT -> Word32
pipelineStageCreationFeedbackCount :: Word32
,
PipelineCreationFeedbackCreateInfoEXT
-> Ptr PipelineCreationFeedbackEXT
pipelineStageCreationFeedbacks :: Ptr PipelineCreationFeedbackEXT
}
deriving (Typeable)
deriving instance Show PipelineCreationFeedbackCreateInfoEXT
instance ToCStruct PipelineCreationFeedbackCreateInfoEXT where
withCStruct :: PipelineCreationFeedbackCreateInfoEXT
-> (Ptr PipelineCreationFeedbackCreateInfoEXT -> IO b) -> IO b
withCStruct x :: PipelineCreationFeedbackCreateInfoEXT
x f :: Ptr PipelineCreationFeedbackCreateInfoEXT -> IO b
f = Int
-> Int
-> (Ptr PipelineCreationFeedbackCreateInfoEXT -> IO b)
-> IO b
forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b
allocaBytesAligned 40 8 ((Ptr PipelineCreationFeedbackCreateInfoEXT -> IO b) -> IO b)
-> (Ptr PipelineCreationFeedbackCreateInfoEXT -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \p :: Ptr PipelineCreationFeedbackCreateInfoEXT
p -> Ptr PipelineCreationFeedbackCreateInfoEXT
-> PipelineCreationFeedbackCreateInfoEXT -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PipelineCreationFeedbackCreateInfoEXT
p PipelineCreationFeedbackCreateInfoEXT
x (Ptr PipelineCreationFeedbackCreateInfoEXT -> IO b
f Ptr PipelineCreationFeedbackCreateInfoEXT
p)
pokeCStruct :: Ptr PipelineCreationFeedbackCreateInfoEXT
-> PipelineCreationFeedbackCreateInfoEXT -> IO b -> IO b
pokeCStruct p :: Ptr PipelineCreationFeedbackCreateInfoEXT
p PipelineCreationFeedbackCreateInfoEXT{..} f :: IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineCreationFeedbackCreateInfoEXT
p Ptr PipelineCreationFeedbackCreateInfoEXT
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineCreationFeedbackCreateInfoEXT
p Ptr PipelineCreationFeedbackCreateInfoEXT -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr (Ptr PipelineCreationFeedbackEXT)
-> Ptr PipelineCreationFeedbackEXT -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineCreationFeedbackCreateInfoEXT
p Ptr PipelineCreationFeedbackCreateInfoEXT
-> Int -> Ptr (Ptr PipelineCreationFeedbackEXT)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16 :: Ptr (Ptr PipelineCreationFeedbackEXT))) (Ptr PipelineCreationFeedbackEXT
pipelineCreationFeedback)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineCreationFeedbackCreateInfoEXT
p Ptr PipelineCreationFeedbackCreateInfoEXT -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 24 :: Ptr Word32)) (Word32
pipelineStageCreationFeedbackCount)
Ptr (Ptr PipelineCreationFeedbackEXT)
-> Ptr PipelineCreationFeedbackEXT -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineCreationFeedbackCreateInfoEXT
p Ptr PipelineCreationFeedbackCreateInfoEXT
-> Int -> Ptr (Ptr PipelineCreationFeedbackEXT)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 32 :: Ptr (Ptr PipelineCreationFeedbackEXT))) (Ptr PipelineCreationFeedbackEXT
pipelineStageCreationFeedbacks)
IO b
f
cStructSize :: Int
cStructSize = 40
cStructAlignment :: Int
cStructAlignment = 8
pokeZeroCStruct :: Ptr PipelineCreationFeedbackCreateInfoEXT -> IO b -> IO b
pokeZeroCStruct p :: Ptr PipelineCreationFeedbackCreateInfoEXT
p f :: IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineCreationFeedbackCreateInfoEXT
p Ptr PipelineCreationFeedbackCreateInfoEXT
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineCreationFeedbackCreateInfoEXT
p Ptr PipelineCreationFeedbackCreateInfoEXT -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr (Ptr PipelineCreationFeedbackEXT)
-> Ptr PipelineCreationFeedbackEXT -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineCreationFeedbackCreateInfoEXT
p Ptr PipelineCreationFeedbackCreateInfoEXT
-> Int -> Ptr (Ptr PipelineCreationFeedbackEXT)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16 :: Ptr (Ptr PipelineCreationFeedbackEXT))) (Ptr PipelineCreationFeedbackEXT
forall a. Zero a => a
zero)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineCreationFeedbackCreateInfoEXT
p Ptr PipelineCreationFeedbackCreateInfoEXT -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 24 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
Ptr (Ptr PipelineCreationFeedbackEXT)
-> Ptr PipelineCreationFeedbackEXT -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineCreationFeedbackCreateInfoEXT
p Ptr PipelineCreationFeedbackCreateInfoEXT
-> Int -> Ptr (Ptr PipelineCreationFeedbackEXT)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 32 :: Ptr (Ptr PipelineCreationFeedbackEXT))) (Ptr PipelineCreationFeedbackEXT
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct PipelineCreationFeedbackCreateInfoEXT where
peekCStruct :: Ptr PipelineCreationFeedbackCreateInfoEXT
-> IO PipelineCreationFeedbackCreateInfoEXT
peekCStruct p :: Ptr PipelineCreationFeedbackCreateInfoEXT
p = do
Ptr PipelineCreationFeedbackEXT
pPipelineCreationFeedback <- Ptr (Ptr PipelineCreationFeedbackEXT)
-> IO (Ptr PipelineCreationFeedbackEXT)
forall a. Storable a => Ptr a -> IO a
peek @(Ptr PipelineCreationFeedbackEXT) ((Ptr PipelineCreationFeedbackCreateInfoEXT
p Ptr PipelineCreationFeedbackCreateInfoEXT
-> Int -> Ptr (Ptr PipelineCreationFeedbackEXT)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16 :: Ptr (Ptr PipelineCreationFeedbackEXT)))
Word32
pipelineStageCreationFeedbackCount <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr PipelineCreationFeedbackCreateInfoEXT
p Ptr PipelineCreationFeedbackCreateInfoEXT -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 24 :: Ptr Word32))
Ptr PipelineCreationFeedbackEXT
pPipelineStageCreationFeedbacks <- Ptr (Ptr PipelineCreationFeedbackEXT)
-> IO (Ptr PipelineCreationFeedbackEXT)
forall a. Storable a => Ptr a -> IO a
peek @(Ptr PipelineCreationFeedbackEXT) ((Ptr PipelineCreationFeedbackCreateInfoEXT
p Ptr PipelineCreationFeedbackCreateInfoEXT
-> Int -> Ptr (Ptr PipelineCreationFeedbackEXT)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 32 :: Ptr (Ptr PipelineCreationFeedbackEXT)))
PipelineCreationFeedbackCreateInfoEXT
-> IO PipelineCreationFeedbackCreateInfoEXT
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PipelineCreationFeedbackCreateInfoEXT
-> IO PipelineCreationFeedbackCreateInfoEXT)
-> PipelineCreationFeedbackCreateInfoEXT
-> IO PipelineCreationFeedbackCreateInfoEXT
forall a b. (a -> b) -> a -> b
$ Ptr PipelineCreationFeedbackEXT
-> Word32
-> Ptr PipelineCreationFeedbackEXT
-> PipelineCreationFeedbackCreateInfoEXT
PipelineCreationFeedbackCreateInfoEXT
Ptr PipelineCreationFeedbackEXT
pPipelineCreationFeedback Word32
pipelineStageCreationFeedbackCount Ptr PipelineCreationFeedbackEXT
pPipelineStageCreationFeedbacks
instance Storable PipelineCreationFeedbackCreateInfoEXT where
sizeOf :: PipelineCreationFeedbackCreateInfoEXT -> Int
sizeOf ~PipelineCreationFeedbackCreateInfoEXT
_ = 40
alignment :: PipelineCreationFeedbackCreateInfoEXT -> Int
alignment ~PipelineCreationFeedbackCreateInfoEXT
_ = 8
peek :: Ptr PipelineCreationFeedbackCreateInfoEXT
-> IO PipelineCreationFeedbackCreateInfoEXT
peek = Ptr PipelineCreationFeedbackCreateInfoEXT
-> IO PipelineCreationFeedbackCreateInfoEXT
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr PipelineCreationFeedbackCreateInfoEXT
-> PipelineCreationFeedbackCreateInfoEXT -> IO ()
poke ptr :: Ptr PipelineCreationFeedbackCreateInfoEXT
ptr poked :: PipelineCreationFeedbackCreateInfoEXT
poked = Ptr PipelineCreationFeedbackCreateInfoEXT
-> PipelineCreationFeedbackCreateInfoEXT -> IO () -> IO ()
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PipelineCreationFeedbackCreateInfoEXT
ptr PipelineCreationFeedbackCreateInfoEXT
poked (() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero PipelineCreationFeedbackCreateInfoEXT where
zero :: PipelineCreationFeedbackCreateInfoEXT
zero = Ptr PipelineCreationFeedbackEXT
-> Word32
-> Ptr PipelineCreationFeedbackEXT
-> PipelineCreationFeedbackCreateInfoEXT
PipelineCreationFeedbackCreateInfoEXT
Ptr PipelineCreationFeedbackEXT
forall a. Zero a => a
zero
Word32
forall a. Zero a => a
zero
Ptr PipelineCreationFeedbackEXT
forall a. Zero a => a
zero
newtype PipelineCreationFeedbackFlagBitsEXT = PipelineCreationFeedbackFlagBitsEXT Flags
deriving newtype (PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT -> Bool
(PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT -> Bool)
-> (PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT -> Bool)
-> Eq PipelineCreationFeedbackFlagsEXT
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT -> Bool
$c/= :: PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT -> Bool
== :: PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT -> Bool
$c== :: PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT -> Bool
Eq, Eq PipelineCreationFeedbackFlagsEXT
Eq PipelineCreationFeedbackFlagsEXT =>
(PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT -> Ordering)
-> (PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT -> Bool)
-> (PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT -> Bool)
-> (PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT -> Bool)
-> (PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT -> Bool)
-> (PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT)
-> (PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT)
-> Ord PipelineCreationFeedbackFlagsEXT
PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT -> Bool
PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT -> Ordering
PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT
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 :: PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT
$cmin :: PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT
max :: PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT
$cmax :: PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT
>= :: PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT -> Bool
$c>= :: PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT -> Bool
> :: PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT -> Bool
$c> :: PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT -> Bool
<= :: PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT -> Bool
$c<= :: PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT -> Bool
< :: PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT -> Bool
$c< :: PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT -> Bool
compare :: PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT -> Ordering
$ccompare :: PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT -> Ordering
$cp1Ord :: Eq PipelineCreationFeedbackFlagsEXT
Ord, Ptr b -> Int -> IO PipelineCreationFeedbackFlagsEXT
Ptr b -> Int -> PipelineCreationFeedbackFlagsEXT -> IO ()
Ptr PipelineCreationFeedbackFlagsEXT
-> IO PipelineCreationFeedbackFlagsEXT
Ptr PipelineCreationFeedbackFlagsEXT
-> Int -> IO PipelineCreationFeedbackFlagsEXT
Ptr PipelineCreationFeedbackFlagsEXT
-> Int -> PipelineCreationFeedbackFlagsEXT -> IO ()
Ptr PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT -> IO ()
PipelineCreationFeedbackFlagsEXT -> Int
(PipelineCreationFeedbackFlagsEXT -> Int)
-> (PipelineCreationFeedbackFlagsEXT -> Int)
-> (Ptr PipelineCreationFeedbackFlagsEXT
-> Int -> IO PipelineCreationFeedbackFlagsEXT)
-> (Ptr PipelineCreationFeedbackFlagsEXT
-> Int -> PipelineCreationFeedbackFlagsEXT -> IO ())
-> (forall b. Ptr b -> Int -> IO PipelineCreationFeedbackFlagsEXT)
-> (forall b.
Ptr b -> Int -> PipelineCreationFeedbackFlagsEXT -> IO ())
-> (Ptr PipelineCreationFeedbackFlagsEXT
-> IO PipelineCreationFeedbackFlagsEXT)
-> (Ptr PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT -> IO ())
-> Storable PipelineCreationFeedbackFlagsEXT
forall b. Ptr b -> Int -> IO PipelineCreationFeedbackFlagsEXT
forall b. Ptr b -> Int -> PipelineCreationFeedbackFlagsEXT -> 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 PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT -> IO ()
$cpoke :: Ptr PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT -> IO ()
peek :: Ptr PipelineCreationFeedbackFlagsEXT
-> IO PipelineCreationFeedbackFlagsEXT
$cpeek :: Ptr PipelineCreationFeedbackFlagsEXT
-> IO PipelineCreationFeedbackFlagsEXT
pokeByteOff :: Ptr b -> Int -> PipelineCreationFeedbackFlagsEXT -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> PipelineCreationFeedbackFlagsEXT -> IO ()
peekByteOff :: Ptr b -> Int -> IO PipelineCreationFeedbackFlagsEXT
$cpeekByteOff :: forall b. Ptr b -> Int -> IO PipelineCreationFeedbackFlagsEXT
pokeElemOff :: Ptr PipelineCreationFeedbackFlagsEXT
-> Int -> PipelineCreationFeedbackFlagsEXT -> IO ()
$cpokeElemOff :: Ptr PipelineCreationFeedbackFlagsEXT
-> Int -> PipelineCreationFeedbackFlagsEXT -> IO ()
peekElemOff :: Ptr PipelineCreationFeedbackFlagsEXT
-> Int -> IO PipelineCreationFeedbackFlagsEXT
$cpeekElemOff :: Ptr PipelineCreationFeedbackFlagsEXT
-> Int -> IO PipelineCreationFeedbackFlagsEXT
alignment :: PipelineCreationFeedbackFlagsEXT -> Int
$calignment :: PipelineCreationFeedbackFlagsEXT -> Int
sizeOf :: PipelineCreationFeedbackFlagsEXT -> Int
$csizeOf :: PipelineCreationFeedbackFlagsEXT -> Int
Storable, PipelineCreationFeedbackFlagsEXT
PipelineCreationFeedbackFlagsEXT
-> Zero PipelineCreationFeedbackFlagsEXT
forall a. a -> Zero a
zero :: PipelineCreationFeedbackFlagsEXT
$czero :: PipelineCreationFeedbackFlagsEXT
Zero, Eq PipelineCreationFeedbackFlagsEXT
PipelineCreationFeedbackFlagsEXT
Eq PipelineCreationFeedbackFlagsEXT =>
(PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT)
-> (PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT)
-> (PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT)
-> (PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT)
-> (PipelineCreationFeedbackFlagsEXT
-> Int -> PipelineCreationFeedbackFlagsEXT)
-> (PipelineCreationFeedbackFlagsEXT
-> Int -> PipelineCreationFeedbackFlagsEXT)
-> PipelineCreationFeedbackFlagsEXT
-> (Int -> PipelineCreationFeedbackFlagsEXT)
-> (PipelineCreationFeedbackFlagsEXT
-> Int -> PipelineCreationFeedbackFlagsEXT)
-> (PipelineCreationFeedbackFlagsEXT
-> Int -> PipelineCreationFeedbackFlagsEXT)
-> (PipelineCreationFeedbackFlagsEXT
-> Int -> PipelineCreationFeedbackFlagsEXT)
-> (PipelineCreationFeedbackFlagsEXT -> Int -> Bool)
-> (PipelineCreationFeedbackFlagsEXT -> Maybe Int)
-> (PipelineCreationFeedbackFlagsEXT -> Int)
-> (PipelineCreationFeedbackFlagsEXT -> Bool)
-> (PipelineCreationFeedbackFlagsEXT
-> Int -> PipelineCreationFeedbackFlagsEXT)
-> (PipelineCreationFeedbackFlagsEXT
-> Int -> PipelineCreationFeedbackFlagsEXT)
-> (PipelineCreationFeedbackFlagsEXT
-> Int -> PipelineCreationFeedbackFlagsEXT)
-> (PipelineCreationFeedbackFlagsEXT
-> Int -> PipelineCreationFeedbackFlagsEXT)
-> (PipelineCreationFeedbackFlagsEXT
-> Int -> PipelineCreationFeedbackFlagsEXT)
-> (PipelineCreationFeedbackFlagsEXT
-> Int -> PipelineCreationFeedbackFlagsEXT)
-> (PipelineCreationFeedbackFlagsEXT -> Int)
-> Bits PipelineCreationFeedbackFlagsEXT
Int -> PipelineCreationFeedbackFlagsEXT
PipelineCreationFeedbackFlagsEXT -> Bool
PipelineCreationFeedbackFlagsEXT -> Int
PipelineCreationFeedbackFlagsEXT -> Maybe Int
PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT
PipelineCreationFeedbackFlagsEXT -> Int -> Bool
PipelineCreationFeedbackFlagsEXT
-> Int -> PipelineCreationFeedbackFlagsEXT
PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT
forall a.
Eq a =>
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> a
-> (Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> Bool)
-> (a -> Maybe Int)
-> (a -> Int)
-> (a -> Bool)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int)
-> Bits a
popCount :: PipelineCreationFeedbackFlagsEXT -> Int
$cpopCount :: PipelineCreationFeedbackFlagsEXT -> Int
rotateR :: PipelineCreationFeedbackFlagsEXT
-> Int -> PipelineCreationFeedbackFlagsEXT
$crotateR :: PipelineCreationFeedbackFlagsEXT
-> Int -> PipelineCreationFeedbackFlagsEXT
rotateL :: PipelineCreationFeedbackFlagsEXT
-> Int -> PipelineCreationFeedbackFlagsEXT
$crotateL :: PipelineCreationFeedbackFlagsEXT
-> Int -> PipelineCreationFeedbackFlagsEXT
unsafeShiftR :: PipelineCreationFeedbackFlagsEXT
-> Int -> PipelineCreationFeedbackFlagsEXT
$cunsafeShiftR :: PipelineCreationFeedbackFlagsEXT
-> Int -> PipelineCreationFeedbackFlagsEXT
shiftR :: PipelineCreationFeedbackFlagsEXT
-> Int -> PipelineCreationFeedbackFlagsEXT
$cshiftR :: PipelineCreationFeedbackFlagsEXT
-> Int -> PipelineCreationFeedbackFlagsEXT
unsafeShiftL :: PipelineCreationFeedbackFlagsEXT
-> Int -> PipelineCreationFeedbackFlagsEXT
$cunsafeShiftL :: PipelineCreationFeedbackFlagsEXT
-> Int -> PipelineCreationFeedbackFlagsEXT
shiftL :: PipelineCreationFeedbackFlagsEXT
-> Int -> PipelineCreationFeedbackFlagsEXT
$cshiftL :: PipelineCreationFeedbackFlagsEXT
-> Int -> PipelineCreationFeedbackFlagsEXT
isSigned :: PipelineCreationFeedbackFlagsEXT -> Bool
$cisSigned :: PipelineCreationFeedbackFlagsEXT -> Bool
bitSize :: PipelineCreationFeedbackFlagsEXT -> Int
$cbitSize :: PipelineCreationFeedbackFlagsEXT -> Int
bitSizeMaybe :: PipelineCreationFeedbackFlagsEXT -> Maybe Int
$cbitSizeMaybe :: PipelineCreationFeedbackFlagsEXT -> Maybe Int
testBit :: PipelineCreationFeedbackFlagsEXT -> Int -> Bool
$ctestBit :: PipelineCreationFeedbackFlagsEXT -> Int -> Bool
complementBit :: PipelineCreationFeedbackFlagsEXT
-> Int -> PipelineCreationFeedbackFlagsEXT
$ccomplementBit :: PipelineCreationFeedbackFlagsEXT
-> Int -> PipelineCreationFeedbackFlagsEXT
clearBit :: PipelineCreationFeedbackFlagsEXT
-> Int -> PipelineCreationFeedbackFlagsEXT
$cclearBit :: PipelineCreationFeedbackFlagsEXT
-> Int -> PipelineCreationFeedbackFlagsEXT
setBit :: PipelineCreationFeedbackFlagsEXT
-> Int -> PipelineCreationFeedbackFlagsEXT
$csetBit :: PipelineCreationFeedbackFlagsEXT
-> Int -> PipelineCreationFeedbackFlagsEXT
bit :: Int -> PipelineCreationFeedbackFlagsEXT
$cbit :: Int -> PipelineCreationFeedbackFlagsEXT
zeroBits :: PipelineCreationFeedbackFlagsEXT
$czeroBits :: PipelineCreationFeedbackFlagsEXT
rotate :: PipelineCreationFeedbackFlagsEXT
-> Int -> PipelineCreationFeedbackFlagsEXT
$crotate :: PipelineCreationFeedbackFlagsEXT
-> Int -> PipelineCreationFeedbackFlagsEXT
shift :: PipelineCreationFeedbackFlagsEXT
-> Int -> PipelineCreationFeedbackFlagsEXT
$cshift :: PipelineCreationFeedbackFlagsEXT
-> Int -> PipelineCreationFeedbackFlagsEXT
complement :: PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT
$ccomplement :: PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT
xor :: PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT
$cxor :: PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT
.|. :: PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT
$c.|. :: PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT
.&. :: PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT
$c.&. :: PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT
-> PipelineCreationFeedbackFlagsEXT
$cp1Bits :: Eq PipelineCreationFeedbackFlagsEXT
Bits)
pattern $bPIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT :: PipelineCreationFeedbackFlagsEXT
$mPIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT :: forall r.
PipelineCreationFeedbackFlagsEXT
-> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = PipelineCreationFeedbackFlagBitsEXT 0x00000001
pattern $bPIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT :: PipelineCreationFeedbackFlagsEXT
$mPIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT :: forall r.
PipelineCreationFeedbackFlagsEXT
-> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = PipelineCreationFeedbackFlagBitsEXT 0x00000002
pattern $bPIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT :: PipelineCreationFeedbackFlagsEXT
$mPIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT :: forall r.
PipelineCreationFeedbackFlagsEXT
-> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = PipelineCreationFeedbackFlagBitsEXT 0x00000004
type PipelineCreationFeedbackFlagsEXT = PipelineCreationFeedbackFlagBitsEXT
instance Show PipelineCreationFeedbackFlagBitsEXT where
showsPrec :: Int -> PipelineCreationFeedbackFlagsEXT -> ShowS
showsPrec p :: Int
p = \case
PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT -> String -> ShowS
showString "PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT"
PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT -> String -> ShowS
showString "PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT"
PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT -> String -> ShowS
showString "PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT"
PipelineCreationFeedbackFlagBitsEXT x :: Word32
x -> Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= 11) (String -> ShowS
showString "PipelineCreationFeedbackFlagBitsEXT 0x" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word32 -> ShowS
forall a. (Integral a, Show a) => a -> ShowS
showHex Word32
x)
instance Read PipelineCreationFeedbackFlagBitsEXT where
readPrec :: ReadPrec PipelineCreationFeedbackFlagsEXT
readPrec = ReadPrec PipelineCreationFeedbackFlagsEXT
-> ReadPrec PipelineCreationFeedbackFlagsEXT
forall a. ReadPrec a -> ReadPrec a
parens ([(String, ReadPrec PipelineCreationFeedbackFlagsEXT)]
-> ReadPrec PipelineCreationFeedbackFlagsEXT
forall a. [(String, ReadPrec a)] -> ReadPrec a
choose [("PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT", PipelineCreationFeedbackFlagsEXT
-> ReadPrec PipelineCreationFeedbackFlagsEXT
forall (f :: * -> *) a. Applicative f => a -> f a
pure PipelineCreationFeedbackFlagsEXT
PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT)
, ("PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT", PipelineCreationFeedbackFlagsEXT
-> ReadPrec PipelineCreationFeedbackFlagsEXT
forall (f :: * -> *) a. Applicative f => a -> f a
pure PipelineCreationFeedbackFlagsEXT
PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT)
, ("PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT", PipelineCreationFeedbackFlagsEXT
-> ReadPrec PipelineCreationFeedbackFlagsEXT
forall (f :: * -> *) a. Applicative f => a -> f a
pure PipelineCreationFeedbackFlagsEXT
PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT)]
ReadPrec PipelineCreationFeedbackFlagsEXT
-> ReadPrec PipelineCreationFeedbackFlagsEXT
-> ReadPrec PipelineCreationFeedbackFlagsEXT
forall a. ReadPrec a -> ReadPrec a -> ReadPrec a
+++
Int
-> ReadPrec PipelineCreationFeedbackFlagsEXT
-> ReadPrec PipelineCreationFeedbackFlagsEXT
forall a. Int -> ReadPrec a -> ReadPrec a
prec 10 (do
Lexeme -> ReadPrec ()
expectP (String -> Lexeme
Ident "PipelineCreationFeedbackFlagBitsEXT")
Word32
v <- ReadPrec Word32 -> ReadPrec Word32
forall a. ReadPrec a -> ReadPrec a
step ReadPrec Word32
forall a. Read a => ReadPrec a
readPrec
PipelineCreationFeedbackFlagsEXT
-> ReadPrec PipelineCreationFeedbackFlagsEXT
forall (f :: * -> *) a. Applicative f => a -> f a
pure (Word32 -> PipelineCreationFeedbackFlagsEXT
PipelineCreationFeedbackFlagBitsEXT Word32
v)))
type EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION = 1
pattern EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION :: forall a . Integral a => a
pattern $bEXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION :: a
$mEXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION :: forall r a. Integral a => a -> (Void# -> r) -> (Void# -> r) -> r
EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION = 1
type EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME = "VK_EXT_pipeline_creation_feedback"
pattern EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
pattern $bEXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME :: a
$mEXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME :: forall r a.
(Eq a, IsString a) =>
a -> (Void# -> r) -> (Void# -> r) -> r
EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME = "VK_EXT_pipeline_creation_feedback"