{-# language CPP #-}
module Vulkan.Extensions.VK_LUNARG_direct_driver_loading ( DirectDriverLoadingInfoLUNARG(..)
, DirectDriverLoadingListLUNARG(..)
, DirectDriverLoadingFlagsLUNARG(..)
, DirectDriverLoadingModeLUNARG( DIRECT_DRIVER_LOADING_MODE_EXCLUSIVE_LUNARG
, DIRECT_DRIVER_LOADING_MODE_INCLUSIVE_LUNARG
, ..
)
, PFN_vkGetInstanceProcAddrLUNARG
, FN_vkGetInstanceProcAddrLUNARG
, LUNARG_DIRECT_DRIVER_LOADING_SPEC_VERSION
, pattern LUNARG_DIRECT_DRIVER_LOADING_SPEC_VERSION
, LUNARG_DIRECT_DRIVER_LOADING_EXTENSION_NAME
, pattern LUNARG_DIRECT_DRIVER_LOADING_EXTENSION_NAME
) where
import Data.Bits (Bits)
import Data.Bits (FiniteBits)
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 (showString)
import GHC.Show (showsPrec)
import Numeric (showHex)
import Control.Monad.Trans.Class (lift)
import Control.Monad.Trans.Cont (evalContT)
import Data.Vector (generateM)
import qualified Data.Vector (imapM_)
import qualified Data.Vector (length)
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.C.Types (CChar)
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 (FunPtr)
import Foreign.Ptr (Ptr)
import GHC.Read (Read(readPrec))
import GHC.Show (Show(showsPrec))
import Data.Word (Word32)
import Data.Kind (Type)
import Control.Monad.Trans.Cont (ContT(..))
import Data.Vector (Vector)
import Vulkan.CStruct.Utils (advancePtrBytes)
import Vulkan.NamedType ((:::))
import Vulkan.Core10.FundamentalTypes (Flags)
import Vulkan.Core10.Handles (Instance_T)
import Vulkan.Core10.FuncPointers (PFN_vkVoidFunction)
import Vulkan.Core10.Enums.StructureType (StructureType)
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_INFO_LUNARG))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_LIST_LUNARG))
data DirectDriverLoadingInfoLUNARG = DirectDriverLoadingInfoLUNARG
{
DirectDriverLoadingInfoLUNARG -> DirectDriverLoadingFlagsLUNARG
flags :: DirectDriverLoadingFlagsLUNARG
,
DirectDriverLoadingInfoLUNARG -> PFN_vkGetInstanceProcAddrLUNARG
pfnGetInstanceProcAddr :: PFN_vkGetInstanceProcAddrLUNARG
}
deriving (Typeable, DirectDriverLoadingInfoLUNARG
-> DirectDriverLoadingInfoLUNARG -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DirectDriverLoadingInfoLUNARG
-> DirectDriverLoadingInfoLUNARG -> Bool
$c/= :: DirectDriverLoadingInfoLUNARG
-> DirectDriverLoadingInfoLUNARG -> Bool
== :: DirectDriverLoadingInfoLUNARG
-> DirectDriverLoadingInfoLUNARG -> Bool
$c== :: DirectDriverLoadingInfoLUNARG
-> DirectDriverLoadingInfoLUNARG -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (DirectDriverLoadingInfoLUNARG)
#endif
deriving instance Show DirectDriverLoadingInfoLUNARG
instance ToCStruct DirectDriverLoadingInfoLUNARG where
withCStruct :: forall b.
DirectDriverLoadingInfoLUNARG
-> (Ptr DirectDriverLoadingInfoLUNARG -> IO b) -> IO b
withCStruct DirectDriverLoadingInfoLUNARG
x Ptr DirectDriverLoadingInfoLUNARG -> IO b
f = forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
32 forall a b. (a -> b) -> a -> b
$ \Ptr DirectDriverLoadingInfoLUNARG
p -> forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr DirectDriverLoadingInfoLUNARG
p DirectDriverLoadingInfoLUNARG
x (Ptr DirectDriverLoadingInfoLUNARG -> IO b
f Ptr DirectDriverLoadingInfoLUNARG
p)
pokeCStruct :: forall b.
Ptr DirectDriverLoadingInfoLUNARG
-> DirectDriverLoadingInfoLUNARG -> IO b -> IO b
pokeCStruct Ptr DirectDriverLoadingInfoLUNARG
p DirectDriverLoadingInfoLUNARG{PFN_vkGetInstanceProcAddrLUNARG
DirectDriverLoadingFlagsLUNARG
pfnGetInstanceProcAddr :: PFN_vkGetInstanceProcAddrLUNARG
flags :: DirectDriverLoadingFlagsLUNARG
$sel:pfnGetInstanceProcAddr:DirectDriverLoadingInfoLUNARG :: DirectDriverLoadingInfoLUNARG -> PFN_vkGetInstanceProcAddrLUNARG
$sel:flags:DirectDriverLoadingInfoLUNARG :: DirectDriverLoadingInfoLUNARG -> DirectDriverLoadingFlagsLUNARG
..} IO b
f = do
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DirectDriverLoadingInfoLUNARG
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_INFO_LUNARG)
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DirectDriverLoadingInfoLUNARG
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (forall a. Ptr a
nullPtr)
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DirectDriverLoadingInfoLUNARG
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr DirectDriverLoadingFlagsLUNARG)) (DirectDriverLoadingFlagsLUNARG
flags)
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DirectDriverLoadingInfoLUNARG
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr PFN_vkGetInstanceProcAddrLUNARG)) (PFN_vkGetInstanceProcAddrLUNARG
pfnGetInstanceProcAddr)
IO b
f
cStructSize :: Int
cStructSize = Int
32
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b. Ptr DirectDriverLoadingInfoLUNARG -> IO b -> IO b
pokeZeroCStruct Ptr DirectDriverLoadingInfoLUNARG
p IO b
f = do
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DirectDriverLoadingInfoLUNARG
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_INFO_LUNARG)
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DirectDriverLoadingInfoLUNARG
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (forall a. Ptr a
nullPtr)
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DirectDriverLoadingInfoLUNARG
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr DirectDriverLoadingFlagsLUNARG)) (forall a. Zero a => a
zero)
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DirectDriverLoadingInfoLUNARG
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr PFN_vkGetInstanceProcAddrLUNARG)) (forall a. Zero a => a
zero)
IO b
f
instance FromCStruct DirectDriverLoadingInfoLUNARG where
peekCStruct :: Ptr DirectDriverLoadingInfoLUNARG
-> IO DirectDriverLoadingInfoLUNARG
peekCStruct Ptr DirectDriverLoadingInfoLUNARG
p = do
DirectDriverLoadingFlagsLUNARG
flags <- forall a. Storable a => Ptr a -> IO a
peek @DirectDriverLoadingFlagsLUNARG ((Ptr DirectDriverLoadingInfoLUNARG
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr DirectDriverLoadingFlagsLUNARG))
PFN_vkGetInstanceProcAddrLUNARG
pfnGetInstanceProcAddr <- forall a. Storable a => Ptr a -> IO a
peek @PFN_vkGetInstanceProcAddrLUNARG ((Ptr DirectDriverLoadingInfoLUNARG
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr PFN_vkGetInstanceProcAddrLUNARG))
forall (f :: * -> *) a. Applicative f => a -> f a
pure forall a b. (a -> b) -> a -> b
$ DirectDriverLoadingFlagsLUNARG
-> PFN_vkGetInstanceProcAddrLUNARG -> DirectDriverLoadingInfoLUNARG
DirectDriverLoadingInfoLUNARG
DirectDriverLoadingFlagsLUNARG
flags PFN_vkGetInstanceProcAddrLUNARG
pfnGetInstanceProcAddr
instance Storable DirectDriverLoadingInfoLUNARG where
sizeOf :: DirectDriverLoadingInfoLUNARG -> Int
sizeOf ~DirectDriverLoadingInfoLUNARG
_ = Int
32
alignment :: DirectDriverLoadingInfoLUNARG -> Int
alignment ~DirectDriverLoadingInfoLUNARG
_ = Int
8
peek :: Ptr DirectDriverLoadingInfoLUNARG
-> IO DirectDriverLoadingInfoLUNARG
peek = forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr DirectDriverLoadingInfoLUNARG
-> DirectDriverLoadingInfoLUNARG -> IO ()
poke Ptr DirectDriverLoadingInfoLUNARG
ptr DirectDriverLoadingInfoLUNARG
poked = forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr DirectDriverLoadingInfoLUNARG
ptr DirectDriverLoadingInfoLUNARG
poked (forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero DirectDriverLoadingInfoLUNARG where
zero :: DirectDriverLoadingInfoLUNARG
zero = DirectDriverLoadingFlagsLUNARG
-> PFN_vkGetInstanceProcAddrLUNARG -> DirectDriverLoadingInfoLUNARG
DirectDriverLoadingInfoLUNARG
forall a. Zero a => a
zero
forall a. Zero a => a
zero
data DirectDriverLoadingListLUNARG = DirectDriverLoadingListLUNARG
{
DirectDriverLoadingListLUNARG -> DirectDriverLoadingModeLUNARG
mode :: DirectDriverLoadingModeLUNARG
,
DirectDriverLoadingListLUNARG
-> Vector DirectDriverLoadingInfoLUNARG
drivers :: Vector DirectDriverLoadingInfoLUNARG
}
deriving (Typeable)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (DirectDriverLoadingListLUNARG)
#endif
deriving instance Show DirectDriverLoadingListLUNARG
instance ToCStruct DirectDriverLoadingListLUNARG where
withCStruct :: forall b.
DirectDriverLoadingListLUNARG
-> (Ptr DirectDriverLoadingListLUNARG -> IO b) -> IO b
withCStruct DirectDriverLoadingListLUNARG
x Ptr DirectDriverLoadingListLUNARG -> IO b
f = forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
32 forall a b. (a -> b) -> a -> b
$ \Ptr DirectDriverLoadingListLUNARG
p -> forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr DirectDriverLoadingListLUNARG
p DirectDriverLoadingListLUNARG
x (Ptr DirectDriverLoadingListLUNARG -> IO b
f Ptr DirectDriverLoadingListLUNARG
p)
pokeCStruct :: forall b.
Ptr DirectDriverLoadingListLUNARG
-> DirectDriverLoadingListLUNARG -> IO b -> IO b
pokeCStruct Ptr DirectDriverLoadingListLUNARG
p DirectDriverLoadingListLUNARG{Vector DirectDriverLoadingInfoLUNARG
DirectDriverLoadingModeLUNARG
drivers :: Vector DirectDriverLoadingInfoLUNARG
mode :: DirectDriverLoadingModeLUNARG
$sel:drivers:DirectDriverLoadingListLUNARG :: DirectDriverLoadingListLUNARG
-> Vector DirectDriverLoadingInfoLUNARG
$sel:mode:DirectDriverLoadingListLUNARG :: DirectDriverLoadingListLUNARG -> DirectDriverLoadingModeLUNARG
..} IO b
f = forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT forall a b. (a -> b) -> a -> b
$ do
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DirectDriverLoadingListLUNARG
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_LIST_LUNARG)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DirectDriverLoadingListLUNARG
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (forall a. Ptr a
nullPtr)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DirectDriverLoadingListLUNARG
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr DirectDriverLoadingModeLUNARG)) (DirectDriverLoadingModeLUNARG
mode)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DirectDriverLoadingListLUNARG
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Word32)) ((forall a b. (Integral a, Num b) => a -> b
fromIntegral (forall a. Vector a -> Int
Data.Vector.length forall a b. (a -> b) -> a -> b
$ (Vector DirectDriverLoadingInfoLUNARG
drivers)) :: Word32))
Ptr DirectDriverLoadingInfoLUNARG
pPDrivers' <- forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT forall a b. (a -> b) -> a -> b
$ forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes @DirectDriverLoadingInfoLUNARG ((forall a. Vector a -> Int
Data.Vector.length (Vector DirectDriverLoadingInfoLUNARG
drivers)) forall a. Num a => a -> a -> a
* Int
32)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall (m :: * -> *) a b.
Monad m =>
(Int -> a -> m b) -> Vector a -> m ()
Data.Vector.imapM_ (\Int
i DirectDriverLoadingInfoLUNARG
e -> forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr DirectDriverLoadingInfoLUNARG
pPDrivers' forall a b. Ptr a -> Int -> Ptr b
`plusPtr` (Int
32 forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr DirectDriverLoadingInfoLUNARG) (DirectDriverLoadingInfoLUNARG
e)) (Vector DirectDriverLoadingInfoLUNARG
drivers)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DirectDriverLoadingListLUNARG
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr (Ptr DirectDriverLoadingInfoLUNARG))) (Ptr DirectDriverLoadingInfoLUNARG
pPDrivers')
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ IO b
f
cStructSize :: Int
cStructSize = Int
32
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b. Ptr DirectDriverLoadingListLUNARG -> IO b -> IO b
pokeZeroCStruct Ptr DirectDriverLoadingListLUNARG
p IO b
f = do
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DirectDriverLoadingListLUNARG
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_LIST_LUNARG)
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DirectDriverLoadingListLUNARG
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (forall a. Ptr a
nullPtr)
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DirectDriverLoadingListLUNARG
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr DirectDriverLoadingModeLUNARG)) (forall a. Zero a => a
zero)
IO b
f
instance FromCStruct DirectDriverLoadingListLUNARG where
peekCStruct :: Ptr DirectDriverLoadingListLUNARG
-> IO DirectDriverLoadingListLUNARG
peekCStruct Ptr DirectDriverLoadingListLUNARG
p = do
DirectDriverLoadingModeLUNARG
mode <- forall a. Storable a => Ptr a -> IO a
peek @DirectDriverLoadingModeLUNARG ((Ptr DirectDriverLoadingListLUNARG
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr DirectDriverLoadingModeLUNARG))
Word32
driverCount <- forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr DirectDriverLoadingListLUNARG
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Word32))
Ptr DirectDriverLoadingInfoLUNARG
pDrivers <- forall a. Storable a => Ptr a -> IO a
peek @(Ptr DirectDriverLoadingInfoLUNARG) ((Ptr DirectDriverLoadingListLUNARG
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr (Ptr DirectDriverLoadingInfoLUNARG)))
Vector DirectDriverLoadingInfoLUNARG
pDrivers' <- forall (m :: * -> *) a.
Monad m =>
Int -> (Int -> m a) -> m (Vector a)
generateM (forall a b. (Integral a, Num b) => a -> b
fromIntegral Word32
driverCount) (\Int
i -> forall a. FromCStruct a => Ptr a -> IO a
peekCStruct @DirectDriverLoadingInfoLUNARG ((Ptr DirectDriverLoadingInfoLUNARG
pDrivers forall a. Ptr a -> Int -> Ptr a
`advancePtrBytes` (Int
32 forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr DirectDriverLoadingInfoLUNARG)))
forall (f :: * -> *) a. Applicative f => a -> f a
pure forall a b. (a -> b) -> a -> b
$ DirectDriverLoadingModeLUNARG
-> Vector DirectDriverLoadingInfoLUNARG
-> DirectDriverLoadingListLUNARG
DirectDriverLoadingListLUNARG
DirectDriverLoadingModeLUNARG
mode Vector DirectDriverLoadingInfoLUNARG
pDrivers'
instance Zero DirectDriverLoadingListLUNARG where
zero :: DirectDriverLoadingListLUNARG
zero = DirectDriverLoadingModeLUNARG
-> Vector DirectDriverLoadingInfoLUNARG
-> DirectDriverLoadingListLUNARG
DirectDriverLoadingListLUNARG
forall a. Zero a => a
zero
forall a. Monoid a => a
mempty
newtype DirectDriverLoadingFlagsLUNARG = DirectDriverLoadingFlagsLUNARG Flags
deriving newtype (DirectDriverLoadingFlagsLUNARG
-> DirectDriverLoadingFlagsLUNARG -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DirectDriverLoadingFlagsLUNARG
-> DirectDriverLoadingFlagsLUNARG -> Bool
$c/= :: DirectDriverLoadingFlagsLUNARG
-> DirectDriverLoadingFlagsLUNARG -> Bool
== :: DirectDriverLoadingFlagsLUNARG
-> DirectDriverLoadingFlagsLUNARG -> Bool
$c== :: DirectDriverLoadingFlagsLUNARG
-> DirectDriverLoadingFlagsLUNARG -> Bool
Eq, Eq DirectDriverLoadingFlagsLUNARG
DirectDriverLoadingFlagsLUNARG
-> DirectDriverLoadingFlagsLUNARG -> Bool
DirectDriverLoadingFlagsLUNARG
-> DirectDriverLoadingFlagsLUNARG -> Ordering
DirectDriverLoadingFlagsLUNARG
-> DirectDriverLoadingFlagsLUNARG -> DirectDriverLoadingFlagsLUNARG
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 :: DirectDriverLoadingFlagsLUNARG
-> DirectDriverLoadingFlagsLUNARG -> DirectDriverLoadingFlagsLUNARG
$cmin :: DirectDriverLoadingFlagsLUNARG
-> DirectDriverLoadingFlagsLUNARG -> DirectDriverLoadingFlagsLUNARG
max :: DirectDriverLoadingFlagsLUNARG
-> DirectDriverLoadingFlagsLUNARG -> DirectDriverLoadingFlagsLUNARG
$cmax :: DirectDriverLoadingFlagsLUNARG
-> DirectDriverLoadingFlagsLUNARG -> DirectDriverLoadingFlagsLUNARG
>= :: DirectDriverLoadingFlagsLUNARG
-> DirectDriverLoadingFlagsLUNARG -> Bool
$c>= :: DirectDriverLoadingFlagsLUNARG
-> DirectDriverLoadingFlagsLUNARG -> Bool
> :: DirectDriverLoadingFlagsLUNARG
-> DirectDriverLoadingFlagsLUNARG -> Bool
$c> :: DirectDriverLoadingFlagsLUNARG
-> DirectDriverLoadingFlagsLUNARG -> Bool
<= :: DirectDriverLoadingFlagsLUNARG
-> DirectDriverLoadingFlagsLUNARG -> Bool
$c<= :: DirectDriverLoadingFlagsLUNARG
-> DirectDriverLoadingFlagsLUNARG -> Bool
< :: DirectDriverLoadingFlagsLUNARG
-> DirectDriverLoadingFlagsLUNARG -> Bool
$c< :: DirectDriverLoadingFlagsLUNARG
-> DirectDriverLoadingFlagsLUNARG -> Bool
compare :: DirectDriverLoadingFlagsLUNARG
-> DirectDriverLoadingFlagsLUNARG -> Ordering
$ccompare :: DirectDriverLoadingFlagsLUNARG
-> DirectDriverLoadingFlagsLUNARG -> Ordering
Ord, Ptr DirectDriverLoadingFlagsLUNARG
-> IO DirectDriverLoadingFlagsLUNARG
Ptr DirectDriverLoadingFlagsLUNARG
-> Int -> IO DirectDriverLoadingFlagsLUNARG
Ptr DirectDriverLoadingFlagsLUNARG
-> Int -> DirectDriverLoadingFlagsLUNARG -> IO ()
Ptr DirectDriverLoadingFlagsLUNARG
-> DirectDriverLoadingFlagsLUNARG -> IO ()
DirectDriverLoadingFlagsLUNARG -> Int
forall b. Ptr b -> Int -> IO DirectDriverLoadingFlagsLUNARG
forall b. Ptr b -> Int -> DirectDriverLoadingFlagsLUNARG -> 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 DirectDriverLoadingFlagsLUNARG
-> DirectDriverLoadingFlagsLUNARG -> IO ()
$cpoke :: Ptr DirectDriverLoadingFlagsLUNARG
-> DirectDriverLoadingFlagsLUNARG -> IO ()
peek :: Ptr DirectDriverLoadingFlagsLUNARG
-> IO DirectDriverLoadingFlagsLUNARG
$cpeek :: Ptr DirectDriverLoadingFlagsLUNARG
-> IO DirectDriverLoadingFlagsLUNARG
pokeByteOff :: forall b. Ptr b -> Int -> DirectDriverLoadingFlagsLUNARG -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> DirectDriverLoadingFlagsLUNARG -> IO ()
peekByteOff :: forall b. Ptr b -> Int -> IO DirectDriverLoadingFlagsLUNARG
$cpeekByteOff :: forall b. Ptr b -> Int -> IO DirectDriverLoadingFlagsLUNARG
pokeElemOff :: Ptr DirectDriverLoadingFlagsLUNARG
-> Int -> DirectDriverLoadingFlagsLUNARG -> IO ()
$cpokeElemOff :: Ptr DirectDriverLoadingFlagsLUNARG
-> Int -> DirectDriverLoadingFlagsLUNARG -> IO ()
peekElemOff :: Ptr DirectDriverLoadingFlagsLUNARG
-> Int -> IO DirectDriverLoadingFlagsLUNARG
$cpeekElemOff :: Ptr DirectDriverLoadingFlagsLUNARG
-> Int -> IO DirectDriverLoadingFlagsLUNARG
alignment :: DirectDriverLoadingFlagsLUNARG -> Int
$calignment :: DirectDriverLoadingFlagsLUNARG -> Int
sizeOf :: DirectDriverLoadingFlagsLUNARG -> Int
$csizeOf :: DirectDriverLoadingFlagsLUNARG -> Int
Storable, DirectDriverLoadingFlagsLUNARG
forall a. a -> Zero a
zero :: DirectDriverLoadingFlagsLUNARG
$czero :: DirectDriverLoadingFlagsLUNARG
Zero, Eq DirectDriverLoadingFlagsLUNARG
DirectDriverLoadingFlagsLUNARG
Int -> DirectDriverLoadingFlagsLUNARG
DirectDriverLoadingFlagsLUNARG -> Bool
DirectDriverLoadingFlagsLUNARG -> Int
DirectDriverLoadingFlagsLUNARG -> Maybe Int
DirectDriverLoadingFlagsLUNARG -> DirectDriverLoadingFlagsLUNARG
DirectDriverLoadingFlagsLUNARG -> Int -> Bool
DirectDriverLoadingFlagsLUNARG
-> Int -> DirectDriverLoadingFlagsLUNARG
DirectDriverLoadingFlagsLUNARG
-> DirectDriverLoadingFlagsLUNARG -> DirectDriverLoadingFlagsLUNARG
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 :: DirectDriverLoadingFlagsLUNARG -> Int
$cpopCount :: DirectDriverLoadingFlagsLUNARG -> Int
rotateR :: DirectDriverLoadingFlagsLUNARG
-> Int -> DirectDriverLoadingFlagsLUNARG
$crotateR :: DirectDriverLoadingFlagsLUNARG
-> Int -> DirectDriverLoadingFlagsLUNARG
rotateL :: DirectDriverLoadingFlagsLUNARG
-> Int -> DirectDriverLoadingFlagsLUNARG
$crotateL :: DirectDriverLoadingFlagsLUNARG
-> Int -> DirectDriverLoadingFlagsLUNARG
unsafeShiftR :: DirectDriverLoadingFlagsLUNARG
-> Int -> DirectDriverLoadingFlagsLUNARG
$cunsafeShiftR :: DirectDriverLoadingFlagsLUNARG
-> Int -> DirectDriverLoadingFlagsLUNARG
shiftR :: DirectDriverLoadingFlagsLUNARG
-> Int -> DirectDriverLoadingFlagsLUNARG
$cshiftR :: DirectDriverLoadingFlagsLUNARG
-> Int -> DirectDriverLoadingFlagsLUNARG
unsafeShiftL :: DirectDriverLoadingFlagsLUNARG
-> Int -> DirectDriverLoadingFlagsLUNARG
$cunsafeShiftL :: DirectDriverLoadingFlagsLUNARG
-> Int -> DirectDriverLoadingFlagsLUNARG
shiftL :: DirectDriverLoadingFlagsLUNARG
-> Int -> DirectDriverLoadingFlagsLUNARG
$cshiftL :: DirectDriverLoadingFlagsLUNARG
-> Int -> DirectDriverLoadingFlagsLUNARG
isSigned :: DirectDriverLoadingFlagsLUNARG -> Bool
$cisSigned :: DirectDriverLoadingFlagsLUNARG -> Bool
bitSize :: DirectDriverLoadingFlagsLUNARG -> Int
$cbitSize :: DirectDriverLoadingFlagsLUNARG -> Int
bitSizeMaybe :: DirectDriverLoadingFlagsLUNARG -> Maybe Int
$cbitSizeMaybe :: DirectDriverLoadingFlagsLUNARG -> Maybe Int
testBit :: DirectDriverLoadingFlagsLUNARG -> Int -> Bool
$ctestBit :: DirectDriverLoadingFlagsLUNARG -> Int -> Bool
complementBit :: DirectDriverLoadingFlagsLUNARG
-> Int -> DirectDriverLoadingFlagsLUNARG
$ccomplementBit :: DirectDriverLoadingFlagsLUNARG
-> Int -> DirectDriverLoadingFlagsLUNARG
clearBit :: DirectDriverLoadingFlagsLUNARG
-> Int -> DirectDriverLoadingFlagsLUNARG
$cclearBit :: DirectDriverLoadingFlagsLUNARG
-> Int -> DirectDriverLoadingFlagsLUNARG
setBit :: DirectDriverLoadingFlagsLUNARG
-> Int -> DirectDriverLoadingFlagsLUNARG
$csetBit :: DirectDriverLoadingFlagsLUNARG
-> Int -> DirectDriverLoadingFlagsLUNARG
bit :: Int -> DirectDriverLoadingFlagsLUNARG
$cbit :: Int -> DirectDriverLoadingFlagsLUNARG
zeroBits :: DirectDriverLoadingFlagsLUNARG
$czeroBits :: DirectDriverLoadingFlagsLUNARG
rotate :: DirectDriverLoadingFlagsLUNARG
-> Int -> DirectDriverLoadingFlagsLUNARG
$crotate :: DirectDriverLoadingFlagsLUNARG
-> Int -> DirectDriverLoadingFlagsLUNARG
shift :: DirectDriverLoadingFlagsLUNARG
-> Int -> DirectDriverLoadingFlagsLUNARG
$cshift :: DirectDriverLoadingFlagsLUNARG
-> Int -> DirectDriverLoadingFlagsLUNARG
complement :: DirectDriverLoadingFlagsLUNARG -> DirectDriverLoadingFlagsLUNARG
$ccomplement :: DirectDriverLoadingFlagsLUNARG -> DirectDriverLoadingFlagsLUNARG
xor :: DirectDriverLoadingFlagsLUNARG
-> DirectDriverLoadingFlagsLUNARG -> DirectDriverLoadingFlagsLUNARG
$cxor :: DirectDriverLoadingFlagsLUNARG
-> DirectDriverLoadingFlagsLUNARG -> DirectDriverLoadingFlagsLUNARG
.|. :: DirectDriverLoadingFlagsLUNARG
-> DirectDriverLoadingFlagsLUNARG -> DirectDriverLoadingFlagsLUNARG
$c.|. :: DirectDriverLoadingFlagsLUNARG
-> DirectDriverLoadingFlagsLUNARG -> DirectDriverLoadingFlagsLUNARG
.&. :: DirectDriverLoadingFlagsLUNARG
-> DirectDriverLoadingFlagsLUNARG -> DirectDriverLoadingFlagsLUNARG
$c.&. :: DirectDriverLoadingFlagsLUNARG
-> DirectDriverLoadingFlagsLUNARG -> DirectDriverLoadingFlagsLUNARG
Bits, Bits DirectDriverLoadingFlagsLUNARG
DirectDriverLoadingFlagsLUNARG -> Int
forall b.
Bits b -> (b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
countTrailingZeros :: DirectDriverLoadingFlagsLUNARG -> Int
$ccountTrailingZeros :: DirectDriverLoadingFlagsLUNARG -> Int
countLeadingZeros :: DirectDriverLoadingFlagsLUNARG -> Int
$ccountLeadingZeros :: DirectDriverLoadingFlagsLUNARG -> Int
finiteBitSize :: DirectDriverLoadingFlagsLUNARG -> Int
$cfiniteBitSize :: DirectDriverLoadingFlagsLUNARG -> Int
FiniteBits)
conNameDirectDriverLoadingFlagsLUNARG :: String
conNameDirectDriverLoadingFlagsLUNARG :: String
conNameDirectDriverLoadingFlagsLUNARG = String
"DirectDriverLoadingFlagsLUNARG"
enumPrefixDirectDriverLoadingFlagsLUNARG :: String
enumPrefixDirectDriverLoadingFlagsLUNARG :: String
enumPrefixDirectDriverLoadingFlagsLUNARG = String
""
showTableDirectDriverLoadingFlagsLUNARG :: [(DirectDriverLoadingFlagsLUNARG, String)]
showTableDirectDriverLoadingFlagsLUNARG :: [(DirectDriverLoadingFlagsLUNARG, String)]
showTableDirectDriverLoadingFlagsLUNARG = []
instance Show DirectDriverLoadingFlagsLUNARG where
showsPrec :: Int -> DirectDriverLoadingFlagsLUNARG -> ShowS
showsPrec =
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec
String
enumPrefixDirectDriverLoadingFlagsLUNARG
[(DirectDriverLoadingFlagsLUNARG, String)]
showTableDirectDriverLoadingFlagsLUNARG
String
conNameDirectDriverLoadingFlagsLUNARG
(\(DirectDriverLoadingFlagsLUNARG Word32
x) -> Word32
x)
(\Word32
x -> String -> ShowS
showString String
"0x" forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a. (Integral a, Show a) => a -> ShowS
showHex Word32
x)
instance Read DirectDriverLoadingFlagsLUNARG where
readPrec :: ReadPrec DirectDriverLoadingFlagsLUNARG
readPrec =
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec
String
enumPrefixDirectDriverLoadingFlagsLUNARG
[(DirectDriverLoadingFlagsLUNARG, String)]
showTableDirectDriverLoadingFlagsLUNARG
String
conNameDirectDriverLoadingFlagsLUNARG
Word32 -> DirectDriverLoadingFlagsLUNARG
DirectDriverLoadingFlagsLUNARG
newtype DirectDriverLoadingModeLUNARG = DirectDriverLoadingModeLUNARG Int32
deriving newtype (DirectDriverLoadingModeLUNARG
-> DirectDriverLoadingModeLUNARG -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DirectDriverLoadingModeLUNARG
-> DirectDriverLoadingModeLUNARG -> Bool
$c/= :: DirectDriverLoadingModeLUNARG
-> DirectDriverLoadingModeLUNARG -> Bool
== :: DirectDriverLoadingModeLUNARG
-> DirectDriverLoadingModeLUNARG -> Bool
$c== :: DirectDriverLoadingModeLUNARG
-> DirectDriverLoadingModeLUNARG -> Bool
Eq, Eq DirectDriverLoadingModeLUNARG
DirectDriverLoadingModeLUNARG
-> DirectDriverLoadingModeLUNARG -> Bool
DirectDriverLoadingModeLUNARG
-> DirectDriverLoadingModeLUNARG -> Ordering
DirectDriverLoadingModeLUNARG
-> DirectDriverLoadingModeLUNARG -> DirectDriverLoadingModeLUNARG
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 :: DirectDriverLoadingModeLUNARG
-> DirectDriverLoadingModeLUNARG -> DirectDriverLoadingModeLUNARG
$cmin :: DirectDriverLoadingModeLUNARG
-> DirectDriverLoadingModeLUNARG -> DirectDriverLoadingModeLUNARG
max :: DirectDriverLoadingModeLUNARG
-> DirectDriverLoadingModeLUNARG -> DirectDriverLoadingModeLUNARG
$cmax :: DirectDriverLoadingModeLUNARG
-> DirectDriverLoadingModeLUNARG -> DirectDriverLoadingModeLUNARG
>= :: DirectDriverLoadingModeLUNARG
-> DirectDriverLoadingModeLUNARG -> Bool
$c>= :: DirectDriverLoadingModeLUNARG
-> DirectDriverLoadingModeLUNARG -> Bool
> :: DirectDriverLoadingModeLUNARG
-> DirectDriverLoadingModeLUNARG -> Bool
$c> :: DirectDriverLoadingModeLUNARG
-> DirectDriverLoadingModeLUNARG -> Bool
<= :: DirectDriverLoadingModeLUNARG
-> DirectDriverLoadingModeLUNARG -> Bool
$c<= :: DirectDriverLoadingModeLUNARG
-> DirectDriverLoadingModeLUNARG -> Bool
< :: DirectDriverLoadingModeLUNARG
-> DirectDriverLoadingModeLUNARG -> Bool
$c< :: DirectDriverLoadingModeLUNARG
-> DirectDriverLoadingModeLUNARG -> Bool
compare :: DirectDriverLoadingModeLUNARG
-> DirectDriverLoadingModeLUNARG -> Ordering
$ccompare :: DirectDriverLoadingModeLUNARG
-> DirectDriverLoadingModeLUNARG -> Ordering
Ord, Ptr DirectDriverLoadingModeLUNARG
-> IO DirectDriverLoadingModeLUNARG
Ptr DirectDriverLoadingModeLUNARG
-> Int -> IO DirectDriverLoadingModeLUNARG
Ptr DirectDriverLoadingModeLUNARG
-> Int -> DirectDriverLoadingModeLUNARG -> IO ()
Ptr DirectDriverLoadingModeLUNARG
-> DirectDriverLoadingModeLUNARG -> IO ()
DirectDriverLoadingModeLUNARG -> Int
forall b. Ptr b -> Int -> IO DirectDriverLoadingModeLUNARG
forall b. Ptr b -> Int -> DirectDriverLoadingModeLUNARG -> 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 DirectDriverLoadingModeLUNARG
-> DirectDriverLoadingModeLUNARG -> IO ()
$cpoke :: Ptr DirectDriverLoadingModeLUNARG
-> DirectDriverLoadingModeLUNARG -> IO ()
peek :: Ptr DirectDriverLoadingModeLUNARG
-> IO DirectDriverLoadingModeLUNARG
$cpeek :: Ptr DirectDriverLoadingModeLUNARG
-> IO DirectDriverLoadingModeLUNARG
pokeByteOff :: forall b. Ptr b -> Int -> DirectDriverLoadingModeLUNARG -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> DirectDriverLoadingModeLUNARG -> IO ()
peekByteOff :: forall b. Ptr b -> Int -> IO DirectDriverLoadingModeLUNARG
$cpeekByteOff :: forall b. Ptr b -> Int -> IO DirectDriverLoadingModeLUNARG
pokeElemOff :: Ptr DirectDriverLoadingModeLUNARG
-> Int -> DirectDriverLoadingModeLUNARG -> IO ()
$cpokeElemOff :: Ptr DirectDriverLoadingModeLUNARG
-> Int -> DirectDriverLoadingModeLUNARG -> IO ()
peekElemOff :: Ptr DirectDriverLoadingModeLUNARG
-> Int -> IO DirectDriverLoadingModeLUNARG
$cpeekElemOff :: Ptr DirectDriverLoadingModeLUNARG
-> Int -> IO DirectDriverLoadingModeLUNARG
alignment :: DirectDriverLoadingModeLUNARG -> Int
$calignment :: DirectDriverLoadingModeLUNARG -> Int
sizeOf :: DirectDriverLoadingModeLUNARG -> Int
$csizeOf :: DirectDriverLoadingModeLUNARG -> Int
Storable, DirectDriverLoadingModeLUNARG
forall a. a -> Zero a
zero :: DirectDriverLoadingModeLUNARG
$czero :: DirectDriverLoadingModeLUNARG
Zero)
pattern $bDIRECT_DRIVER_LOADING_MODE_EXCLUSIVE_LUNARG :: DirectDriverLoadingModeLUNARG
$mDIRECT_DRIVER_LOADING_MODE_EXCLUSIVE_LUNARG :: forall {r}.
DirectDriverLoadingModeLUNARG -> ((# #) -> r) -> ((# #) -> r) -> r
DIRECT_DRIVER_LOADING_MODE_EXCLUSIVE_LUNARG = DirectDriverLoadingModeLUNARG 0
pattern $bDIRECT_DRIVER_LOADING_MODE_INCLUSIVE_LUNARG :: DirectDriverLoadingModeLUNARG
$mDIRECT_DRIVER_LOADING_MODE_INCLUSIVE_LUNARG :: forall {r}.
DirectDriverLoadingModeLUNARG -> ((# #) -> r) -> ((# #) -> r) -> r
DIRECT_DRIVER_LOADING_MODE_INCLUSIVE_LUNARG = DirectDriverLoadingModeLUNARG 1
{-# COMPLETE
DIRECT_DRIVER_LOADING_MODE_EXCLUSIVE_LUNARG
, DIRECT_DRIVER_LOADING_MODE_INCLUSIVE_LUNARG ::
DirectDriverLoadingModeLUNARG
#-}
conNameDirectDriverLoadingModeLUNARG :: String
conNameDirectDriverLoadingModeLUNARG :: String
conNameDirectDriverLoadingModeLUNARG = String
"DirectDriverLoadingModeLUNARG"
enumPrefixDirectDriverLoadingModeLUNARG :: String
enumPrefixDirectDriverLoadingModeLUNARG :: String
enumPrefixDirectDriverLoadingModeLUNARG = String
"DIRECT_DRIVER_LOADING_MODE_"
showTableDirectDriverLoadingModeLUNARG :: [(DirectDriverLoadingModeLUNARG, String)]
showTableDirectDriverLoadingModeLUNARG :: [(DirectDriverLoadingModeLUNARG, String)]
showTableDirectDriverLoadingModeLUNARG =
[
( DirectDriverLoadingModeLUNARG
DIRECT_DRIVER_LOADING_MODE_EXCLUSIVE_LUNARG
, String
"EXCLUSIVE_LUNARG"
)
,
( DirectDriverLoadingModeLUNARG
DIRECT_DRIVER_LOADING_MODE_INCLUSIVE_LUNARG
, String
"INCLUSIVE_LUNARG"
)
]
instance Show DirectDriverLoadingModeLUNARG where
showsPrec :: Int -> DirectDriverLoadingModeLUNARG -> ShowS
showsPrec =
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec
String
enumPrefixDirectDriverLoadingModeLUNARG
[(DirectDriverLoadingModeLUNARG, String)]
showTableDirectDriverLoadingModeLUNARG
String
conNameDirectDriverLoadingModeLUNARG
(\(DirectDriverLoadingModeLUNARG Int32
x) -> Int32
x)
(forall a. Show a => Int -> a -> ShowS
showsPrec Int
11)
instance Read DirectDriverLoadingModeLUNARG where
readPrec :: ReadPrec DirectDriverLoadingModeLUNARG
readPrec =
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec
String
enumPrefixDirectDriverLoadingModeLUNARG
[(DirectDriverLoadingModeLUNARG, String)]
showTableDirectDriverLoadingModeLUNARG
String
conNameDirectDriverLoadingModeLUNARG
Int32 -> DirectDriverLoadingModeLUNARG
DirectDriverLoadingModeLUNARG
type FN_vkGetInstanceProcAddrLUNARG = Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
type PFN_vkGetInstanceProcAddrLUNARG = FunPtr FN_vkGetInstanceProcAddrLUNARG
type LUNARG_DIRECT_DRIVER_LOADING_SPEC_VERSION = 1
pattern LUNARG_DIRECT_DRIVER_LOADING_SPEC_VERSION :: forall a . Integral a => a
pattern $bLUNARG_DIRECT_DRIVER_LOADING_SPEC_VERSION :: forall a. Integral a => a
$mLUNARG_DIRECT_DRIVER_LOADING_SPEC_VERSION :: forall {r} {a}.
Integral a =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
LUNARG_DIRECT_DRIVER_LOADING_SPEC_VERSION = 1
type LUNARG_DIRECT_DRIVER_LOADING_EXTENSION_NAME = "VK_LUNARG_direct_driver_loading"
pattern LUNARG_DIRECT_DRIVER_LOADING_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
pattern $bLUNARG_DIRECT_DRIVER_LOADING_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
$mLUNARG_DIRECT_DRIVER_LOADING_EXTENSION_NAME :: forall {r} {a}.
(Eq a, IsString a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
LUNARG_DIRECT_DRIVER_LOADING_EXTENSION_NAME = "VK_LUNARG_direct_driver_loading"