{-# language CPP #-}
module Vulkan.Extensions.VK_KHR_global_priority ( pattern QUEUE_GLOBAL_PRIORITY_LOW_EXT
, pattern QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT
, pattern QUEUE_GLOBAL_PRIORITY_HIGH_EXT
, pattern QUEUE_GLOBAL_PRIORITY_REALTIME_EXT
, DeviceQueueGlobalPriorityCreateInfoKHR(..)
, PhysicalDeviceGlobalPriorityQueryFeaturesKHR(..)
, QueueFamilyGlobalPriorityPropertiesKHR(..)
, QueueGlobalPriorityKHR( QUEUE_GLOBAL_PRIORITY_LOW_KHR
, QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR
, QUEUE_GLOBAL_PRIORITY_HIGH_KHR
, QUEUE_GLOBAL_PRIORITY_REALTIME_KHR
, ..
)
, KHR_GLOBAL_PRIORITY_SPEC_VERSION
, pattern KHR_GLOBAL_PRIORITY_SPEC_VERSION
, KHR_GLOBAL_PRIORITY_EXTENSION_NAME
, pattern KHR_GLOBAL_PRIORITY_EXTENSION_NAME
, MAX_GLOBAL_PRIORITY_SIZE_KHR
, pattern MAX_GLOBAL_PRIORITY_SIZE_KHR
) where
import Vulkan.CStruct.Utils (FixedArray)
import Vulkan.Internal.Utils (enumReadPrec)
import Vulkan.Internal.Utils (enumShowsPrec)
import Control.Monad (unless)
import Foreign.Marshal.Alloc (allocaBytes)
import GHC.IO (throwIO)
import Foreign.Ptr (nullPtr)
import Foreign.Ptr (plusPtr)
import GHC.Show (showsPrec)
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.Storable (Storable)
import Foreign.Storable (Storable(peek))
import Foreign.Storable (Storable(poke))
import qualified Foreign.Storable (Storable(..))
import GHC.Generics (Generic)
import GHC.IO.Exception (IOErrorType(..))
import GHC.IO.Exception (IOException(..))
import Data.Int (Int32)
import Foreign.Ptr (Ptr)
import GHC.Read (Read(readPrec))
import GHC.Show (Show(showsPrec))
import Data.Word (Word32)
import Data.Kind (Type)
import Data.Vector (Vector)
import Vulkan.CStruct.Utils (advancePtrBytes)
import Vulkan.Core10.FundamentalTypes (bool32ToBool)
import Vulkan.Core10.FundamentalTypes (boolToBool32)
import Vulkan.CStruct.Utils (lowerArrayPtr)
import Vulkan.Core10.FundamentalTypes (Bool32)
import Vulkan.Core10.APIConstants (MAX_GLOBAL_PRIORITY_SIZE_KHR)
import Vulkan.Core10.Enums.StructureType (StructureType)
import Vulkan.Core10.APIConstants (pattern MAX_GLOBAL_PRIORITY_SIZE_KHR)
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR))
import Vulkan.Core10.APIConstants (MAX_GLOBAL_PRIORITY_SIZE_KHR)
import Vulkan.Core10.APIConstants (pattern MAX_GLOBAL_PRIORITY_SIZE_KHR)
pattern $bQUEUE_GLOBAL_PRIORITY_LOW_EXT :: QueueGlobalPriorityKHR
$mQUEUE_GLOBAL_PRIORITY_LOW_EXT :: forall r.
QueueGlobalPriorityKHR -> (Void# -> r) -> (Void# -> r) -> r
QUEUE_GLOBAL_PRIORITY_LOW_EXT = QUEUE_GLOBAL_PRIORITY_LOW_KHR
pattern $bQUEUE_GLOBAL_PRIORITY_MEDIUM_EXT :: QueueGlobalPriorityKHR
$mQUEUE_GLOBAL_PRIORITY_MEDIUM_EXT :: forall r.
QueueGlobalPriorityKHR -> (Void# -> r) -> (Void# -> r) -> r
QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR
pattern $bQUEUE_GLOBAL_PRIORITY_HIGH_EXT :: QueueGlobalPriorityKHR
$mQUEUE_GLOBAL_PRIORITY_HIGH_EXT :: forall r.
QueueGlobalPriorityKHR -> (Void# -> r) -> (Void# -> r) -> r
QUEUE_GLOBAL_PRIORITY_HIGH_EXT = QUEUE_GLOBAL_PRIORITY_HIGH_KHR
pattern $bQUEUE_GLOBAL_PRIORITY_REALTIME_EXT :: QueueGlobalPriorityKHR
$mQUEUE_GLOBAL_PRIORITY_REALTIME_EXT :: forall r.
QueueGlobalPriorityKHR -> (Void# -> r) -> (Void# -> r) -> r
QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = QUEUE_GLOBAL_PRIORITY_REALTIME_KHR
data DeviceQueueGlobalPriorityCreateInfoKHR = DeviceQueueGlobalPriorityCreateInfoKHR
{
DeviceQueueGlobalPriorityCreateInfoKHR -> QueueGlobalPriorityKHR
globalPriority :: QueueGlobalPriorityKHR }
deriving (Typeable, DeviceQueueGlobalPriorityCreateInfoKHR
-> DeviceQueueGlobalPriorityCreateInfoKHR -> Bool
(DeviceQueueGlobalPriorityCreateInfoKHR
-> DeviceQueueGlobalPriorityCreateInfoKHR -> Bool)
-> (DeviceQueueGlobalPriorityCreateInfoKHR
-> DeviceQueueGlobalPriorityCreateInfoKHR -> Bool)
-> Eq DeviceQueueGlobalPriorityCreateInfoKHR
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeviceQueueGlobalPriorityCreateInfoKHR
-> DeviceQueueGlobalPriorityCreateInfoKHR -> Bool
$c/= :: DeviceQueueGlobalPriorityCreateInfoKHR
-> DeviceQueueGlobalPriorityCreateInfoKHR -> Bool
== :: DeviceQueueGlobalPriorityCreateInfoKHR
-> DeviceQueueGlobalPriorityCreateInfoKHR -> Bool
$c== :: DeviceQueueGlobalPriorityCreateInfoKHR
-> DeviceQueueGlobalPriorityCreateInfoKHR -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (DeviceQueueGlobalPriorityCreateInfoKHR)
#endif
deriving instance Show DeviceQueueGlobalPriorityCreateInfoKHR
instance ToCStruct DeviceQueueGlobalPriorityCreateInfoKHR where
withCStruct :: DeviceQueueGlobalPriorityCreateInfoKHR
-> (Ptr DeviceQueueGlobalPriorityCreateInfoKHR -> IO b) -> IO b
withCStruct DeviceQueueGlobalPriorityCreateInfoKHR
x Ptr DeviceQueueGlobalPriorityCreateInfoKHR -> IO b
f = Int -> (Ptr DeviceQueueGlobalPriorityCreateInfoKHR -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
24 ((Ptr DeviceQueueGlobalPriorityCreateInfoKHR -> IO b) -> IO b)
-> (Ptr DeviceQueueGlobalPriorityCreateInfoKHR -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr DeviceQueueGlobalPriorityCreateInfoKHR
p -> Ptr DeviceQueueGlobalPriorityCreateInfoKHR
-> DeviceQueueGlobalPriorityCreateInfoKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr DeviceQueueGlobalPriorityCreateInfoKHR
p DeviceQueueGlobalPriorityCreateInfoKHR
x (Ptr DeviceQueueGlobalPriorityCreateInfoKHR -> IO b
f Ptr DeviceQueueGlobalPriorityCreateInfoKHR
p)
pokeCStruct :: Ptr DeviceQueueGlobalPriorityCreateInfoKHR
-> DeviceQueueGlobalPriorityCreateInfoKHR -> IO b -> IO b
pokeCStruct Ptr DeviceQueueGlobalPriorityCreateInfoKHR
p DeviceQueueGlobalPriorityCreateInfoKHR{QueueGlobalPriorityKHR
globalPriority :: QueueGlobalPriorityKHR
$sel:globalPriority:DeviceQueueGlobalPriorityCreateInfoKHR :: DeviceQueueGlobalPriorityCreateInfoKHR -> QueueGlobalPriorityKHR
..} IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DeviceQueueGlobalPriorityCreateInfoKHR
p Ptr DeviceQueueGlobalPriorityCreateInfoKHR
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DeviceQueueGlobalPriorityCreateInfoKHR
p Ptr DeviceQueueGlobalPriorityCreateInfoKHR -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr QueueGlobalPriorityKHR -> QueueGlobalPriorityKHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DeviceQueueGlobalPriorityCreateInfoKHR
p Ptr DeviceQueueGlobalPriorityCreateInfoKHR
-> Int -> Ptr QueueGlobalPriorityKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr QueueGlobalPriorityKHR)) (QueueGlobalPriorityKHR
globalPriority)
IO b
f
cStructSize :: Int
cStructSize = Int
24
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: Ptr DeviceQueueGlobalPriorityCreateInfoKHR -> IO b -> IO b
pokeZeroCStruct Ptr DeviceQueueGlobalPriorityCreateInfoKHR
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DeviceQueueGlobalPriorityCreateInfoKHR
p Ptr DeviceQueueGlobalPriorityCreateInfoKHR
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DeviceQueueGlobalPriorityCreateInfoKHR
p Ptr DeviceQueueGlobalPriorityCreateInfoKHR -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr QueueGlobalPriorityKHR -> QueueGlobalPriorityKHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DeviceQueueGlobalPriorityCreateInfoKHR
p Ptr DeviceQueueGlobalPriorityCreateInfoKHR
-> Int -> Ptr QueueGlobalPriorityKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr QueueGlobalPriorityKHR)) (QueueGlobalPriorityKHR
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct DeviceQueueGlobalPriorityCreateInfoKHR where
peekCStruct :: Ptr DeviceQueueGlobalPriorityCreateInfoKHR
-> IO DeviceQueueGlobalPriorityCreateInfoKHR
peekCStruct Ptr DeviceQueueGlobalPriorityCreateInfoKHR
p = do
QueueGlobalPriorityKHR
globalPriority <- Ptr QueueGlobalPriorityKHR -> IO QueueGlobalPriorityKHR
forall a. Storable a => Ptr a -> IO a
peek @QueueGlobalPriorityKHR ((Ptr DeviceQueueGlobalPriorityCreateInfoKHR
p Ptr DeviceQueueGlobalPriorityCreateInfoKHR
-> Int -> Ptr QueueGlobalPriorityKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr QueueGlobalPriorityKHR))
DeviceQueueGlobalPriorityCreateInfoKHR
-> IO DeviceQueueGlobalPriorityCreateInfoKHR
forall (f :: * -> *) a. Applicative f => a -> f a
pure (DeviceQueueGlobalPriorityCreateInfoKHR
-> IO DeviceQueueGlobalPriorityCreateInfoKHR)
-> DeviceQueueGlobalPriorityCreateInfoKHR
-> IO DeviceQueueGlobalPriorityCreateInfoKHR
forall a b. (a -> b) -> a -> b
$ QueueGlobalPriorityKHR -> DeviceQueueGlobalPriorityCreateInfoKHR
DeviceQueueGlobalPriorityCreateInfoKHR
QueueGlobalPriorityKHR
globalPriority
instance Storable DeviceQueueGlobalPriorityCreateInfoKHR where
sizeOf :: DeviceQueueGlobalPriorityCreateInfoKHR -> Int
sizeOf ~DeviceQueueGlobalPriorityCreateInfoKHR
_ = Int
24
alignment :: DeviceQueueGlobalPriorityCreateInfoKHR -> Int
alignment ~DeviceQueueGlobalPriorityCreateInfoKHR
_ = Int
8
peek :: Ptr DeviceQueueGlobalPriorityCreateInfoKHR
-> IO DeviceQueueGlobalPriorityCreateInfoKHR
peek = Ptr DeviceQueueGlobalPriorityCreateInfoKHR
-> IO DeviceQueueGlobalPriorityCreateInfoKHR
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr DeviceQueueGlobalPriorityCreateInfoKHR
-> DeviceQueueGlobalPriorityCreateInfoKHR -> IO ()
poke Ptr DeviceQueueGlobalPriorityCreateInfoKHR
ptr DeviceQueueGlobalPriorityCreateInfoKHR
poked = Ptr DeviceQueueGlobalPriorityCreateInfoKHR
-> DeviceQueueGlobalPriorityCreateInfoKHR -> IO () -> IO ()
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr DeviceQueueGlobalPriorityCreateInfoKHR
ptr DeviceQueueGlobalPriorityCreateInfoKHR
poked (() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero DeviceQueueGlobalPriorityCreateInfoKHR where
zero :: DeviceQueueGlobalPriorityCreateInfoKHR
zero = QueueGlobalPriorityKHR -> DeviceQueueGlobalPriorityCreateInfoKHR
DeviceQueueGlobalPriorityCreateInfoKHR
QueueGlobalPriorityKHR
forall a. Zero a => a
zero
data PhysicalDeviceGlobalPriorityQueryFeaturesKHR = PhysicalDeviceGlobalPriorityQueryFeaturesKHR
{
PhysicalDeviceGlobalPriorityQueryFeaturesKHR -> Bool
globalPriorityQuery :: Bool }
deriving (Typeable, PhysicalDeviceGlobalPriorityQueryFeaturesKHR
-> PhysicalDeviceGlobalPriorityQueryFeaturesKHR -> Bool
(PhysicalDeviceGlobalPriorityQueryFeaturesKHR
-> PhysicalDeviceGlobalPriorityQueryFeaturesKHR -> Bool)
-> (PhysicalDeviceGlobalPriorityQueryFeaturesKHR
-> PhysicalDeviceGlobalPriorityQueryFeaturesKHR -> Bool)
-> Eq PhysicalDeviceGlobalPriorityQueryFeaturesKHR
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PhysicalDeviceGlobalPriorityQueryFeaturesKHR
-> PhysicalDeviceGlobalPriorityQueryFeaturesKHR -> Bool
$c/= :: PhysicalDeviceGlobalPriorityQueryFeaturesKHR
-> PhysicalDeviceGlobalPriorityQueryFeaturesKHR -> Bool
== :: PhysicalDeviceGlobalPriorityQueryFeaturesKHR
-> PhysicalDeviceGlobalPriorityQueryFeaturesKHR -> Bool
$c== :: PhysicalDeviceGlobalPriorityQueryFeaturesKHR
-> PhysicalDeviceGlobalPriorityQueryFeaturesKHR -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (PhysicalDeviceGlobalPriorityQueryFeaturesKHR)
#endif
deriving instance Show PhysicalDeviceGlobalPriorityQueryFeaturesKHR
instance ToCStruct PhysicalDeviceGlobalPriorityQueryFeaturesKHR where
withCStruct :: PhysicalDeviceGlobalPriorityQueryFeaturesKHR
-> (Ptr PhysicalDeviceGlobalPriorityQueryFeaturesKHR -> IO b)
-> IO b
withCStruct PhysicalDeviceGlobalPriorityQueryFeaturesKHR
x Ptr PhysicalDeviceGlobalPriorityQueryFeaturesKHR -> IO b
f = Int
-> (Ptr PhysicalDeviceGlobalPriorityQueryFeaturesKHR -> IO b)
-> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
24 ((Ptr PhysicalDeviceGlobalPriorityQueryFeaturesKHR -> IO b)
-> IO b)
-> (Ptr PhysicalDeviceGlobalPriorityQueryFeaturesKHR -> IO b)
-> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr PhysicalDeviceGlobalPriorityQueryFeaturesKHR
p -> Ptr PhysicalDeviceGlobalPriorityQueryFeaturesKHR
-> PhysicalDeviceGlobalPriorityQueryFeaturesKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceGlobalPriorityQueryFeaturesKHR
p PhysicalDeviceGlobalPriorityQueryFeaturesKHR
x (Ptr PhysicalDeviceGlobalPriorityQueryFeaturesKHR -> IO b
f Ptr PhysicalDeviceGlobalPriorityQueryFeaturesKHR
p)
pokeCStruct :: Ptr PhysicalDeviceGlobalPriorityQueryFeaturesKHR
-> PhysicalDeviceGlobalPriorityQueryFeaturesKHR -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceGlobalPriorityQueryFeaturesKHR
p PhysicalDeviceGlobalPriorityQueryFeaturesKHR{Bool
globalPriorityQuery :: Bool
$sel:globalPriorityQuery:PhysicalDeviceGlobalPriorityQueryFeaturesKHR :: PhysicalDeviceGlobalPriorityQueryFeaturesKHR -> Bool
..} IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceGlobalPriorityQueryFeaturesKHR
p Ptr PhysicalDeviceGlobalPriorityQueryFeaturesKHR
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceGlobalPriorityQueryFeaturesKHR
p Ptr PhysicalDeviceGlobalPriorityQueryFeaturesKHR
-> 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 PhysicalDeviceGlobalPriorityQueryFeaturesKHR
p Ptr PhysicalDeviceGlobalPriorityQueryFeaturesKHR
-> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
globalPriorityQuery))
IO b
f
cStructSize :: Int
cStructSize = Int
24
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: Ptr PhysicalDeviceGlobalPriorityQueryFeaturesKHR -> IO b -> IO b
pokeZeroCStruct Ptr PhysicalDeviceGlobalPriorityQueryFeaturesKHR
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceGlobalPriorityQueryFeaturesKHR
p Ptr PhysicalDeviceGlobalPriorityQueryFeaturesKHR
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceGlobalPriorityQueryFeaturesKHR
p Ptr PhysicalDeviceGlobalPriorityQueryFeaturesKHR
-> 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 PhysicalDeviceGlobalPriorityQueryFeaturesKHR
p Ptr PhysicalDeviceGlobalPriorityQueryFeaturesKHR
-> 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))
IO b
f
instance FromCStruct PhysicalDeviceGlobalPriorityQueryFeaturesKHR where
peekCStruct :: Ptr PhysicalDeviceGlobalPriorityQueryFeaturesKHR
-> IO PhysicalDeviceGlobalPriorityQueryFeaturesKHR
peekCStruct Ptr PhysicalDeviceGlobalPriorityQueryFeaturesKHR
p = do
Bool32
globalPriorityQuery <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceGlobalPriorityQueryFeaturesKHR
p Ptr PhysicalDeviceGlobalPriorityQueryFeaturesKHR
-> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32))
PhysicalDeviceGlobalPriorityQueryFeaturesKHR
-> IO PhysicalDeviceGlobalPriorityQueryFeaturesKHR
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PhysicalDeviceGlobalPriorityQueryFeaturesKHR
-> IO PhysicalDeviceGlobalPriorityQueryFeaturesKHR)
-> PhysicalDeviceGlobalPriorityQueryFeaturesKHR
-> IO PhysicalDeviceGlobalPriorityQueryFeaturesKHR
forall a b. (a -> b) -> a -> b
$ Bool -> PhysicalDeviceGlobalPriorityQueryFeaturesKHR
PhysicalDeviceGlobalPriorityQueryFeaturesKHR
(Bool32 -> Bool
bool32ToBool Bool32
globalPriorityQuery)
instance Storable PhysicalDeviceGlobalPriorityQueryFeaturesKHR where
sizeOf :: PhysicalDeviceGlobalPriorityQueryFeaturesKHR -> Int
sizeOf ~PhysicalDeviceGlobalPriorityQueryFeaturesKHR
_ = Int
24
alignment :: PhysicalDeviceGlobalPriorityQueryFeaturesKHR -> Int
alignment ~PhysicalDeviceGlobalPriorityQueryFeaturesKHR
_ = Int
8
peek :: Ptr PhysicalDeviceGlobalPriorityQueryFeaturesKHR
-> IO PhysicalDeviceGlobalPriorityQueryFeaturesKHR
peek = Ptr PhysicalDeviceGlobalPriorityQueryFeaturesKHR
-> IO PhysicalDeviceGlobalPriorityQueryFeaturesKHR
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr PhysicalDeviceGlobalPriorityQueryFeaturesKHR
-> PhysicalDeviceGlobalPriorityQueryFeaturesKHR -> IO ()
poke Ptr PhysicalDeviceGlobalPriorityQueryFeaturesKHR
ptr PhysicalDeviceGlobalPriorityQueryFeaturesKHR
poked = Ptr PhysicalDeviceGlobalPriorityQueryFeaturesKHR
-> PhysicalDeviceGlobalPriorityQueryFeaturesKHR -> IO () -> IO ()
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceGlobalPriorityQueryFeaturesKHR
ptr PhysicalDeviceGlobalPriorityQueryFeaturesKHR
poked (() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero PhysicalDeviceGlobalPriorityQueryFeaturesKHR where
zero :: PhysicalDeviceGlobalPriorityQueryFeaturesKHR
zero = Bool -> PhysicalDeviceGlobalPriorityQueryFeaturesKHR
PhysicalDeviceGlobalPriorityQueryFeaturesKHR
Bool
forall a. Zero a => a
zero
data QueueFamilyGlobalPriorityPropertiesKHR = QueueFamilyGlobalPriorityPropertiesKHR
{
QueueFamilyGlobalPriorityPropertiesKHR -> Word32
priorityCount :: Word32
,
QueueFamilyGlobalPriorityPropertiesKHR
-> Vector QueueGlobalPriorityKHR
priorities :: Vector QueueGlobalPriorityKHR
}
deriving (Typeable)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (QueueFamilyGlobalPriorityPropertiesKHR)
#endif
deriving instance Show QueueFamilyGlobalPriorityPropertiesKHR
instance ToCStruct QueueFamilyGlobalPriorityPropertiesKHR where
withCStruct :: QueueFamilyGlobalPriorityPropertiesKHR
-> (Ptr QueueFamilyGlobalPriorityPropertiesKHR -> IO b) -> IO b
withCStruct QueueFamilyGlobalPriorityPropertiesKHR
x Ptr QueueFamilyGlobalPriorityPropertiesKHR -> IO b
f = Int -> (Ptr QueueFamilyGlobalPriorityPropertiesKHR -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
88 ((Ptr QueueFamilyGlobalPriorityPropertiesKHR -> IO b) -> IO b)
-> (Ptr QueueFamilyGlobalPriorityPropertiesKHR -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr QueueFamilyGlobalPriorityPropertiesKHR
p -> Ptr QueueFamilyGlobalPriorityPropertiesKHR
-> QueueFamilyGlobalPriorityPropertiesKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr QueueFamilyGlobalPriorityPropertiesKHR
p QueueFamilyGlobalPriorityPropertiesKHR
x (Ptr QueueFamilyGlobalPriorityPropertiesKHR -> IO b
f Ptr QueueFamilyGlobalPriorityPropertiesKHR
p)
pokeCStruct :: Ptr QueueFamilyGlobalPriorityPropertiesKHR
-> QueueFamilyGlobalPriorityPropertiesKHR -> IO b -> IO b
pokeCStruct Ptr QueueFamilyGlobalPriorityPropertiesKHR
p QueueFamilyGlobalPriorityPropertiesKHR{Word32
Vector QueueGlobalPriorityKHR
priorities :: Vector QueueGlobalPriorityKHR
priorityCount :: Word32
$sel:priorities:QueueFamilyGlobalPriorityPropertiesKHR :: QueueFamilyGlobalPriorityPropertiesKHR
-> Vector QueueGlobalPriorityKHR
$sel:priorityCount:QueueFamilyGlobalPriorityPropertiesKHR :: QueueFamilyGlobalPriorityPropertiesKHR -> Word32
..} IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr QueueFamilyGlobalPriorityPropertiesKHR
p Ptr QueueFamilyGlobalPriorityPropertiesKHR
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr QueueFamilyGlobalPriorityPropertiesKHR
p Ptr QueueFamilyGlobalPriorityPropertiesKHR -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr QueueFamilyGlobalPriorityPropertiesKHR
p Ptr QueueFamilyGlobalPriorityPropertiesKHR -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Word32)) (Word32
priorityCount)
Bool -> IO () -> IO ()
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless ((Vector QueueGlobalPriorityKHR -> Int
forall a. Vector a -> Int
Data.Vector.length (Vector QueueGlobalPriorityKHR -> Int)
-> Vector QueueGlobalPriorityKHR -> Int
forall a b. (a -> b) -> a -> b
$ (Vector QueueGlobalPriorityKHR
priorities)) Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
<= Int
forall a. Integral a => a
MAX_GLOBAL_PRIORITY_SIZE_KHR) (IO () -> IO ()) -> IO () -> IO ()
forall a b. (a -> b) -> a -> b
$
IOException -> IO ()
forall e a. Exception e => e -> IO a
throwIO (IOException -> IO ()) -> IOException -> IO ()
forall a b. (a -> b) -> a -> b
$ Maybe Handle
-> IOErrorType
-> String
-> String
-> Maybe CInt
-> Maybe String
-> IOException
IOError Maybe Handle
forall a. Maybe a
Nothing IOErrorType
InvalidArgument String
"" String
"priorities is too long, a maximum of MAX_GLOBAL_PRIORITY_SIZE_KHR elements are allowed" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
(Int -> QueueGlobalPriorityKHR -> IO ())
-> Vector QueueGlobalPriorityKHR -> IO ()
forall (m :: * -> *) a b.
Monad m =>
(Int -> a -> m b) -> Vector a -> m ()
Data.Vector.imapM_ (\Int
i QueueGlobalPriorityKHR
e -> Ptr QueueGlobalPriorityKHR -> QueueGlobalPriorityKHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr
(FixedArray MAX_GLOBAL_PRIORITY_SIZE_KHR QueueGlobalPriorityKHR)
-> Ptr QueueGlobalPriorityKHR
forall a (n :: Nat). Ptr (FixedArray n a) -> Ptr a
lowerArrayPtr ((Ptr QueueFamilyGlobalPriorityPropertiesKHR
p Ptr QueueFamilyGlobalPriorityPropertiesKHR
-> Int
-> Ptr
(FixedArray MAX_GLOBAL_PRIORITY_SIZE_KHR QueueGlobalPriorityKHR)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr (FixedArray MAX_GLOBAL_PRIORITY_SIZE_KHR QueueGlobalPriorityKHR)))) Ptr QueueGlobalPriorityKHR -> Int -> Ptr QueueGlobalPriorityKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` (Int
4 Int -> Int -> Int
forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr QueueGlobalPriorityKHR) (QueueGlobalPriorityKHR
e)) (Vector QueueGlobalPriorityKHR
priorities)
IO b
f
cStructSize :: Int
cStructSize = Int
88
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: Ptr QueueFamilyGlobalPriorityPropertiesKHR -> IO b -> IO b
pokeZeroCStruct Ptr QueueFamilyGlobalPriorityPropertiesKHR
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr QueueFamilyGlobalPriorityPropertiesKHR
p Ptr QueueFamilyGlobalPriorityPropertiesKHR
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr QueueFamilyGlobalPriorityPropertiesKHR
p Ptr QueueFamilyGlobalPriorityPropertiesKHR -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr QueueFamilyGlobalPriorityPropertiesKHR
p Ptr QueueFamilyGlobalPriorityPropertiesKHR -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct QueueFamilyGlobalPriorityPropertiesKHR where
peekCStruct :: Ptr QueueFamilyGlobalPriorityPropertiesKHR
-> IO QueueFamilyGlobalPriorityPropertiesKHR
peekCStruct Ptr QueueFamilyGlobalPriorityPropertiesKHR
p = do
Word32
priorityCount <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr QueueFamilyGlobalPriorityPropertiesKHR
p Ptr QueueFamilyGlobalPriorityPropertiesKHR -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Word32))
Vector QueueGlobalPriorityKHR
priorities <- Int
-> (Int -> IO QueueGlobalPriorityKHR)
-> IO (Vector QueueGlobalPriorityKHR)
forall (m :: * -> *) a.
Monad m =>
Int -> (Int -> m a) -> m (Vector a)
generateM (Int
forall a. Integral a => a
MAX_GLOBAL_PRIORITY_SIZE_KHR) (\Int
i -> Ptr QueueGlobalPriorityKHR -> IO QueueGlobalPriorityKHR
forall a. Storable a => Ptr a -> IO a
peek @QueueGlobalPriorityKHR (((Ptr
(FixedArray MAX_GLOBAL_PRIORITY_SIZE_KHR QueueGlobalPriorityKHR)
-> Ptr QueueGlobalPriorityKHR
forall a (n :: Nat). Ptr (FixedArray n a) -> Ptr a
lowerArrayPtr @QueueGlobalPriorityKHR ((Ptr QueueFamilyGlobalPriorityPropertiesKHR
p Ptr QueueFamilyGlobalPriorityPropertiesKHR
-> Int
-> Ptr
(FixedArray MAX_GLOBAL_PRIORITY_SIZE_KHR QueueGlobalPriorityKHR)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr (FixedArray MAX_GLOBAL_PRIORITY_SIZE_KHR QueueGlobalPriorityKHR)))) Ptr QueueGlobalPriorityKHR -> Int -> Ptr QueueGlobalPriorityKHR
forall a. Ptr a -> Int -> Ptr a
`advancePtrBytes` (Int
4 Int -> Int -> Int
forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr QueueGlobalPriorityKHR)))
QueueFamilyGlobalPriorityPropertiesKHR
-> IO QueueFamilyGlobalPriorityPropertiesKHR
forall (f :: * -> *) a. Applicative f => a -> f a
pure (QueueFamilyGlobalPriorityPropertiesKHR
-> IO QueueFamilyGlobalPriorityPropertiesKHR)
-> QueueFamilyGlobalPriorityPropertiesKHR
-> IO QueueFamilyGlobalPriorityPropertiesKHR
forall a b. (a -> b) -> a -> b
$ Word32
-> Vector QueueGlobalPriorityKHR
-> QueueFamilyGlobalPriorityPropertiesKHR
QueueFamilyGlobalPriorityPropertiesKHR
Word32
priorityCount Vector QueueGlobalPriorityKHR
priorities
instance Storable QueueFamilyGlobalPriorityPropertiesKHR where
sizeOf :: QueueFamilyGlobalPriorityPropertiesKHR -> Int
sizeOf ~QueueFamilyGlobalPriorityPropertiesKHR
_ = Int
88
alignment :: QueueFamilyGlobalPriorityPropertiesKHR -> Int
alignment ~QueueFamilyGlobalPriorityPropertiesKHR
_ = Int
8
peek :: Ptr QueueFamilyGlobalPriorityPropertiesKHR
-> IO QueueFamilyGlobalPriorityPropertiesKHR
peek = Ptr QueueFamilyGlobalPriorityPropertiesKHR
-> IO QueueFamilyGlobalPriorityPropertiesKHR
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr QueueFamilyGlobalPriorityPropertiesKHR
-> QueueFamilyGlobalPriorityPropertiesKHR -> IO ()
poke Ptr QueueFamilyGlobalPriorityPropertiesKHR
ptr QueueFamilyGlobalPriorityPropertiesKHR
poked = Ptr QueueFamilyGlobalPriorityPropertiesKHR
-> QueueFamilyGlobalPriorityPropertiesKHR -> IO () -> IO ()
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr QueueFamilyGlobalPriorityPropertiesKHR
ptr QueueFamilyGlobalPriorityPropertiesKHR
poked (() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero QueueFamilyGlobalPriorityPropertiesKHR where
zero :: QueueFamilyGlobalPriorityPropertiesKHR
zero = Word32
-> Vector QueueGlobalPriorityKHR
-> QueueFamilyGlobalPriorityPropertiesKHR
QueueFamilyGlobalPriorityPropertiesKHR
Word32
forall a. Zero a => a
zero
Vector QueueGlobalPriorityKHR
forall a. Monoid a => a
mempty
newtype QueueGlobalPriorityKHR = QueueGlobalPriorityKHR Int32
deriving newtype (QueueGlobalPriorityKHR -> QueueGlobalPriorityKHR -> Bool
(QueueGlobalPriorityKHR -> QueueGlobalPriorityKHR -> Bool)
-> (QueueGlobalPriorityKHR -> QueueGlobalPriorityKHR -> Bool)
-> Eq QueueGlobalPriorityKHR
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: QueueGlobalPriorityKHR -> QueueGlobalPriorityKHR -> Bool
$c/= :: QueueGlobalPriorityKHR -> QueueGlobalPriorityKHR -> Bool
== :: QueueGlobalPriorityKHR -> QueueGlobalPriorityKHR -> Bool
$c== :: QueueGlobalPriorityKHR -> QueueGlobalPriorityKHR -> Bool
Eq, Eq QueueGlobalPriorityKHR
Eq QueueGlobalPriorityKHR
-> (QueueGlobalPriorityKHR -> QueueGlobalPriorityKHR -> Ordering)
-> (QueueGlobalPriorityKHR -> QueueGlobalPriorityKHR -> Bool)
-> (QueueGlobalPriorityKHR -> QueueGlobalPriorityKHR -> Bool)
-> (QueueGlobalPriorityKHR -> QueueGlobalPriorityKHR -> Bool)
-> (QueueGlobalPriorityKHR -> QueueGlobalPriorityKHR -> Bool)
-> (QueueGlobalPriorityKHR
-> QueueGlobalPriorityKHR -> QueueGlobalPriorityKHR)
-> (QueueGlobalPriorityKHR
-> QueueGlobalPriorityKHR -> QueueGlobalPriorityKHR)
-> Ord QueueGlobalPriorityKHR
QueueGlobalPriorityKHR -> QueueGlobalPriorityKHR -> Bool
QueueGlobalPriorityKHR -> QueueGlobalPriorityKHR -> Ordering
QueueGlobalPriorityKHR
-> QueueGlobalPriorityKHR -> QueueGlobalPriorityKHR
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 :: QueueGlobalPriorityKHR
-> QueueGlobalPriorityKHR -> QueueGlobalPriorityKHR
$cmin :: QueueGlobalPriorityKHR
-> QueueGlobalPriorityKHR -> QueueGlobalPriorityKHR
max :: QueueGlobalPriorityKHR
-> QueueGlobalPriorityKHR -> QueueGlobalPriorityKHR
$cmax :: QueueGlobalPriorityKHR
-> QueueGlobalPriorityKHR -> QueueGlobalPriorityKHR
>= :: QueueGlobalPriorityKHR -> QueueGlobalPriorityKHR -> Bool
$c>= :: QueueGlobalPriorityKHR -> QueueGlobalPriorityKHR -> Bool
> :: QueueGlobalPriorityKHR -> QueueGlobalPriorityKHR -> Bool
$c> :: QueueGlobalPriorityKHR -> QueueGlobalPriorityKHR -> Bool
<= :: QueueGlobalPriorityKHR -> QueueGlobalPriorityKHR -> Bool
$c<= :: QueueGlobalPriorityKHR -> QueueGlobalPriorityKHR -> Bool
< :: QueueGlobalPriorityKHR -> QueueGlobalPriorityKHR -> Bool
$c< :: QueueGlobalPriorityKHR -> QueueGlobalPriorityKHR -> Bool
compare :: QueueGlobalPriorityKHR -> QueueGlobalPriorityKHR -> Ordering
$ccompare :: QueueGlobalPriorityKHR -> QueueGlobalPriorityKHR -> Ordering
$cp1Ord :: Eq QueueGlobalPriorityKHR
Ord, Ptr b -> Int -> IO QueueGlobalPriorityKHR
Ptr b -> Int -> QueueGlobalPriorityKHR -> IO ()
Ptr QueueGlobalPriorityKHR -> IO QueueGlobalPriorityKHR
Ptr QueueGlobalPriorityKHR -> Int -> IO QueueGlobalPriorityKHR
Ptr QueueGlobalPriorityKHR
-> Int -> QueueGlobalPriorityKHR -> IO ()
Ptr QueueGlobalPriorityKHR -> QueueGlobalPriorityKHR -> IO ()
QueueGlobalPriorityKHR -> Int
(QueueGlobalPriorityKHR -> Int)
-> (QueueGlobalPriorityKHR -> Int)
-> (Ptr QueueGlobalPriorityKHR -> Int -> IO QueueGlobalPriorityKHR)
-> (Ptr QueueGlobalPriorityKHR
-> Int -> QueueGlobalPriorityKHR -> IO ())
-> (forall b. Ptr b -> Int -> IO QueueGlobalPriorityKHR)
-> (forall b. Ptr b -> Int -> QueueGlobalPriorityKHR -> IO ())
-> (Ptr QueueGlobalPriorityKHR -> IO QueueGlobalPriorityKHR)
-> (Ptr QueueGlobalPriorityKHR -> QueueGlobalPriorityKHR -> IO ())
-> Storable QueueGlobalPriorityKHR
forall b. Ptr b -> Int -> IO QueueGlobalPriorityKHR
forall b. Ptr b -> Int -> QueueGlobalPriorityKHR -> 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 QueueGlobalPriorityKHR -> QueueGlobalPriorityKHR -> IO ()
$cpoke :: Ptr QueueGlobalPriorityKHR -> QueueGlobalPriorityKHR -> IO ()
peek :: Ptr QueueGlobalPriorityKHR -> IO QueueGlobalPriorityKHR
$cpeek :: Ptr QueueGlobalPriorityKHR -> IO QueueGlobalPriorityKHR
pokeByteOff :: Ptr b -> Int -> QueueGlobalPriorityKHR -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> QueueGlobalPriorityKHR -> IO ()
peekByteOff :: Ptr b -> Int -> IO QueueGlobalPriorityKHR
$cpeekByteOff :: forall b. Ptr b -> Int -> IO QueueGlobalPriorityKHR
pokeElemOff :: Ptr QueueGlobalPriorityKHR
-> Int -> QueueGlobalPriorityKHR -> IO ()
$cpokeElemOff :: Ptr QueueGlobalPriorityKHR
-> Int -> QueueGlobalPriorityKHR -> IO ()
peekElemOff :: Ptr QueueGlobalPriorityKHR -> Int -> IO QueueGlobalPriorityKHR
$cpeekElemOff :: Ptr QueueGlobalPriorityKHR -> Int -> IO QueueGlobalPriorityKHR
alignment :: QueueGlobalPriorityKHR -> Int
$calignment :: QueueGlobalPriorityKHR -> Int
sizeOf :: QueueGlobalPriorityKHR -> Int
$csizeOf :: QueueGlobalPriorityKHR -> Int
Storable, QueueGlobalPriorityKHR
QueueGlobalPriorityKHR -> Zero QueueGlobalPriorityKHR
forall a. a -> Zero a
zero :: QueueGlobalPriorityKHR
$czero :: QueueGlobalPriorityKHR
Zero)
pattern $bQUEUE_GLOBAL_PRIORITY_LOW_KHR :: QueueGlobalPriorityKHR
$mQUEUE_GLOBAL_PRIORITY_LOW_KHR :: forall r.
QueueGlobalPriorityKHR -> (Void# -> r) -> (Void# -> r) -> r
QUEUE_GLOBAL_PRIORITY_LOW_KHR = QueueGlobalPriorityKHR 128
pattern $bQUEUE_GLOBAL_PRIORITY_MEDIUM_KHR :: QueueGlobalPriorityKHR
$mQUEUE_GLOBAL_PRIORITY_MEDIUM_KHR :: forall r.
QueueGlobalPriorityKHR -> (Void# -> r) -> (Void# -> r) -> r
QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR = QueueGlobalPriorityKHR 256
pattern $bQUEUE_GLOBAL_PRIORITY_HIGH_KHR :: QueueGlobalPriorityKHR
$mQUEUE_GLOBAL_PRIORITY_HIGH_KHR :: forall r.
QueueGlobalPriorityKHR -> (Void# -> r) -> (Void# -> r) -> r
QUEUE_GLOBAL_PRIORITY_HIGH_KHR = QueueGlobalPriorityKHR 512
pattern $bQUEUE_GLOBAL_PRIORITY_REALTIME_KHR :: QueueGlobalPriorityKHR
$mQUEUE_GLOBAL_PRIORITY_REALTIME_KHR :: forall r.
QueueGlobalPriorityKHR -> (Void# -> r) -> (Void# -> r) -> r
QUEUE_GLOBAL_PRIORITY_REALTIME_KHR = QueueGlobalPriorityKHR 1024
{-# complete QUEUE_GLOBAL_PRIORITY_LOW_KHR,
QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR,
QUEUE_GLOBAL_PRIORITY_HIGH_KHR,
QUEUE_GLOBAL_PRIORITY_REALTIME_KHR :: QueueGlobalPriorityKHR #-}
conNameQueueGlobalPriorityKHR :: String
conNameQueueGlobalPriorityKHR :: String
conNameQueueGlobalPriorityKHR = String
"QueueGlobalPriorityKHR"
enumPrefixQueueGlobalPriorityKHR :: String
enumPrefixQueueGlobalPriorityKHR :: String
enumPrefixQueueGlobalPriorityKHR = String
"QUEUE_GLOBAL_PRIORITY_"
showTableQueueGlobalPriorityKHR :: [(QueueGlobalPriorityKHR, String)]
showTableQueueGlobalPriorityKHR :: [(QueueGlobalPriorityKHR, String)]
showTableQueueGlobalPriorityKHR =
[ (QueueGlobalPriorityKHR
QUEUE_GLOBAL_PRIORITY_LOW_KHR , String
"LOW_KHR")
, (QueueGlobalPriorityKHR
QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR , String
"MEDIUM_KHR")
, (QueueGlobalPriorityKHR
QUEUE_GLOBAL_PRIORITY_HIGH_KHR , String
"HIGH_KHR")
, (QueueGlobalPriorityKHR
QUEUE_GLOBAL_PRIORITY_REALTIME_KHR, String
"REALTIME_KHR")
]
instance Show QueueGlobalPriorityKHR where
showsPrec :: Int -> QueueGlobalPriorityKHR -> ShowS
showsPrec = String
-> [(QueueGlobalPriorityKHR, String)]
-> String
-> (QueueGlobalPriorityKHR -> Int32)
-> (Int32 -> ShowS)
-> Int
-> QueueGlobalPriorityKHR
-> ShowS
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec String
enumPrefixQueueGlobalPriorityKHR
[(QueueGlobalPriorityKHR, String)]
showTableQueueGlobalPriorityKHR
String
conNameQueueGlobalPriorityKHR
(\(QueueGlobalPriorityKHR Int32
x) -> Int32
x)
(Int -> Int32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
11)
instance Read QueueGlobalPriorityKHR where
readPrec :: ReadPrec QueueGlobalPriorityKHR
readPrec = String
-> [(QueueGlobalPriorityKHR, String)]
-> String
-> (Int32 -> QueueGlobalPriorityKHR)
-> ReadPrec QueueGlobalPriorityKHR
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec String
enumPrefixQueueGlobalPriorityKHR
[(QueueGlobalPriorityKHR, String)]
showTableQueueGlobalPriorityKHR
String
conNameQueueGlobalPriorityKHR
Int32 -> QueueGlobalPriorityKHR
QueueGlobalPriorityKHR
type KHR_GLOBAL_PRIORITY_SPEC_VERSION = 1
pattern KHR_GLOBAL_PRIORITY_SPEC_VERSION :: forall a . Integral a => a
pattern $bKHR_GLOBAL_PRIORITY_SPEC_VERSION :: a
$mKHR_GLOBAL_PRIORITY_SPEC_VERSION :: forall r a. Integral a => a -> (Void# -> r) -> (Void# -> r) -> r
KHR_GLOBAL_PRIORITY_SPEC_VERSION = 1
type KHR_GLOBAL_PRIORITY_EXTENSION_NAME = "VK_KHR_global_priority"
pattern KHR_GLOBAL_PRIORITY_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
pattern $bKHR_GLOBAL_PRIORITY_EXTENSION_NAME :: a
$mKHR_GLOBAL_PRIORITY_EXTENSION_NAME :: forall r a.
(Eq a, IsString a) =>
a -> (Void# -> r) -> (Void# -> r) -> r
KHR_GLOBAL_PRIORITY_EXTENSION_NAME = "VK_KHR_global_priority"