{-# language CPP #-}
module Vulkan.Extensions.VK_ARM_scheduling_controls ( DeviceQueueShaderCoreControlCreateInfoARM(..)
, PhysicalDeviceSchedulingControlsFeaturesARM(..)
, PhysicalDeviceSchedulingControlsPropertiesARM(..)
, PhysicalDeviceSchedulingControlsFlagsARM
, PhysicalDeviceSchedulingControlsFlagBitsARM( PHYSICAL_DEVICE_SCHEDULING_CONTROLS_SHADER_CORE_COUNT_ARM
, ..
)
, ARM_SCHEDULING_CONTROLS_SPEC_VERSION
, pattern ARM_SCHEDULING_CONTROLS_SPEC_VERSION
, ARM_SCHEDULING_CONTROLS_EXTENSION_NAME
, pattern ARM_SCHEDULING_CONTROLS_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 Numeric (showHex)
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 Foreign.Ptr (Ptr)
import GHC.Read (Read(readPrec))
import GHC.Show (Show(showsPrec))
import Data.Word (Word32)
import Data.Kind (Type)
import Vulkan.Core10.FundamentalTypes (bool32ToBool)
import Vulkan.Core10.FundamentalTypes (boolToBool32)
import Vulkan.Core10.FundamentalTypes (Bool32)
import Vulkan.Core10.FundamentalTypes (Flags64)
import Vulkan.Core10.Enums.StructureType (StructureType)
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_DEVICE_QUEUE_SHADER_CORE_CONTROL_CREATE_INFO_ARM))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_FEATURES_ARM))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_PROPERTIES_ARM))
data DeviceQueueShaderCoreControlCreateInfoARM = DeviceQueueShaderCoreControlCreateInfoARM
{
DeviceQueueShaderCoreControlCreateInfoARM -> Word32
shaderCoreCount :: Word32 }
deriving (Typeable, DeviceQueueShaderCoreControlCreateInfoARM
-> DeviceQueueShaderCoreControlCreateInfoARM -> Bool
(DeviceQueueShaderCoreControlCreateInfoARM
-> DeviceQueueShaderCoreControlCreateInfoARM -> Bool)
-> (DeviceQueueShaderCoreControlCreateInfoARM
-> DeviceQueueShaderCoreControlCreateInfoARM -> Bool)
-> Eq DeviceQueueShaderCoreControlCreateInfoARM
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: DeviceQueueShaderCoreControlCreateInfoARM
-> DeviceQueueShaderCoreControlCreateInfoARM -> Bool
== :: DeviceQueueShaderCoreControlCreateInfoARM
-> DeviceQueueShaderCoreControlCreateInfoARM -> Bool
$c/= :: DeviceQueueShaderCoreControlCreateInfoARM
-> DeviceQueueShaderCoreControlCreateInfoARM -> Bool
/= :: DeviceQueueShaderCoreControlCreateInfoARM
-> DeviceQueueShaderCoreControlCreateInfoARM -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (DeviceQueueShaderCoreControlCreateInfoARM)
#endif
deriving instance Show DeviceQueueShaderCoreControlCreateInfoARM
instance ToCStruct DeviceQueueShaderCoreControlCreateInfoARM where
withCStruct :: forall b.
DeviceQueueShaderCoreControlCreateInfoARM
-> (Ptr DeviceQueueShaderCoreControlCreateInfoARM -> IO b) -> IO b
withCStruct DeviceQueueShaderCoreControlCreateInfoARM
x Ptr DeviceQueueShaderCoreControlCreateInfoARM -> IO b
f = Int
-> (Ptr DeviceQueueShaderCoreControlCreateInfoARM -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
24 ((Ptr DeviceQueueShaderCoreControlCreateInfoARM -> IO b) -> IO b)
-> (Ptr DeviceQueueShaderCoreControlCreateInfoARM -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr DeviceQueueShaderCoreControlCreateInfoARM
p -> Ptr DeviceQueueShaderCoreControlCreateInfoARM
-> DeviceQueueShaderCoreControlCreateInfoARM -> IO b -> IO b
forall b.
Ptr DeviceQueueShaderCoreControlCreateInfoARM
-> DeviceQueueShaderCoreControlCreateInfoARM -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr DeviceQueueShaderCoreControlCreateInfoARM
p DeviceQueueShaderCoreControlCreateInfoARM
x (Ptr DeviceQueueShaderCoreControlCreateInfoARM -> IO b
f Ptr DeviceQueueShaderCoreControlCreateInfoARM
p)
pokeCStruct :: forall b.
Ptr DeviceQueueShaderCoreControlCreateInfoARM
-> DeviceQueueShaderCoreControlCreateInfoARM -> IO b -> IO b
pokeCStruct Ptr DeviceQueueShaderCoreControlCreateInfoARM
p DeviceQueueShaderCoreControlCreateInfoARM{Word32
$sel:shaderCoreCount:DeviceQueueShaderCoreControlCreateInfoARM :: DeviceQueueShaderCoreControlCreateInfoARM -> Word32
shaderCoreCount :: Word32
..} IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DeviceQueueShaderCoreControlCreateInfoARM
p Ptr DeviceQueueShaderCoreControlCreateInfoARM
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_DEVICE_QUEUE_SHADER_CORE_CONTROL_CREATE_INFO_ARM)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DeviceQueueShaderCoreControlCreateInfoARM
p Ptr DeviceQueueShaderCoreControlCreateInfoARM
-> 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 DeviceQueueShaderCoreControlCreateInfoARM
p Ptr DeviceQueueShaderCoreControlCreateInfoARM -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Word32)) (Word32
shaderCoreCount)
IO b
f
cStructSize :: Int
cStructSize = Int
24
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b.
Ptr DeviceQueueShaderCoreControlCreateInfoARM -> IO b -> IO b
pokeZeroCStruct Ptr DeviceQueueShaderCoreControlCreateInfoARM
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DeviceQueueShaderCoreControlCreateInfoARM
p Ptr DeviceQueueShaderCoreControlCreateInfoARM
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_DEVICE_QUEUE_SHADER_CORE_CONTROL_CREATE_INFO_ARM)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DeviceQueueShaderCoreControlCreateInfoARM
p Ptr DeviceQueueShaderCoreControlCreateInfoARM
-> 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 DeviceQueueShaderCoreControlCreateInfoARM
p Ptr DeviceQueueShaderCoreControlCreateInfoARM -> 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 DeviceQueueShaderCoreControlCreateInfoARM where
peekCStruct :: Ptr DeviceQueueShaderCoreControlCreateInfoARM
-> IO DeviceQueueShaderCoreControlCreateInfoARM
peekCStruct Ptr DeviceQueueShaderCoreControlCreateInfoARM
p = do
Word32
shaderCoreCount <- forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr DeviceQueueShaderCoreControlCreateInfoARM
p Ptr DeviceQueueShaderCoreControlCreateInfoARM -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Word32))
DeviceQueueShaderCoreControlCreateInfoARM
-> IO DeviceQueueShaderCoreControlCreateInfoARM
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (DeviceQueueShaderCoreControlCreateInfoARM
-> IO DeviceQueueShaderCoreControlCreateInfoARM)
-> DeviceQueueShaderCoreControlCreateInfoARM
-> IO DeviceQueueShaderCoreControlCreateInfoARM
forall a b. (a -> b) -> a -> b
$ Word32 -> DeviceQueueShaderCoreControlCreateInfoARM
DeviceQueueShaderCoreControlCreateInfoARM
Word32
shaderCoreCount
instance Storable DeviceQueueShaderCoreControlCreateInfoARM where
sizeOf :: DeviceQueueShaderCoreControlCreateInfoARM -> Int
sizeOf ~DeviceQueueShaderCoreControlCreateInfoARM
_ = Int
24
alignment :: DeviceQueueShaderCoreControlCreateInfoARM -> Int
alignment ~DeviceQueueShaderCoreControlCreateInfoARM
_ = Int
8
peek :: Ptr DeviceQueueShaderCoreControlCreateInfoARM
-> IO DeviceQueueShaderCoreControlCreateInfoARM
peek = Ptr DeviceQueueShaderCoreControlCreateInfoARM
-> IO DeviceQueueShaderCoreControlCreateInfoARM
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr DeviceQueueShaderCoreControlCreateInfoARM
-> DeviceQueueShaderCoreControlCreateInfoARM -> IO ()
poke Ptr DeviceQueueShaderCoreControlCreateInfoARM
ptr DeviceQueueShaderCoreControlCreateInfoARM
poked = Ptr DeviceQueueShaderCoreControlCreateInfoARM
-> DeviceQueueShaderCoreControlCreateInfoARM -> IO () -> IO ()
forall b.
Ptr DeviceQueueShaderCoreControlCreateInfoARM
-> DeviceQueueShaderCoreControlCreateInfoARM -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr DeviceQueueShaderCoreControlCreateInfoARM
ptr DeviceQueueShaderCoreControlCreateInfoARM
poked (() -> IO ()
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero DeviceQueueShaderCoreControlCreateInfoARM where
zero :: DeviceQueueShaderCoreControlCreateInfoARM
zero = Word32 -> DeviceQueueShaderCoreControlCreateInfoARM
DeviceQueueShaderCoreControlCreateInfoARM
Word32
forall a. Zero a => a
zero
data PhysicalDeviceSchedulingControlsFeaturesARM = PhysicalDeviceSchedulingControlsFeaturesARM
{
PhysicalDeviceSchedulingControlsFeaturesARM -> Bool
schedulingControls :: Bool }
deriving (Typeable, PhysicalDeviceSchedulingControlsFeaturesARM
-> PhysicalDeviceSchedulingControlsFeaturesARM -> Bool
(PhysicalDeviceSchedulingControlsFeaturesARM
-> PhysicalDeviceSchedulingControlsFeaturesARM -> Bool)
-> (PhysicalDeviceSchedulingControlsFeaturesARM
-> PhysicalDeviceSchedulingControlsFeaturesARM -> Bool)
-> Eq PhysicalDeviceSchedulingControlsFeaturesARM
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PhysicalDeviceSchedulingControlsFeaturesARM
-> PhysicalDeviceSchedulingControlsFeaturesARM -> Bool
== :: PhysicalDeviceSchedulingControlsFeaturesARM
-> PhysicalDeviceSchedulingControlsFeaturesARM -> Bool
$c/= :: PhysicalDeviceSchedulingControlsFeaturesARM
-> PhysicalDeviceSchedulingControlsFeaturesARM -> Bool
/= :: PhysicalDeviceSchedulingControlsFeaturesARM
-> PhysicalDeviceSchedulingControlsFeaturesARM -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (PhysicalDeviceSchedulingControlsFeaturesARM)
#endif
deriving instance Show PhysicalDeviceSchedulingControlsFeaturesARM
instance ToCStruct PhysicalDeviceSchedulingControlsFeaturesARM where
withCStruct :: forall b.
PhysicalDeviceSchedulingControlsFeaturesARM
-> (Ptr PhysicalDeviceSchedulingControlsFeaturesARM -> IO b)
-> IO b
withCStruct PhysicalDeviceSchedulingControlsFeaturesARM
x Ptr PhysicalDeviceSchedulingControlsFeaturesARM -> IO b
f = Int
-> (Ptr PhysicalDeviceSchedulingControlsFeaturesARM -> IO b)
-> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
24 ((Ptr PhysicalDeviceSchedulingControlsFeaturesARM -> IO b) -> IO b)
-> (Ptr PhysicalDeviceSchedulingControlsFeaturesARM -> IO b)
-> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr PhysicalDeviceSchedulingControlsFeaturesARM
p -> Ptr PhysicalDeviceSchedulingControlsFeaturesARM
-> PhysicalDeviceSchedulingControlsFeaturesARM -> IO b -> IO b
forall b.
Ptr PhysicalDeviceSchedulingControlsFeaturesARM
-> PhysicalDeviceSchedulingControlsFeaturesARM -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceSchedulingControlsFeaturesARM
p PhysicalDeviceSchedulingControlsFeaturesARM
x (Ptr PhysicalDeviceSchedulingControlsFeaturesARM -> IO b
f Ptr PhysicalDeviceSchedulingControlsFeaturesARM
p)
pokeCStruct :: forall b.
Ptr PhysicalDeviceSchedulingControlsFeaturesARM
-> PhysicalDeviceSchedulingControlsFeaturesARM -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceSchedulingControlsFeaturesARM
p PhysicalDeviceSchedulingControlsFeaturesARM{Bool
$sel:schedulingControls:PhysicalDeviceSchedulingControlsFeaturesARM :: PhysicalDeviceSchedulingControlsFeaturesARM -> Bool
schedulingControls :: Bool
..} IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceSchedulingControlsFeaturesARM
p Ptr PhysicalDeviceSchedulingControlsFeaturesARM
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_FEATURES_ARM)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceSchedulingControlsFeaturesARM
p Ptr PhysicalDeviceSchedulingControlsFeaturesARM
-> 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 PhysicalDeviceSchedulingControlsFeaturesARM
p Ptr PhysicalDeviceSchedulingControlsFeaturesARM
-> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
schedulingControls))
IO b
f
cStructSize :: Int
cStructSize = Int
24
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b.
Ptr PhysicalDeviceSchedulingControlsFeaturesARM -> IO b -> IO b
pokeZeroCStruct Ptr PhysicalDeviceSchedulingControlsFeaturesARM
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceSchedulingControlsFeaturesARM
p Ptr PhysicalDeviceSchedulingControlsFeaturesARM
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_FEATURES_ARM)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceSchedulingControlsFeaturesARM
p Ptr PhysicalDeviceSchedulingControlsFeaturesARM
-> 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 PhysicalDeviceSchedulingControlsFeaturesARM
p Ptr PhysicalDeviceSchedulingControlsFeaturesARM
-> 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 PhysicalDeviceSchedulingControlsFeaturesARM where
peekCStruct :: Ptr PhysicalDeviceSchedulingControlsFeaturesARM
-> IO PhysicalDeviceSchedulingControlsFeaturesARM
peekCStruct Ptr PhysicalDeviceSchedulingControlsFeaturesARM
p = do
Bool32
schedulingControls <- forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceSchedulingControlsFeaturesARM
p Ptr PhysicalDeviceSchedulingControlsFeaturesARM
-> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32))
PhysicalDeviceSchedulingControlsFeaturesARM
-> IO PhysicalDeviceSchedulingControlsFeaturesARM
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PhysicalDeviceSchedulingControlsFeaturesARM
-> IO PhysicalDeviceSchedulingControlsFeaturesARM)
-> PhysicalDeviceSchedulingControlsFeaturesARM
-> IO PhysicalDeviceSchedulingControlsFeaturesARM
forall a b. (a -> b) -> a -> b
$ Bool -> PhysicalDeviceSchedulingControlsFeaturesARM
PhysicalDeviceSchedulingControlsFeaturesARM
(Bool32 -> Bool
bool32ToBool Bool32
schedulingControls)
instance Storable PhysicalDeviceSchedulingControlsFeaturesARM where
sizeOf :: PhysicalDeviceSchedulingControlsFeaturesARM -> Int
sizeOf ~PhysicalDeviceSchedulingControlsFeaturesARM
_ = Int
24
alignment :: PhysicalDeviceSchedulingControlsFeaturesARM -> Int
alignment ~PhysicalDeviceSchedulingControlsFeaturesARM
_ = Int
8
peek :: Ptr PhysicalDeviceSchedulingControlsFeaturesARM
-> IO PhysicalDeviceSchedulingControlsFeaturesARM
peek = Ptr PhysicalDeviceSchedulingControlsFeaturesARM
-> IO PhysicalDeviceSchedulingControlsFeaturesARM
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr PhysicalDeviceSchedulingControlsFeaturesARM
-> PhysicalDeviceSchedulingControlsFeaturesARM -> IO ()
poke Ptr PhysicalDeviceSchedulingControlsFeaturesARM
ptr PhysicalDeviceSchedulingControlsFeaturesARM
poked = Ptr PhysicalDeviceSchedulingControlsFeaturesARM
-> PhysicalDeviceSchedulingControlsFeaturesARM -> IO () -> IO ()
forall b.
Ptr PhysicalDeviceSchedulingControlsFeaturesARM
-> PhysicalDeviceSchedulingControlsFeaturesARM -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceSchedulingControlsFeaturesARM
ptr PhysicalDeviceSchedulingControlsFeaturesARM
poked (() -> IO ()
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero PhysicalDeviceSchedulingControlsFeaturesARM where
zero :: PhysicalDeviceSchedulingControlsFeaturesARM
zero = Bool -> PhysicalDeviceSchedulingControlsFeaturesARM
PhysicalDeviceSchedulingControlsFeaturesARM
Bool
forall a. Zero a => a
zero
data PhysicalDeviceSchedulingControlsPropertiesARM = PhysicalDeviceSchedulingControlsPropertiesARM
{
PhysicalDeviceSchedulingControlsPropertiesARM
-> PhysicalDeviceSchedulingControlsFlagsARM
schedulingControlsFlags :: PhysicalDeviceSchedulingControlsFlagsARM }
deriving (Typeable, PhysicalDeviceSchedulingControlsPropertiesARM
-> PhysicalDeviceSchedulingControlsPropertiesARM -> Bool
(PhysicalDeviceSchedulingControlsPropertiesARM
-> PhysicalDeviceSchedulingControlsPropertiesARM -> Bool)
-> (PhysicalDeviceSchedulingControlsPropertiesARM
-> PhysicalDeviceSchedulingControlsPropertiesARM -> Bool)
-> Eq PhysicalDeviceSchedulingControlsPropertiesARM
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PhysicalDeviceSchedulingControlsPropertiesARM
-> PhysicalDeviceSchedulingControlsPropertiesARM -> Bool
== :: PhysicalDeviceSchedulingControlsPropertiesARM
-> PhysicalDeviceSchedulingControlsPropertiesARM -> Bool
$c/= :: PhysicalDeviceSchedulingControlsPropertiesARM
-> PhysicalDeviceSchedulingControlsPropertiesARM -> Bool
/= :: PhysicalDeviceSchedulingControlsPropertiesARM
-> PhysicalDeviceSchedulingControlsPropertiesARM -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (PhysicalDeviceSchedulingControlsPropertiesARM)
#endif
deriving instance Show PhysicalDeviceSchedulingControlsPropertiesARM
instance ToCStruct PhysicalDeviceSchedulingControlsPropertiesARM where
withCStruct :: forall b.
PhysicalDeviceSchedulingControlsPropertiesARM
-> (Ptr PhysicalDeviceSchedulingControlsPropertiesARM -> IO b)
-> IO b
withCStruct PhysicalDeviceSchedulingControlsPropertiesARM
x Ptr PhysicalDeviceSchedulingControlsPropertiesARM -> IO b
f = Int
-> (Ptr PhysicalDeviceSchedulingControlsPropertiesARM -> IO b)
-> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
24 ((Ptr PhysicalDeviceSchedulingControlsPropertiesARM -> IO b)
-> IO b)
-> (Ptr PhysicalDeviceSchedulingControlsPropertiesARM -> IO b)
-> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr PhysicalDeviceSchedulingControlsPropertiesARM
p -> Ptr PhysicalDeviceSchedulingControlsPropertiesARM
-> PhysicalDeviceSchedulingControlsPropertiesARM -> IO b -> IO b
forall b.
Ptr PhysicalDeviceSchedulingControlsPropertiesARM
-> PhysicalDeviceSchedulingControlsPropertiesARM -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceSchedulingControlsPropertiesARM
p PhysicalDeviceSchedulingControlsPropertiesARM
x (Ptr PhysicalDeviceSchedulingControlsPropertiesARM -> IO b
f Ptr PhysicalDeviceSchedulingControlsPropertiesARM
p)
pokeCStruct :: forall b.
Ptr PhysicalDeviceSchedulingControlsPropertiesARM
-> PhysicalDeviceSchedulingControlsPropertiesARM -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceSchedulingControlsPropertiesARM
p PhysicalDeviceSchedulingControlsPropertiesARM{PhysicalDeviceSchedulingControlsFlagsARM
$sel:schedulingControlsFlags:PhysicalDeviceSchedulingControlsPropertiesARM :: PhysicalDeviceSchedulingControlsPropertiesARM
-> PhysicalDeviceSchedulingControlsFlagsARM
schedulingControlsFlags :: PhysicalDeviceSchedulingControlsFlagsARM
..} IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceSchedulingControlsPropertiesARM
p Ptr PhysicalDeviceSchedulingControlsPropertiesARM
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_PROPERTIES_ARM)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceSchedulingControlsPropertiesARM
p Ptr PhysicalDeviceSchedulingControlsPropertiesARM
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceSchedulingControlsPropertiesARM
p Ptr PhysicalDeviceSchedulingControlsPropertiesARM
-> Int -> Ptr PhysicalDeviceSchedulingControlsFlagsARM
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr PhysicalDeviceSchedulingControlsFlagsARM)) (PhysicalDeviceSchedulingControlsFlagsARM
schedulingControlsFlags)
IO b
f
cStructSize :: Int
cStructSize = Int
24
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b.
Ptr PhysicalDeviceSchedulingControlsPropertiesARM -> IO b -> IO b
pokeZeroCStruct Ptr PhysicalDeviceSchedulingControlsPropertiesARM
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceSchedulingControlsPropertiesARM
p Ptr PhysicalDeviceSchedulingControlsPropertiesARM
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_PROPERTIES_ARM)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceSchedulingControlsPropertiesARM
p Ptr PhysicalDeviceSchedulingControlsPropertiesARM
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceSchedulingControlsPropertiesARM
p Ptr PhysicalDeviceSchedulingControlsPropertiesARM
-> Int -> Ptr PhysicalDeviceSchedulingControlsFlagsARM
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr PhysicalDeviceSchedulingControlsFlagsARM)) (PhysicalDeviceSchedulingControlsFlagsARM
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct PhysicalDeviceSchedulingControlsPropertiesARM where
peekCStruct :: Ptr PhysicalDeviceSchedulingControlsPropertiesARM
-> IO PhysicalDeviceSchedulingControlsPropertiesARM
peekCStruct Ptr PhysicalDeviceSchedulingControlsPropertiesARM
p = do
PhysicalDeviceSchedulingControlsFlagsARM
schedulingControlsFlags <- forall a. Storable a => Ptr a -> IO a
peek @PhysicalDeviceSchedulingControlsFlagsARM ((Ptr PhysicalDeviceSchedulingControlsPropertiesARM
p Ptr PhysicalDeviceSchedulingControlsPropertiesARM
-> Int -> Ptr PhysicalDeviceSchedulingControlsFlagsARM
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr PhysicalDeviceSchedulingControlsFlagsARM))
PhysicalDeviceSchedulingControlsPropertiesARM
-> IO PhysicalDeviceSchedulingControlsPropertiesARM
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PhysicalDeviceSchedulingControlsPropertiesARM
-> IO PhysicalDeviceSchedulingControlsPropertiesARM)
-> PhysicalDeviceSchedulingControlsPropertiesARM
-> IO PhysicalDeviceSchedulingControlsPropertiesARM
forall a b. (a -> b) -> a -> b
$ PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsPropertiesARM
PhysicalDeviceSchedulingControlsPropertiesARM
PhysicalDeviceSchedulingControlsFlagsARM
schedulingControlsFlags
instance Storable PhysicalDeviceSchedulingControlsPropertiesARM where
sizeOf :: PhysicalDeviceSchedulingControlsPropertiesARM -> Int
sizeOf ~PhysicalDeviceSchedulingControlsPropertiesARM
_ = Int
24
alignment :: PhysicalDeviceSchedulingControlsPropertiesARM -> Int
alignment ~PhysicalDeviceSchedulingControlsPropertiesARM
_ = Int
8
peek :: Ptr PhysicalDeviceSchedulingControlsPropertiesARM
-> IO PhysicalDeviceSchedulingControlsPropertiesARM
peek = Ptr PhysicalDeviceSchedulingControlsPropertiesARM
-> IO PhysicalDeviceSchedulingControlsPropertiesARM
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr PhysicalDeviceSchedulingControlsPropertiesARM
-> PhysicalDeviceSchedulingControlsPropertiesARM -> IO ()
poke Ptr PhysicalDeviceSchedulingControlsPropertiesARM
ptr PhysicalDeviceSchedulingControlsPropertiesARM
poked = Ptr PhysicalDeviceSchedulingControlsPropertiesARM
-> PhysicalDeviceSchedulingControlsPropertiesARM -> IO () -> IO ()
forall b.
Ptr PhysicalDeviceSchedulingControlsPropertiesARM
-> PhysicalDeviceSchedulingControlsPropertiesARM -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceSchedulingControlsPropertiesARM
ptr PhysicalDeviceSchedulingControlsPropertiesARM
poked (() -> IO ()
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero PhysicalDeviceSchedulingControlsPropertiesARM where
zero :: PhysicalDeviceSchedulingControlsPropertiesARM
zero = PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsPropertiesARM
PhysicalDeviceSchedulingControlsPropertiesARM
PhysicalDeviceSchedulingControlsFlagsARM
forall a. Zero a => a
zero
type PhysicalDeviceSchedulingControlsFlagsARM = PhysicalDeviceSchedulingControlsFlagBitsARM
newtype PhysicalDeviceSchedulingControlsFlagBitsARM = PhysicalDeviceSchedulingControlsFlagBitsARM Flags64
deriving newtype (PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM -> Bool
(PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM -> Bool)
-> (PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM -> Bool)
-> Eq PhysicalDeviceSchedulingControlsFlagsARM
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM -> Bool
== :: PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM -> Bool
$c/= :: PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM -> Bool
/= :: PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM -> Bool
Eq, Eq PhysicalDeviceSchedulingControlsFlagsARM
Eq PhysicalDeviceSchedulingControlsFlagsARM =>
(PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM -> Ordering)
-> (PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM -> Bool)
-> (PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM -> Bool)
-> (PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM -> Bool)
-> (PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM -> Bool)
-> (PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM)
-> (PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM)
-> Ord PhysicalDeviceSchedulingControlsFlagsARM
PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM -> Bool
PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM -> Ordering
PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM -> Ordering
compare :: PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM -> Ordering
$c< :: PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM -> Bool
< :: PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM -> Bool
$c<= :: PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM -> Bool
<= :: PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM -> Bool
$c> :: PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM -> Bool
> :: PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM -> Bool
$c>= :: PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM -> Bool
>= :: PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM -> Bool
$cmax :: PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM
max :: PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM
$cmin :: PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM
min :: PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM
Ord, Ptr PhysicalDeviceSchedulingControlsFlagsARM
-> IO PhysicalDeviceSchedulingControlsFlagsARM
Ptr PhysicalDeviceSchedulingControlsFlagsARM
-> Int -> IO PhysicalDeviceSchedulingControlsFlagsARM
Ptr PhysicalDeviceSchedulingControlsFlagsARM
-> Int -> PhysicalDeviceSchedulingControlsFlagsARM -> IO ()
Ptr PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM -> IO ()
PhysicalDeviceSchedulingControlsFlagsARM -> Int
(PhysicalDeviceSchedulingControlsFlagsARM -> Int)
-> (PhysicalDeviceSchedulingControlsFlagsARM -> Int)
-> (Ptr PhysicalDeviceSchedulingControlsFlagsARM
-> Int -> IO PhysicalDeviceSchedulingControlsFlagsARM)
-> (Ptr PhysicalDeviceSchedulingControlsFlagsARM
-> Int -> PhysicalDeviceSchedulingControlsFlagsARM -> IO ())
-> (forall b.
Ptr b -> Int -> IO PhysicalDeviceSchedulingControlsFlagsARM)
-> (forall b.
Ptr b -> Int -> PhysicalDeviceSchedulingControlsFlagsARM -> IO ())
-> (Ptr PhysicalDeviceSchedulingControlsFlagsARM
-> IO PhysicalDeviceSchedulingControlsFlagsARM)
-> (Ptr PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM -> IO ())
-> Storable PhysicalDeviceSchedulingControlsFlagsARM
forall b.
Ptr b -> Int -> IO PhysicalDeviceSchedulingControlsFlagsARM
forall b.
Ptr b -> Int -> PhysicalDeviceSchedulingControlsFlagsARM -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
$csizeOf :: PhysicalDeviceSchedulingControlsFlagsARM -> Int
sizeOf :: PhysicalDeviceSchedulingControlsFlagsARM -> Int
$calignment :: PhysicalDeviceSchedulingControlsFlagsARM -> Int
alignment :: PhysicalDeviceSchedulingControlsFlagsARM -> Int
$cpeekElemOff :: Ptr PhysicalDeviceSchedulingControlsFlagsARM
-> Int -> IO PhysicalDeviceSchedulingControlsFlagsARM
peekElemOff :: Ptr PhysicalDeviceSchedulingControlsFlagsARM
-> Int -> IO PhysicalDeviceSchedulingControlsFlagsARM
$cpokeElemOff :: Ptr PhysicalDeviceSchedulingControlsFlagsARM
-> Int -> PhysicalDeviceSchedulingControlsFlagsARM -> IO ()
pokeElemOff :: Ptr PhysicalDeviceSchedulingControlsFlagsARM
-> Int -> PhysicalDeviceSchedulingControlsFlagsARM -> IO ()
$cpeekByteOff :: forall b.
Ptr b -> Int -> IO PhysicalDeviceSchedulingControlsFlagsARM
peekByteOff :: forall b.
Ptr b -> Int -> IO PhysicalDeviceSchedulingControlsFlagsARM
$cpokeByteOff :: forall b.
Ptr b -> Int -> PhysicalDeviceSchedulingControlsFlagsARM -> IO ()
pokeByteOff :: forall b.
Ptr b -> Int -> PhysicalDeviceSchedulingControlsFlagsARM -> IO ()
$cpeek :: Ptr PhysicalDeviceSchedulingControlsFlagsARM
-> IO PhysicalDeviceSchedulingControlsFlagsARM
peek :: Ptr PhysicalDeviceSchedulingControlsFlagsARM
-> IO PhysicalDeviceSchedulingControlsFlagsARM
$cpoke :: Ptr PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM -> IO ()
poke :: Ptr PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM -> IO ()
Storable, PhysicalDeviceSchedulingControlsFlagsARM
PhysicalDeviceSchedulingControlsFlagsARM
-> Zero PhysicalDeviceSchedulingControlsFlagsARM
forall a. a -> Zero a
$czero :: PhysicalDeviceSchedulingControlsFlagsARM
zero :: PhysicalDeviceSchedulingControlsFlagsARM
Zero, Eq PhysicalDeviceSchedulingControlsFlagsARM
PhysicalDeviceSchedulingControlsFlagsARM
Eq PhysicalDeviceSchedulingControlsFlagsARM =>
(PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM)
-> (PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM)
-> (PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM)
-> (PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM)
-> (PhysicalDeviceSchedulingControlsFlagsARM
-> Int -> PhysicalDeviceSchedulingControlsFlagsARM)
-> (PhysicalDeviceSchedulingControlsFlagsARM
-> Int -> PhysicalDeviceSchedulingControlsFlagsARM)
-> PhysicalDeviceSchedulingControlsFlagsARM
-> (Int -> PhysicalDeviceSchedulingControlsFlagsARM)
-> (PhysicalDeviceSchedulingControlsFlagsARM
-> Int -> PhysicalDeviceSchedulingControlsFlagsARM)
-> (PhysicalDeviceSchedulingControlsFlagsARM
-> Int -> PhysicalDeviceSchedulingControlsFlagsARM)
-> (PhysicalDeviceSchedulingControlsFlagsARM
-> Int -> PhysicalDeviceSchedulingControlsFlagsARM)
-> (PhysicalDeviceSchedulingControlsFlagsARM -> Int -> Bool)
-> (PhysicalDeviceSchedulingControlsFlagsARM -> Maybe Int)
-> (PhysicalDeviceSchedulingControlsFlagsARM -> Int)
-> (PhysicalDeviceSchedulingControlsFlagsARM -> Bool)
-> (PhysicalDeviceSchedulingControlsFlagsARM
-> Int -> PhysicalDeviceSchedulingControlsFlagsARM)
-> (PhysicalDeviceSchedulingControlsFlagsARM
-> Int -> PhysicalDeviceSchedulingControlsFlagsARM)
-> (PhysicalDeviceSchedulingControlsFlagsARM
-> Int -> PhysicalDeviceSchedulingControlsFlagsARM)
-> (PhysicalDeviceSchedulingControlsFlagsARM
-> Int -> PhysicalDeviceSchedulingControlsFlagsARM)
-> (PhysicalDeviceSchedulingControlsFlagsARM
-> Int -> PhysicalDeviceSchedulingControlsFlagsARM)
-> (PhysicalDeviceSchedulingControlsFlagsARM
-> Int -> PhysicalDeviceSchedulingControlsFlagsARM)
-> (PhysicalDeviceSchedulingControlsFlagsARM -> Int)
-> Bits PhysicalDeviceSchedulingControlsFlagsARM
Int -> PhysicalDeviceSchedulingControlsFlagsARM
PhysicalDeviceSchedulingControlsFlagsARM -> Bool
PhysicalDeviceSchedulingControlsFlagsARM -> Int
PhysicalDeviceSchedulingControlsFlagsARM -> Maybe Int
PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM
PhysicalDeviceSchedulingControlsFlagsARM -> Int -> Bool
PhysicalDeviceSchedulingControlsFlagsARM
-> Int -> PhysicalDeviceSchedulingControlsFlagsARM
PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM
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
$c.&. :: PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM
.&. :: PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM
$c.|. :: PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM
.|. :: PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM
$cxor :: PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM
xor :: PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM
$ccomplement :: PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM
complement :: PhysicalDeviceSchedulingControlsFlagsARM
-> PhysicalDeviceSchedulingControlsFlagsARM
$cshift :: PhysicalDeviceSchedulingControlsFlagsARM
-> Int -> PhysicalDeviceSchedulingControlsFlagsARM
shift :: PhysicalDeviceSchedulingControlsFlagsARM
-> Int -> PhysicalDeviceSchedulingControlsFlagsARM
$crotate :: PhysicalDeviceSchedulingControlsFlagsARM
-> Int -> PhysicalDeviceSchedulingControlsFlagsARM
rotate :: PhysicalDeviceSchedulingControlsFlagsARM
-> Int -> PhysicalDeviceSchedulingControlsFlagsARM
$czeroBits :: PhysicalDeviceSchedulingControlsFlagsARM
zeroBits :: PhysicalDeviceSchedulingControlsFlagsARM
$cbit :: Int -> PhysicalDeviceSchedulingControlsFlagsARM
bit :: Int -> PhysicalDeviceSchedulingControlsFlagsARM
$csetBit :: PhysicalDeviceSchedulingControlsFlagsARM
-> Int -> PhysicalDeviceSchedulingControlsFlagsARM
setBit :: PhysicalDeviceSchedulingControlsFlagsARM
-> Int -> PhysicalDeviceSchedulingControlsFlagsARM
$cclearBit :: PhysicalDeviceSchedulingControlsFlagsARM
-> Int -> PhysicalDeviceSchedulingControlsFlagsARM
clearBit :: PhysicalDeviceSchedulingControlsFlagsARM
-> Int -> PhysicalDeviceSchedulingControlsFlagsARM
$ccomplementBit :: PhysicalDeviceSchedulingControlsFlagsARM
-> Int -> PhysicalDeviceSchedulingControlsFlagsARM
complementBit :: PhysicalDeviceSchedulingControlsFlagsARM
-> Int -> PhysicalDeviceSchedulingControlsFlagsARM
$ctestBit :: PhysicalDeviceSchedulingControlsFlagsARM -> Int -> Bool
testBit :: PhysicalDeviceSchedulingControlsFlagsARM -> Int -> Bool
$cbitSizeMaybe :: PhysicalDeviceSchedulingControlsFlagsARM -> Maybe Int
bitSizeMaybe :: PhysicalDeviceSchedulingControlsFlagsARM -> Maybe Int
$cbitSize :: PhysicalDeviceSchedulingControlsFlagsARM -> Int
bitSize :: PhysicalDeviceSchedulingControlsFlagsARM -> Int
$cisSigned :: PhysicalDeviceSchedulingControlsFlagsARM -> Bool
isSigned :: PhysicalDeviceSchedulingControlsFlagsARM -> Bool
$cshiftL :: PhysicalDeviceSchedulingControlsFlagsARM
-> Int -> PhysicalDeviceSchedulingControlsFlagsARM
shiftL :: PhysicalDeviceSchedulingControlsFlagsARM
-> Int -> PhysicalDeviceSchedulingControlsFlagsARM
$cunsafeShiftL :: PhysicalDeviceSchedulingControlsFlagsARM
-> Int -> PhysicalDeviceSchedulingControlsFlagsARM
unsafeShiftL :: PhysicalDeviceSchedulingControlsFlagsARM
-> Int -> PhysicalDeviceSchedulingControlsFlagsARM
$cshiftR :: PhysicalDeviceSchedulingControlsFlagsARM
-> Int -> PhysicalDeviceSchedulingControlsFlagsARM
shiftR :: PhysicalDeviceSchedulingControlsFlagsARM
-> Int -> PhysicalDeviceSchedulingControlsFlagsARM
$cunsafeShiftR :: PhysicalDeviceSchedulingControlsFlagsARM
-> Int -> PhysicalDeviceSchedulingControlsFlagsARM
unsafeShiftR :: PhysicalDeviceSchedulingControlsFlagsARM
-> Int -> PhysicalDeviceSchedulingControlsFlagsARM
$crotateL :: PhysicalDeviceSchedulingControlsFlagsARM
-> Int -> PhysicalDeviceSchedulingControlsFlagsARM
rotateL :: PhysicalDeviceSchedulingControlsFlagsARM
-> Int -> PhysicalDeviceSchedulingControlsFlagsARM
$crotateR :: PhysicalDeviceSchedulingControlsFlagsARM
-> Int -> PhysicalDeviceSchedulingControlsFlagsARM
rotateR :: PhysicalDeviceSchedulingControlsFlagsARM
-> Int -> PhysicalDeviceSchedulingControlsFlagsARM
$cpopCount :: PhysicalDeviceSchedulingControlsFlagsARM -> Int
popCount :: PhysicalDeviceSchedulingControlsFlagsARM -> Int
Bits, Bits PhysicalDeviceSchedulingControlsFlagsARM
Bits PhysicalDeviceSchedulingControlsFlagsARM =>
(PhysicalDeviceSchedulingControlsFlagsARM -> Int)
-> (PhysicalDeviceSchedulingControlsFlagsARM -> Int)
-> (PhysicalDeviceSchedulingControlsFlagsARM -> Int)
-> FiniteBits PhysicalDeviceSchedulingControlsFlagsARM
PhysicalDeviceSchedulingControlsFlagsARM -> Int
forall b.
Bits b =>
(b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
$cfiniteBitSize :: PhysicalDeviceSchedulingControlsFlagsARM -> Int
finiteBitSize :: PhysicalDeviceSchedulingControlsFlagsARM -> Int
$ccountLeadingZeros :: PhysicalDeviceSchedulingControlsFlagsARM -> Int
countLeadingZeros :: PhysicalDeviceSchedulingControlsFlagsARM -> Int
$ccountTrailingZeros :: PhysicalDeviceSchedulingControlsFlagsARM -> Int
countTrailingZeros :: PhysicalDeviceSchedulingControlsFlagsARM -> Int
FiniteBits)
pattern $bPHYSICAL_DEVICE_SCHEDULING_CONTROLS_SHADER_CORE_COUNT_ARM :: PhysicalDeviceSchedulingControlsFlagsARM
$mPHYSICAL_DEVICE_SCHEDULING_CONTROLS_SHADER_CORE_COUNT_ARM :: forall {r}.
PhysicalDeviceSchedulingControlsFlagsARM
-> ((# #) -> r) -> ((# #) -> r) -> r
PHYSICAL_DEVICE_SCHEDULING_CONTROLS_SHADER_CORE_COUNT_ARM = PhysicalDeviceSchedulingControlsFlagBitsARM 0x0000000000000001
conNamePhysicalDeviceSchedulingControlsFlagBitsARM :: String
conNamePhysicalDeviceSchedulingControlsFlagBitsARM :: String
conNamePhysicalDeviceSchedulingControlsFlagBitsARM = String
"PhysicalDeviceSchedulingControlsFlagBitsARM"
enumPrefixPhysicalDeviceSchedulingControlsFlagBitsARM :: String
enumPrefixPhysicalDeviceSchedulingControlsFlagBitsARM :: String
enumPrefixPhysicalDeviceSchedulingControlsFlagBitsARM = String
"PHYSICAL_DEVICE_SCHEDULING_CONTROLS_SHADER_CORE_COUNT_ARM"
showTablePhysicalDeviceSchedulingControlsFlagBitsARM :: [(PhysicalDeviceSchedulingControlsFlagBitsARM, String)]
showTablePhysicalDeviceSchedulingControlsFlagBitsARM :: [(PhysicalDeviceSchedulingControlsFlagsARM, String)]
showTablePhysicalDeviceSchedulingControlsFlagBitsARM =
[
( PhysicalDeviceSchedulingControlsFlagsARM
PHYSICAL_DEVICE_SCHEDULING_CONTROLS_SHADER_CORE_COUNT_ARM
, String
""
)
]
instance Show PhysicalDeviceSchedulingControlsFlagBitsARM where
showsPrec :: Int -> PhysicalDeviceSchedulingControlsFlagsARM -> ShowS
showsPrec =
String
-> [(PhysicalDeviceSchedulingControlsFlagsARM, String)]
-> String
-> (PhysicalDeviceSchedulingControlsFlagsARM -> Flags64)
-> (Flags64 -> ShowS)
-> Int
-> PhysicalDeviceSchedulingControlsFlagsARM
-> ShowS
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec
String
enumPrefixPhysicalDeviceSchedulingControlsFlagBitsARM
[(PhysicalDeviceSchedulingControlsFlagsARM, String)]
showTablePhysicalDeviceSchedulingControlsFlagBitsARM
String
conNamePhysicalDeviceSchedulingControlsFlagBitsARM
(\(PhysicalDeviceSchedulingControlsFlagBitsARM Flags64
x) -> Flags64
x)
(\Flags64
x -> String -> ShowS
showString String
"0x" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Flags64 -> ShowS
forall a. Integral a => a -> ShowS
showHex Flags64
x)
instance Read PhysicalDeviceSchedulingControlsFlagBitsARM where
readPrec :: ReadPrec PhysicalDeviceSchedulingControlsFlagsARM
readPrec =
String
-> [(PhysicalDeviceSchedulingControlsFlagsARM, String)]
-> String
-> (Flags64 -> PhysicalDeviceSchedulingControlsFlagsARM)
-> ReadPrec PhysicalDeviceSchedulingControlsFlagsARM
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec
String
enumPrefixPhysicalDeviceSchedulingControlsFlagBitsARM
[(PhysicalDeviceSchedulingControlsFlagsARM, String)]
showTablePhysicalDeviceSchedulingControlsFlagBitsARM
String
conNamePhysicalDeviceSchedulingControlsFlagBitsARM
Flags64 -> PhysicalDeviceSchedulingControlsFlagsARM
PhysicalDeviceSchedulingControlsFlagBitsARM
type ARM_SCHEDULING_CONTROLS_SPEC_VERSION = 1
pattern ARM_SCHEDULING_CONTROLS_SPEC_VERSION :: forall a . Integral a => a
pattern $bARM_SCHEDULING_CONTROLS_SPEC_VERSION :: forall a. Integral a => a
$mARM_SCHEDULING_CONTROLS_SPEC_VERSION :: forall {r} {a}.
Integral a =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
ARM_SCHEDULING_CONTROLS_SPEC_VERSION = 1
type ARM_SCHEDULING_CONTROLS_EXTENSION_NAME = "VK_ARM_scheduling_controls"
pattern ARM_SCHEDULING_CONTROLS_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
pattern $bARM_SCHEDULING_CONTROLS_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
$mARM_SCHEDULING_CONTROLS_EXTENSION_NAME :: forall {r} {a}.
(Eq a, IsString a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
ARM_SCHEDULING_CONTROLS_EXTENSION_NAME = "VK_ARM_scheduling_controls"