{-# language CPP #-}
module Vulkan.Extensions.VK_EXT_device_address_binding_report ( PhysicalDeviceAddressBindingReportFeaturesEXT(..)
, DeviceAddressBindingCallbackDataEXT(..)
, DeviceAddressBindingFlagsEXT
, DeviceAddressBindingFlagBitsEXT( DEVICE_ADDRESS_BINDING_INTERNAL_OBJECT_BIT_EXT
, ..
)
, DeviceAddressBindingTypeEXT( DEVICE_ADDRESS_BINDING_TYPE_BIND_EXT
, DEVICE_ADDRESS_BINDING_TYPE_UNBIND_EXT
, ..
)
, EXT_DEVICE_ADDRESS_BINDING_REPORT_SPEC_VERSION
, pattern EXT_DEVICE_ADDRESS_BINDING_REPORT_SPEC_VERSION
, EXT_DEVICE_ADDRESS_BINDING_REPORT_EXTENSION_NAME
, pattern EXT_DEVICE_ADDRESS_BINDING_REPORT_EXTENSION_NAME
, DebugUtilsMessageTypeFlagBitsEXT(..)
, DebugUtilsMessageTypeFlagsEXT
) 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 Vulkan.CStruct (FromCStruct)
import Vulkan.CStruct (FromCStruct(..))
import Vulkan.CStruct (ToCStruct)
import Vulkan.CStruct (ToCStruct(..))
import Vulkan.Zero (Zero)
import Vulkan.Zero (Zero(..))
import Data.String (IsString)
import Data.Typeable (Typeable)
import Foreign.Storable (Storable)
import Foreign.Storable (Storable(peek))
import Foreign.Storable (Storable(poke))
import qualified Foreign.Storable (Storable(..))
import GHC.Generics (Generic)
import Data.Int (Int32)
import Foreign.Ptr (Ptr)
import GHC.Read (Read(readPrec))
import GHC.Show (Show(showsPrec))
import Data.Kind (Type)
import Vulkan.Core10.FundamentalTypes (bool32ToBool)
import Vulkan.Core10.FundamentalTypes (boolToBool32)
import Vulkan.Core10.FundamentalTypes (Bool32)
import Vulkan.Core10.FundamentalTypes (DeviceAddress)
import Vulkan.Core10.FundamentalTypes (DeviceSize)
import Vulkan.Core10.FundamentalTypes (Flags)
import Vulkan.Core10.Enums.StructureType (StructureType)
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT))
import Vulkan.Extensions.VK_EXT_debug_utils (DebugUtilsMessageTypeFlagBitsEXT(..))
import Vulkan.Extensions.VK_EXT_debug_utils (DebugUtilsMessageTypeFlagsEXT)
data PhysicalDeviceAddressBindingReportFeaturesEXT = PhysicalDeviceAddressBindingReportFeaturesEXT
{
PhysicalDeviceAddressBindingReportFeaturesEXT -> Bool
reportAddressBinding :: Bool }
deriving (Typeable, PhysicalDeviceAddressBindingReportFeaturesEXT
-> PhysicalDeviceAddressBindingReportFeaturesEXT -> Bool
(PhysicalDeviceAddressBindingReportFeaturesEXT
-> PhysicalDeviceAddressBindingReportFeaturesEXT -> Bool)
-> (PhysicalDeviceAddressBindingReportFeaturesEXT
-> PhysicalDeviceAddressBindingReportFeaturesEXT -> Bool)
-> Eq PhysicalDeviceAddressBindingReportFeaturesEXT
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PhysicalDeviceAddressBindingReportFeaturesEXT
-> PhysicalDeviceAddressBindingReportFeaturesEXT -> Bool
== :: PhysicalDeviceAddressBindingReportFeaturesEXT
-> PhysicalDeviceAddressBindingReportFeaturesEXT -> Bool
$c/= :: PhysicalDeviceAddressBindingReportFeaturesEXT
-> PhysicalDeviceAddressBindingReportFeaturesEXT -> Bool
/= :: PhysicalDeviceAddressBindingReportFeaturesEXT
-> PhysicalDeviceAddressBindingReportFeaturesEXT -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (PhysicalDeviceAddressBindingReportFeaturesEXT)
#endif
deriving instance Show PhysicalDeviceAddressBindingReportFeaturesEXT
instance ToCStruct PhysicalDeviceAddressBindingReportFeaturesEXT where
withCStruct :: forall b.
PhysicalDeviceAddressBindingReportFeaturesEXT
-> (Ptr PhysicalDeviceAddressBindingReportFeaturesEXT -> IO b)
-> IO b
withCStruct PhysicalDeviceAddressBindingReportFeaturesEXT
x Ptr PhysicalDeviceAddressBindingReportFeaturesEXT -> IO b
f = Int
-> (Ptr PhysicalDeviceAddressBindingReportFeaturesEXT -> IO b)
-> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
24 ((Ptr PhysicalDeviceAddressBindingReportFeaturesEXT -> IO b)
-> IO b)
-> (Ptr PhysicalDeviceAddressBindingReportFeaturesEXT -> IO b)
-> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr PhysicalDeviceAddressBindingReportFeaturesEXT
p -> Ptr PhysicalDeviceAddressBindingReportFeaturesEXT
-> PhysicalDeviceAddressBindingReportFeaturesEXT -> IO b -> IO b
forall b.
Ptr PhysicalDeviceAddressBindingReportFeaturesEXT
-> PhysicalDeviceAddressBindingReportFeaturesEXT -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceAddressBindingReportFeaturesEXT
p PhysicalDeviceAddressBindingReportFeaturesEXT
x (Ptr PhysicalDeviceAddressBindingReportFeaturesEXT -> IO b
f Ptr PhysicalDeviceAddressBindingReportFeaturesEXT
p)
pokeCStruct :: forall b.
Ptr PhysicalDeviceAddressBindingReportFeaturesEXT
-> PhysicalDeviceAddressBindingReportFeaturesEXT -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceAddressBindingReportFeaturesEXT
p PhysicalDeviceAddressBindingReportFeaturesEXT{Bool
$sel:reportAddressBinding:PhysicalDeviceAddressBindingReportFeaturesEXT :: PhysicalDeviceAddressBindingReportFeaturesEXT -> Bool
reportAddressBinding :: Bool
..} IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceAddressBindingReportFeaturesEXT
p Ptr PhysicalDeviceAddressBindingReportFeaturesEXT
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceAddressBindingReportFeaturesEXT
p Ptr PhysicalDeviceAddressBindingReportFeaturesEXT
-> 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 PhysicalDeviceAddressBindingReportFeaturesEXT
p Ptr PhysicalDeviceAddressBindingReportFeaturesEXT
-> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
reportAddressBinding))
IO b
f
cStructSize :: Int
cStructSize = Int
24
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b.
Ptr PhysicalDeviceAddressBindingReportFeaturesEXT -> IO b -> IO b
pokeZeroCStruct Ptr PhysicalDeviceAddressBindingReportFeaturesEXT
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceAddressBindingReportFeaturesEXT
p Ptr PhysicalDeviceAddressBindingReportFeaturesEXT
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceAddressBindingReportFeaturesEXT
p Ptr PhysicalDeviceAddressBindingReportFeaturesEXT
-> 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 PhysicalDeviceAddressBindingReportFeaturesEXT
p Ptr PhysicalDeviceAddressBindingReportFeaturesEXT
-> 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 PhysicalDeviceAddressBindingReportFeaturesEXT where
peekCStruct :: Ptr PhysicalDeviceAddressBindingReportFeaturesEXT
-> IO PhysicalDeviceAddressBindingReportFeaturesEXT
peekCStruct Ptr PhysicalDeviceAddressBindingReportFeaturesEXT
p = do
Bool32
reportAddressBinding <- forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceAddressBindingReportFeaturesEXT
p Ptr PhysicalDeviceAddressBindingReportFeaturesEXT
-> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32))
PhysicalDeviceAddressBindingReportFeaturesEXT
-> IO PhysicalDeviceAddressBindingReportFeaturesEXT
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PhysicalDeviceAddressBindingReportFeaturesEXT
-> IO PhysicalDeviceAddressBindingReportFeaturesEXT)
-> PhysicalDeviceAddressBindingReportFeaturesEXT
-> IO PhysicalDeviceAddressBindingReportFeaturesEXT
forall a b. (a -> b) -> a -> b
$ Bool -> PhysicalDeviceAddressBindingReportFeaturesEXT
PhysicalDeviceAddressBindingReportFeaturesEXT
(Bool32 -> Bool
bool32ToBool Bool32
reportAddressBinding)
instance Storable PhysicalDeviceAddressBindingReportFeaturesEXT where
sizeOf :: PhysicalDeviceAddressBindingReportFeaturesEXT -> Int
sizeOf ~PhysicalDeviceAddressBindingReportFeaturesEXT
_ = Int
24
alignment :: PhysicalDeviceAddressBindingReportFeaturesEXT -> Int
alignment ~PhysicalDeviceAddressBindingReportFeaturesEXT
_ = Int
8
peek :: Ptr PhysicalDeviceAddressBindingReportFeaturesEXT
-> IO PhysicalDeviceAddressBindingReportFeaturesEXT
peek = Ptr PhysicalDeviceAddressBindingReportFeaturesEXT
-> IO PhysicalDeviceAddressBindingReportFeaturesEXT
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr PhysicalDeviceAddressBindingReportFeaturesEXT
-> PhysicalDeviceAddressBindingReportFeaturesEXT -> IO ()
poke Ptr PhysicalDeviceAddressBindingReportFeaturesEXT
ptr PhysicalDeviceAddressBindingReportFeaturesEXT
poked = Ptr PhysicalDeviceAddressBindingReportFeaturesEXT
-> PhysicalDeviceAddressBindingReportFeaturesEXT -> IO () -> IO ()
forall b.
Ptr PhysicalDeviceAddressBindingReportFeaturesEXT
-> PhysicalDeviceAddressBindingReportFeaturesEXT -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceAddressBindingReportFeaturesEXT
ptr PhysicalDeviceAddressBindingReportFeaturesEXT
poked (() -> IO ()
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero PhysicalDeviceAddressBindingReportFeaturesEXT where
zero :: PhysicalDeviceAddressBindingReportFeaturesEXT
zero = Bool -> PhysicalDeviceAddressBindingReportFeaturesEXT
PhysicalDeviceAddressBindingReportFeaturesEXT
Bool
forall a. Zero a => a
zero
data DeviceAddressBindingCallbackDataEXT = DeviceAddressBindingCallbackDataEXT
{
DeviceAddressBindingCallbackDataEXT -> DeviceAddressBindingFlagsEXT
flags :: DeviceAddressBindingFlagsEXT
,
DeviceAddressBindingCallbackDataEXT -> DeviceAddress
baseAddress :: DeviceAddress
,
DeviceAddressBindingCallbackDataEXT -> DeviceAddress
size :: DeviceSize
,
DeviceAddressBindingCallbackDataEXT -> DeviceAddressBindingTypeEXT
bindingType :: DeviceAddressBindingTypeEXT
}
deriving (Typeable, DeviceAddressBindingCallbackDataEXT
-> DeviceAddressBindingCallbackDataEXT -> Bool
(DeviceAddressBindingCallbackDataEXT
-> DeviceAddressBindingCallbackDataEXT -> Bool)
-> (DeviceAddressBindingCallbackDataEXT
-> DeviceAddressBindingCallbackDataEXT -> Bool)
-> Eq DeviceAddressBindingCallbackDataEXT
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: DeviceAddressBindingCallbackDataEXT
-> DeviceAddressBindingCallbackDataEXT -> Bool
== :: DeviceAddressBindingCallbackDataEXT
-> DeviceAddressBindingCallbackDataEXT -> Bool
$c/= :: DeviceAddressBindingCallbackDataEXT
-> DeviceAddressBindingCallbackDataEXT -> Bool
/= :: DeviceAddressBindingCallbackDataEXT
-> DeviceAddressBindingCallbackDataEXT -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (DeviceAddressBindingCallbackDataEXT)
#endif
deriving instance Show DeviceAddressBindingCallbackDataEXT
instance ToCStruct DeviceAddressBindingCallbackDataEXT where
withCStruct :: forall b.
DeviceAddressBindingCallbackDataEXT
-> (Ptr DeviceAddressBindingCallbackDataEXT -> IO b) -> IO b
withCStruct DeviceAddressBindingCallbackDataEXT
x Ptr DeviceAddressBindingCallbackDataEXT -> IO b
f = Int -> (Ptr DeviceAddressBindingCallbackDataEXT -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
48 ((Ptr DeviceAddressBindingCallbackDataEXT -> IO b) -> IO b)
-> (Ptr DeviceAddressBindingCallbackDataEXT -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr DeviceAddressBindingCallbackDataEXT
p -> Ptr DeviceAddressBindingCallbackDataEXT
-> DeviceAddressBindingCallbackDataEXT -> IO b -> IO b
forall b.
Ptr DeviceAddressBindingCallbackDataEXT
-> DeviceAddressBindingCallbackDataEXT -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr DeviceAddressBindingCallbackDataEXT
p DeviceAddressBindingCallbackDataEXT
x (Ptr DeviceAddressBindingCallbackDataEXT -> IO b
f Ptr DeviceAddressBindingCallbackDataEXT
p)
pokeCStruct :: forall b.
Ptr DeviceAddressBindingCallbackDataEXT
-> DeviceAddressBindingCallbackDataEXT -> IO b -> IO b
pokeCStruct Ptr DeviceAddressBindingCallbackDataEXT
p DeviceAddressBindingCallbackDataEXT{DeviceAddress
DeviceAddressBindingFlagsEXT
DeviceAddressBindingTypeEXT
$sel:flags:DeviceAddressBindingCallbackDataEXT :: DeviceAddressBindingCallbackDataEXT -> DeviceAddressBindingFlagsEXT
$sel:baseAddress:DeviceAddressBindingCallbackDataEXT :: DeviceAddressBindingCallbackDataEXT -> DeviceAddress
$sel:size:DeviceAddressBindingCallbackDataEXT :: DeviceAddressBindingCallbackDataEXT -> DeviceAddress
$sel:bindingType:DeviceAddressBindingCallbackDataEXT :: DeviceAddressBindingCallbackDataEXT -> DeviceAddressBindingTypeEXT
flags :: DeviceAddressBindingFlagsEXT
baseAddress :: DeviceAddress
size :: DeviceAddress
bindingType :: DeviceAddressBindingTypeEXT
..} IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DeviceAddressBindingCallbackDataEXT
p Ptr DeviceAddressBindingCallbackDataEXT -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DeviceAddressBindingCallbackDataEXT
p Ptr DeviceAddressBindingCallbackDataEXT -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr DeviceAddressBindingFlagsEXT
-> DeviceAddressBindingFlagsEXT -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DeviceAddressBindingCallbackDataEXT
p Ptr DeviceAddressBindingCallbackDataEXT
-> Int -> Ptr DeviceAddressBindingFlagsEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr DeviceAddressBindingFlagsEXT)) (DeviceAddressBindingFlagsEXT
flags)
Ptr DeviceAddress -> DeviceAddress -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DeviceAddressBindingCallbackDataEXT
p Ptr DeviceAddressBindingCallbackDataEXT -> Int -> Ptr DeviceAddress
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr DeviceAddress)) (DeviceAddress
baseAddress)
Ptr DeviceAddress -> DeviceAddress -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DeviceAddressBindingCallbackDataEXT
p Ptr DeviceAddressBindingCallbackDataEXT -> Int -> Ptr DeviceAddress
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr DeviceSize)) (DeviceAddress
size)
Ptr DeviceAddressBindingTypeEXT
-> DeviceAddressBindingTypeEXT -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DeviceAddressBindingCallbackDataEXT
p Ptr DeviceAddressBindingCallbackDataEXT
-> Int -> Ptr DeviceAddressBindingTypeEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40 :: Ptr DeviceAddressBindingTypeEXT)) (DeviceAddressBindingTypeEXT
bindingType)
IO b
f
cStructSize :: Int
cStructSize = Int
48
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b. Ptr DeviceAddressBindingCallbackDataEXT -> IO b -> IO b
pokeZeroCStruct Ptr DeviceAddressBindingCallbackDataEXT
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DeviceAddressBindingCallbackDataEXT
p Ptr DeviceAddressBindingCallbackDataEXT -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DeviceAddressBindingCallbackDataEXT
p Ptr DeviceAddressBindingCallbackDataEXT -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr DeviceAddress -> DeviceAddress -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DeviceAddressBindingCallbackDataEXT
p Ptr DeviceAddressBindingCallbackDataEXT -> Int -> Ptr DeviceAddress
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr DeviceAddress)) (DeviceAddress
forall a. Zero a => a
zero)
Ptr DeviceAddress -> DeviceAddress -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DeviceAddressBindingCallbackDataEXT
p Ptr DeviceAddressBindingCallbackDataEXT -> Int -> Ptr DeviceAddress
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr DeviceSize)) (DeviceAddress
forall a. Zero a => a
zero)
Ptr DeviceAddressBindingTypeEXT
-> DeviceAddressBindingTypeEXT -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DeviceAddressBindingCallbackDataEXT
p Ptr DeviceAddressBindingCallbackDataEXT
-> Int -> Ptr DeviceAddressBindingTypeEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40 :: Ptr DeviceAddressBindingTypeEXT)) (DeviceAddressBindingTypeEXT
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct DeviceAddressBindingCallbackDataEXT where
peekCStruct :: Ptr DeviceAddressBindingCallbackDataEXT
-> IO DeviceAddressBindingCallbackDataEXT
peekCStruct Ptr DeviceAddressBindingCallbackDataEXT
p = do
DeviceAddressBindingFlagsEXT
flags <- forall a. Storable a => Ptr a -> IO a
peek @DeviceAddressBindingFlagsEXT ((Ptr DeviceAddressBindingCallbackDataEXT
p Ptr DeviceAddressBindingCallbackDataEXT
-> Int -> Ptr DeviceAddressBindingFlagsEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr DeviceAddressBindingFlagsEXT))
DeviceAddress
baseAddress <- forall a. Storable a => Ptr a -> IO a
peek @DeviceAddress ((Ptr DeviceAddressBindingCallbackDataEXT
p Ptr DeviceAddressBindingCallbackDataEXT -> Int -> Ptr DeviceAddress
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr DeviceAddress))
DeviceAddress
size <- forall a. Storable a => Ptr a -> IO a
peek @DeviceSize ((Ptr DeviceAddressBindingCallbackDataEXT
p Ptr DeviceAddressBindingCallbackDataEXT -> Int -> Ptr DeviceAddress
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr DeviceSize))
DeviceAddressBindingTypeEXT
bindingType <- forall a. Storable a => Ptr a -> IO a
peek @DeviceAddressBindingTypeEXT ((Ptr DeviceAddressBindingCallbackDataEXT
p Ptr DeviceAddressBindingCallbackDataEXT
-> Int -> Ptr DeviceAddressBindingTypeEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40 :: Ptr DeviceAddressBindingTypeEXT))
DeviceAddressBindingCallbackDataEXT
-> IO DeviceAddressBindingCallbackDataEXT
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (DeviceAddressBindingCallbackDataEXT
-> IO DeviceAddressBindingCallbackDataEXT)
-> DeviceAddressBindingCallbackDataEXT
-> IO DeviceAddressBindingCallbackDataEXT
forall a b. (a -> b) -> a -> b
$ DeviceAddressBindingFlagsEXT
-> DeviceAddress
-> DeviceAddress
-> DeviceAddressBindingTypeEXT
-> DeviceAddressBindingCallbackDataEXT
DeviceAddressBindingCallbackDataEXT
DeviceAddressBindingFlagsEXT
flags DeviceAddress
baseAddress DeviceAddress
size DeviceAddressBindingTypeEXT
bindingType
instance Storable DeviceAddressBindingCallbackDataEXT where
sizeOf :: DeviceAddressBindingCallbackDataEXT -> Int
sizeOf ~DeviceAddressBindingCallbackDataEXT
_ = Int
48
alignment :: DeviceAddressBindingCallbackDataEXT -> Int
alignment ~DeviceAddressBindingCallbackDataEXT
_ = Int
8
peek :: Ptr DeviceAddressBindingCallbackDataEXT
-> IO DeviceAddressBindingCallbackDataEXT
peek = Ptr DeviceAddressBindingCallbackDataEXT
-> IO DeviceAddressBindingCallbackDataEXT
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr DeviceAddressBindingCallbackDataEXT
-> DeviceAddressBindingCallbackDataEXT -> IO ()
poke Ptr DeviceAddressBindingCallbackDataEXT
ptr DeviceAddressBindingCallbackDataEXT
poked = Ptr DeviceAddressBindingCallbackDataEXT
-> DeviceAddressBindingCallbackDataEXT -> IO () -> IO ()
forall b.
Ptr DeviceAddressBindingCallbackDataEXT
-> DeviceAddressBindingCallbackDataEXT -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr DeviceAddressBindingCallbackDataEXT
ptr DeviceAddressBindingCallbackDataEXT
poked (() -> IO ()
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero DeviceAddressBindingCallbackDataEXT where
zero :: DeviceAddressBindingCallbackDataEXT
zero = DeviceAddressBindingFlagsEXT
-> DeviceAddress
-> DeviceAddress
-> DeviceAddressBindingTypeEXT
-> DeviceAddressBindingCallbackDataEXT
DeviceAddressBindingCallbackDataEXT
DeviceAddressBindingFlagsEXT
forall a. Zero a => a
zero
DeviceAddress
forall a. Zero a => a
zero
DeviceAddress
forall a. Zero a => a
zero
DeviceAddressBindingTypeEXT
forall a. Zero a => a
zero
type DeviceAddressBindingFlagsEXT = DeviceAddressBindingFlagBitsEXT
newtype DeviceAddressBindingFlagBitsEXT = DeviceAddressBindingFlagBitsEXT Flags
deriving newtype (DeviceAddressBindingFlagsEXT
-> DeviceAddressBindingFlagsEXT -> Bool
(DeviceAddressBindingFlagsEXT
-> DeviceAddressBindingFlagsEXT -> Bool)
-> (DeviceAddressBindingFlagsEXT
-> DeviceAddressBindingFlagsEXT -> Bool)
-> Eq DeviceAddressBindingFlagsEXT
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: DeviceAddressBindingFlagsEXT
-> DeviceAddressBindingFlagsEXT -> Bool
== :: DeviceAddressBindingFlagsEXT
-> DeviceAddressBindingFlagsEXT -> Bool
$c/= :: DeviceAddressBindingFlagsEXT
-> DeviceAddressBindingFlagsEXT -> Bool
/= :: DeviceAddressBindingFlagsEXT
-> DeviceAddressBindingFlagsEXT -> Bool
Eq, Eq DeviceAddressBindingFlagsEXT
Eq DeviceAddressBindingFlagsEXT =>
(DeviceAddressBindingFlagsEXT
-> DeviceAddressBindingFlagsEXT -> Ordering)
-> (DeviceAddressBindingFlagsEXT
-> DeviceAddressBindingFlagsEXT -> Bool)
-> (DeviceAddressBindingFlagsEXT
-> DeviceAddressBindingFlagsEXT -> Bool)
-> (DeviceAddressBindingFlagsEXT
-> DeviceAddressBindingFlagsEXT -> Bool)
-> (DeviceAddressBindingFlagsEXT
-> DeviceAddressBindingFlagsEXT -> Bool)
-> (DeviceAddressBindingFlagsEXT
-> DeviceAddressBindingFlagsEXT -> DeviceAddressBindingFlagsEXT)
-> (DeviceAddressBindingFlagsEXT
-> DeviceAddressBindingFlagsEXT -> DeviceAddressBindingFlagsEXT)
-> Ord DeviceAddressBindingFlagsEXT
DeviceAddressBindingFlagsEXT
-> DeviceAddressBindingFlagsEXT -> Bool
DeviceAddressBindingFlagsEXT
-> DeviceAddressBindingFlagsEXT -> Ordering
DeviceAddressBindingFlagsEXT
-> DeviceAddressBindingFlagsEXT -> DeviceAddressBindingFlagsEXT
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 :: DeviceAddressBindingFlagsEXT
-> DeviceAddressBindingFlagsEXT -> Ordering
compare :: DeviceAddressBindingFlagsEXT
-> DeviceAddressBindingFlagsEXT -> Ordering
$c< :: DeviceAddressBindingFlagsEXT
-> DeviceAddressBindingFlagsEXT -> Bool
< :: DeviceAddressBindingFlagsEXT
-> DeviceAddressBindingFlagsEXT -> Bool
$c<= :: DeviceAddressBindingFlagsEXT
-> DeviceAddressBindingFlagsEXT -> Bool
<= :: DeviceAddressBindingFlagsEXT
-> DeviceAddressBindingFlagsEXT -> Bool
$c> :: DeviceAddressBindingFlagsEXT
-> DeviceAddressBindingFlagsEXT -> Bool
> :: DeviceAddressBindingFlagsEXT
-> DeviceAddressBindingFlagsEXT -> Bool
$c>= :: DeviceAddressBindingFlagsEXT
-> DeviceAddressBindingFlagsEXT -> Bool
>= :: DeviceAddressBindingFlagsEXT
-> DeviceAddressBindingFlagsEXT -> Bool
$cmax :: DeviceAddressBindingFlagsEXT
-> DeviceAddressBindingFlagsEXT -> DeviceAddressBindingFlagsEXT
max :: DeviceAddressBindingFlagsEXT
-> DeviceAddressBindingFlagsEXT -> DeviceAddressBindingFlagsEXT
$cmin :: DeviceAddressBindingFlagsEXT
-> DeviceAddressBindingFlagsEXT -> DeviceAddressBindingFlagsEXT
min :: DeviceAddressBindingFlagsEXT
-> DeviceAddressBindingFlagsEXT -> DeviceAddressBindingFlagsEXT
Ord, Ptr DeviceAddressBindingFlagsEXT -> IO DeviceAddressBindingFlagsEXT
Ptr DeviceAddressBindingFlagsEXT
-> Int -> IO DeviceAddressBindingFlagsEXT
Ptr DeviceAddressBindingFlagsEXT
-> Int -> DeviceAddressBindingFlagsEXT -> IO ()
Ptr DeviceAddressBindingFlagsEXT
-> DeviceAddressBindingFlagsEXT -> IO ()
DeviceAddressBindingFlagsEXT -> Int
(DeviceAddressBindingFlagsEXT -> Int)
-> (DeviceAddressBindingFlagsEXT -> Int)
-> (Ptr DeviceAddressBindingFlagsEXT
-> Int -> IO DeviceAddressBindingFlagsEXT)
-> (Ptr DeviceAddressBindingFlagsEXT
-> Int -> DeviceAddressBindingFlagsEXT -> IO ())
-> (forall b. Ptr b -> Int -> IO DeviceAddressBindingFlagsEXT)
-> (forall b.
Ptr b -> Int -> DeviceAddressBindingFlagsEXT -> IO ())
-> (Ptr DeviceAddressBindingFlagsEXT
-> IO DeviceAddressBindingFlagsEXT)
-> (Ptr DeviceAddressBindingFlagsEXT
-> DeviceAddressBindingFlagsEXT -> IO ())
-> Storable DeviceAddressBindingFlagsEXT
forall b. Ptr b -> Int -> IO DeviceAddressBindingFlagsEXT
forall b. Ptr b -> Int -> DeviceAddressBindingFlagsEXT -> 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 :: DeviceAddressBindingFlagsEXT -> Int
sizeOf :: DeviceAddressBindingFlagsEXT -> Int
$calignment :: DeviceAddressBindingFlagsEXT -> Int
alignment :: DeviceAddressBindingFlagsEXT -> Int
$cpeekElemOff :: Ptr DeviceAddressBindingFlagsEXT
-> Int -> IO DeviceAddressBindingFlagsEXT
peekElemOff :: Ptr DeviceAddressBindingFlagsEXT
-> Int -> IO DeviceAddressBindingFlagsEXT
$cpokeElemOff :: Ptr DeviceAddressBindingFlagsEXT
-> Int -> DeviceAddressBindingFlagsEXT -> IO ()
pokeElemOff :: Ptr DeviceAddressBindingFlagsEXT
-> Int -> DeviceAddressBindingFlagsEXT -> IO ()
$cpeekByteOff :: forall b. Ptr b -> Int -> IO DeviceAddressBindingFlagsEXT
peekByteOff :: forall b. Ptr b -> Int -> IO DeviceAddressBindingFlagsEXT
$cpokeByteOff :: forall b. Ptr b -> Int -> DeviceAddressBindingFlagsEXT -> IO ()
pokeByteOff :: forall b. Ptr b -> Int -> DeviceAddressBindingFlagsEXT -> IO ()
$cpeek :: Ptr DeviceAddressBindingFlagsEXT -> IO DeviceAddressBindingFlagsEXT
peek :: Ptr DeviceAddressBindingFlagsEXT -> IO DeviceAddressBindingFlagsEXT
$cpoke :: Ptr DeviceAddressBindingFlagsEXT
-> DeviceAddressBindingFlagsEXT -> IO ()
poke :: Ptr DeviceAddressBindingFlagsEXT
-> DeviceAddressBindingFlagsEXT -> IO ()
Storable, DeviceAddressBindingFlagsEXT
DeviceAddressBindingFlagsEXT -> Zero DeviceAddressBindingFlagsEXT
forall a. a -> Zero a
$czero :: DeviceAddressBindingFlagsEXT
zero :: DeviceAddressBindingFlagsEXT
Zero, Eq DeviceAddressBindingFlagsEXT
DeviceAddressBindingFlagsEXT
Eq DeviceAddressBindingFlagsEXT =>
(DeviceAddressBindingFlagsEXT
-> DeviceAddressBindingFlagsEXT -> DeviceAddressBindingFlagsEXT)
-> (DeviceAddressBindingFlagsEXT
-> DeviceAddressBindingFlagsEXT -> DeviceAddressBindingFlagsEXT)
-> (DeviceAddressBindingFlagsEXT
-> DeviceAddressBindingFlagsEXT -> DeviceAddressBindingFlagsEXT)
-> (DeviceAddressBindingFlagsEXT -> DeviceAddressBindingFlagsEXT)
-> (DeviceAddressBindingFlagsEXT
-> Int -> DeviceAddressBindingFlagsEXT)
-> (DeviceAddressBindingFlagsEXT
-> Int -> DeviceAddressBindingFlagsEXT)
-> DeviceAddressBindingFlagsEXT
-> (Int -> DeviceAddressBindingFlagsEXT)
-> (DeviceAddressBindingFlagsEXT
-> Int -> DeviceAddressBindingFlagsEXT)
-> (DeviceAddressBindingFlagsEXT
-> Int -> DeviceAddressBindingFlagsEXT)
-> (DeviceAddressBindingFlagsEXT
-> Int -> DeviceAddressBindingFlagsEXT)
-> (DeviceAddressBindingFlagsEXT -> Int -> Bool)
-> (DeviceAddressBindingFlagsEXT -> Maybe Int)
-> (DeviceAddressBindingFlagsEXT -> Int)
-> (DeviceAddressBindingFlagsEXT -> Bool)
-> (DeviceAddressBindingFlagsEXT
-> Int -> DeviceAddressBindingFlagsEXT)
-> (DeviceAddressBindingFlagsEXT
-> Int -> DeviceAddressBindingFlagsEXT)
-> (DeviceAddressBindingFlagsEXT
-> Int -> DeviceAddressBindingFlagsEXT)
-> (DeviceAddressBindingFlagsEXT
-> Int -> DeviceAddressBindingFlagsEXT)
-> (DeviceAddressBindingFlagsEXT
-> Int -> DeviceAddressBindingFlagsEXT)
-> (DeviceAddressBindingFlagsEXT
-> Int -> DeviceAddressBindingFlagsEXT)
-> (DeviceAddressBindingFlagsEXT -> Int)
-> Bits DeviceAddressBindingFlagsEXT
Int -> DeviceAddressBindingFlagsEXT
DeviceAddressBindingFlagsEXT -> Bool
DeviceAddressBindingFlagsEXT -> Int
DeviceAddressBindingFlagsEXT -> Maybe Int
DeviceAddressBindingFlagsEXT -> DeviceAddressBindingFlagsEXT
DeviceAddressBindingFlagsEXT -> Int -> Bool
DeviceAddressBindingFlagsEXT -> Int -> DeviceAddressBindingFlagsEXT
DeviceAddressBindingFlagsEXT
-> DeviceAddressBindingFlagsEXT -> DeviceAddressBindingFlagsEXT
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.&. :: DeviceAddressBindingFlagsEXT
-> DeviceAddressBindingFlagsEXT -> DeviceAddressBindingFlagsEXT
.&. :: DeviceAddressBindingFlagsEXT
-> DeviceAddressBindingFlagsEXT -> DeviceAddressBindingFlagsEXT
$c.|. :: DeviceAddressBindingFlagsEXT
-> DeviceAddressBindingFlagsEXT -> DeviceAddressBindingFlagsEXT
.|. :: DeviceAddressBindingFlagsEXT
-> DeviceAddressBindingFlagsEXT -> DeviceAddressBindingFlagsEXT
$cxor :: DeviceAddressBindingFlagsEXT
-> DeviceAddressBindingFlagsEXT -> DeviceAddressBindingFlagsEXT
xor :: DeviceAddressBindingFlagsEXT
-> DeviceAddressBindingFlagsEXT -> DeviceAddressBindingFlagsEXT
$ccomplement :: DeviceAddressBindingFlagsEXT -> DeviceAddressBindingFlagsEXT
complement :: DeviceAddressBindingFlagsEXT -> DeviceAddressBindingFlagsEXT
$cshift :: DeviceAddressBindingFlagsEXT -> Int -> DeviceAddressBindingFlagsEXT
shift :: DeviceAddressBindingFlagsEXT -> Int -> DeviceAddressBindingFlagsEXT
$crotate :: DeviceAddressBindingFlagsEXT -> Int -> DeviceAddressBindingFlagsEXT
rotate :: DeviceAddressBindingFlagsEXT -> Int -> DeviceAddressBindingFlagsEXT
$czeroBits :: DeviceAddressBindingFlagsEXT
zeroBits :: DeviceAddressBindingFlagsEXT
$cbit :: Int -> DeviceAddressBindingFlagsEXT
bit :: Int -> DeviceAddressBindingFlagsEXT
$csetBit :: DeviceAddressBindingFlagsEXT -> Int -> DeviceAddressBindingFlagsEXT
setBit :: DeviceAddressBindingFlagsEXT -> Int -> DeviceAddressBindingFlagsEXT
$cclearBit :: DeviceAddressBindingFlagsEXT -> Int -> DeviceAddressBindingFlagsEXT
clearBit :: DeviceAddressBindingFlagsEXT -> Int -> DeviceAddressBindingFlagsEXT
$ccomplementBit :: DeviceAddressBindingFlagsEXT -> Int -> DeviceAddressBindingFlagsEXT
complementBit :: DeviceAddressBindingFlagsEXT -> Int -> DeviceAddressBindingFlagsEXT
$ctestBit :: DeviceAddressBindingFlagsEXT -> Int -> Bool
testBit :: DeviceAddressBindingFlagsEXT -> Int -> Bool
$cbitSizeMaybe :: DeviceAddressBindingFlagsEXT -> Maybe Int
bitSizeMaybe :: DeviceAddressBindingFlagsEXT -> Maybe Int
$cbitSize :: DeviceAddressBindingFlagsEXT -> Int
bitSize :: DeviceAddressBindingFlagsEXT -> Int
$cisSigned :: DeviceAddressBindingFlagsEXT -> Bool
isSigned :: DeviceAddressBindingFlagsEXT -> Bool
$cshiftL :: DeviceAddressBindingFlagsEXT -> Int -> DeviceAddressBindingFlagsEXT
shiftL :: DeviceAddressBindingFlagsEXT -> Int -> DeviceAddressBindingFlagsEXT
$cunsafeShiftL :: DeviceAddressBindingFlagsEXT -> Int -> DeviceAddressBindingFlagsEXT
unsafeShiftL :: DeviceAddressBindingFlagsEXT -> Int -> DeviceAddressBindingFlagsEXT
$cshiftR :: DeviceAddressBindingFlagsEXT -> Int -> DeviceAddressBindingFlagsEXT
shiftR :: DeviceAddressBindingFlagsEXT -> Int -> DeviceAddressBindingFlagsEXT
$cunsafeShiftR :: DeviceAddressBindingFlagsEXT -> Int -> DeviceAddressBindingFlagsEXT
unsafeShiftR :: DeviceAddressBindingFlagsEXT -> Int -> DeviceAddressBindingFlagsEXT
$crotateL :: DeviceAddressBindingFlagsEXT -> Int -> DeviceAddressBindingFlagsEXT
rotateL :: DeviceAddressBindingFlagsEXT -> Int -> DeviceAddressBindingFlagsEXT
$crotateR :: DeviceAddressBindingFlagsEXT -> Int -> DeviceAddressBindingFlagsEXT
rotateR :: DeviceAddressBindingFlagsEXT -> Int -> DeviceAddressBindingFlagsEXT
$cpopCount :: DeviceAddressBindingFlagsEXT -> Int
popCount :: DeviceAddressBindingFlagsEXT -> Int
Bits, Bits DeviceAddressBindingFlagsEXT
Bits DeviceAddressBindingFlagsEXT =>
(DeviceAddressBindingFlagsEXT -> Int)
-> (DeviceAddressBindingFlagsEXT -> Int)
-> (DeviceAddressBindingFlagsEXT -> Int)
-> FiniteBits DeviceAddressBindingFlagsEXT
DeviceAddressBindingFlagsEXT -> Int
forall b.
Bits b =>
(b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
$cfiniteBitSize :: DeviceAddressBindingFlagsEXT -> Int
finiteBitSize :: DeviceAddressBindingFlagsEXT -> Int
$ccountLeadingZeros :: DeviceAddressBindingFlagsEXT -> Int
countLeadingZeros :: DeviceAddressBindingFlagsEXT -> Int
$ccountTrailingZeros :: DeviceAddressBindingFlagsEXT -> Int
countTrailingZeros :: DeviceAddressBindingFlagsEXT -> Int
FiniteBits)
pattern $bDEVICE_ADDRESS_BINDING_INTERNAL_OBJECT_BIT_EXT :: DeviceAddressBindingFlagsEXT
$mDEVICE_ADDRESS_BINDING_INTERNAL_OBJECT_BIT_EXT :: forall {r}.
DeviceAddressBindingFlagsEXT -> ((# #) -> r) -> ((# #) -> r) -> r
DEVICE_ADDRESS_BINDING_INTERNAL_OBJECT_BIT_EXT = DeviceAddressBindingFlagBitsEXT 0x00000001
conNameDeviceAddressBindingFlagBitsEXT :: String
conNameDeviceAddressBindingFlagBitsEXT :: String
conNameDeviceAddressBindingFlagBitsEXT = String
"DeviceAddressBindingFlagBitsEXT"
enumPrefixDeviceAddressBindingFlagBitsEXT :: String
enumPrefixDeviceAddressBindingFlagBitsEXT :: String
enumPrefixDeviceAddressBindingFlagBitsEXT = String
"DEVICE_ADDRESS_BINDING_INTERNAL_OBJECT_BIT_EXT"
showTableDeviceAddressBindingFlagBitsEXT :: [(DeviceAddressBindingFlagBitsEXT, String)]
showTableDeviceAddressBindingFlagBitsEXT :: [(DeviceAddressBindingFlagsEXT, String)]
showTableDeviceAddressBindingFlagBitsEXT =
[
( DeviceAddressBindingFlagsEXT
DEVICE_ADDRESS_BINDING_INTERNAL_OBJECT_BIT_EXT
, String
""
)
]
instance Show DeviceAddressBindingFlagBitsEXT where
showsPrec :: Int -> DeviceAddressBindingFlagsEXT -> ShowS
showsPrec =
String
-> [(DeviceAddressBindingFlagsEXT, String)]
-> String
-> (DeviceAddressBindingFlagsEXT -> Flags)
-> (Flags -> ShowS)
-> Int
-> DeviceAddressBindingFlagsEXT
-> ShowS
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec
String
enumPrefixDeviceAddressBindingFlagBitsEXT
[(DeviceAddressBindingFlagsEXT, String)]
showTableDeviceAddressBindingFlagBitsEXT
String
conNameDeviceAddressBindingFlagBitsEXT
(\(DeviceAddressBindingFlagBitsEXT Flags
x) -> Flags
x)
(\Flags
x -> String -> ShowS
showString String
"0x" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Flags -> ShowS
forall a. Integral a => a -> ShowS
showHex Flags
x)
instance Read DeviceAddressBindingFlagBitsEXT where
readPrec :: ReadPrec DeviceAddressBindingFlagsEXT
readPrec =
String
-> [(DeviceAddressBindingFlagsEXT, String)]
-> String
-> (Flags -> DeviceAddressBindingFlagsEXT)
-> ReadPrec DeviceAddressBindingFlagsEXT
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec
String
enumPrefixDeviceAddressBindingFlagBitsEXT
[(DeviceAddressBindingFlagsEXT, String)]
showTableDeviceAddressBindingFlagBitsEXT
String
conNameDeviceAddressBindingFlagBitsEXT
Flags -> DeviceAddressBindingFlagsEXT
DeviceAddressBindingFlagBitsEXT
newtype DeviceAddressBindingTypeEXT = DeviceAddressBindingTypeEXT Int32
deriving newtype (DeviceAddressBindingTypeEXT -> DeviceAddressBindingTypeEXT -> Bool
(DeviceAddressBindingTypeEXT
-> DeviceAddressBindingTypeEXT -> Bool)
-> (DeviceAddressBindingTypeEXT
-> DeviceAddressBindingTypeEXT -> Bool)
-> Eq DeviceAddressBindingTypeEXT
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: DeviceAddressBindingTypeEXT -> DeviceAddressBindingTypeEXT -> Bool
== :: DeviceAddressBindingTypeEXT -> DeviceAddressBindingTypeEXT -> Bool
$c/= :: DeviceAddressBindingTypeEXT -> DeviceAddressBindingTypeEXT -> Bool
/= :: DeviceAddressBindingTypeEXT -> DeviceAddressBindingTypeEXT -> Bool
Eq, Eq DeviceAddressBindingTypeEXT
Eq DeviceAddressBindingTypeEXT =>
(DeviceAddressBindingTypeEXT
-> DeviceAddressBindingTypeEXT -> Ordering)
-> (DeviceAddressBindingTypeEXT
-> DeviceAddressBindingTypeEXT -> Bool)
-> (DeviceAddressBindingTypeEXT
-> DeviceAddressBindingTypeEXT -> Bool)
-> (DeviceAddressBindingTypeEXT
-> DeviceAddressBindingTypeEXT -> Bool)
-> (DeviceAddressBindingTypeEXT
-> DeviceAddressBindingTypeEXT -> Bool)
-> (DeviceAddressBindingTypeEXT
-> DeviceAddressBindingTypeEXT -> DeviceAddressBindingTypeEXT)
-> (DeviceAddressBindingTypeEXT
-> DeviceAddressBindingTypeEXT -> DeviceAddressBindingTypeEXT)
-> Ord DeviceAddressBindingTypeEXT
DeviceAddressBindingTypeEXT -> DeviceAddressBindingTypeEXT -> Bool
DeviceAddressBindingTypeEXT
-> DeviceAddressBindingTypeEXT -> Ordering
DeviceAddressBindingTypeEXT
-> DeviceAddressBindingTypeEXT -> DeviceAddressBindingTypeEXT
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 :: DeviceAddressBindingTypeEXT
-> DeviceAddressBindingTypeEXT -> Ordering
compare :: DeviceAddressBindingTypeEXT
-> DeviceAddressBindingTypeEXT -> Ordering
$c< :: DeviceAddressBindingTypeEXT -> DeviceAddressBindingTypeEXT -> Bool
< :: DeviceAddressBindingTypeEXT -> DeviceAddressBindingTypeEXT -> Bool
$c<= :: DeviceAddressBindingTypeEXT -> DeviceAddressBindingTypeEXT -> Bool
<= :: DeviceAddressBindingTypeEXT -> DeviceAddressBindingTypeEXT -> Bool
$c> :: DeviceAddressBindingTypeEXT -> DeviceAddressBindingTypeEXT -> Bool
> :: DeviceAddressBindingTypeEXT -> DeviceAddressBindingTypeEXT -> Bool
$c>= :: DeviceAddressBindingTypeEXT -> DeviceAddressBindingTypeEXT -> Bool
>= :: DeviceAddressBindingTypeEXT -> DeviceAddressBindingTypeEXT -> Bool
$cmax :: DeviceAddressBindingTypeEXT
-> DeviceAddressBindingTypeEXT -> DeviceAddressBindingTypeEXT
max :: DeviceAddressBindingTypeEXT
-> DeviceAddressBindingTypeEXT -> DeviceAddressBindingTypeEXT
$cmin :: DeviceAddressBindingTypeEXT
-> DeviceAddressBindingTypeEXT -> DeviceAddressBindingTypeEXT
min :: DeviceAddressBindingTypeEXT
-> DeviceAddressBindingTypeEXT -> DeviceAddressBindingTypeEXT
Ord, Ptr DeviceAddressBindingTypeEXT -> IO DeviceAddressBindingTypeEXT
Ptr DeviceAddressBindingTypeEXT
-> Int -> IO DeviceAddressBindingTypeEXT
Ptr DeviceAddressBindingTypeEXT
-> Int -> DeviceAddressBindingTypeEXT -> IO ()
Ptr DeviceAddressBindingTypeEXT
-> DeviceAddressBindingTypeEXT -> IO ()
DeviceAddressBindingTypeEXT -> Int
(DeviceAddressBindingTypeEXT -> Int)
-> (DeviceAddressBindingTypeEXT -> Int)
-> (Ptr DeviceAddressBindingTypeEXT
-> Int -> IO DeviceAddressBindingTypeEXT)
-> (Ptr DeviceAddressBindingTypeEXT
-> Int -> DeviceAddressBindingTypeEXT -> IO ())
-> (forall b. Ptr b -> Int -> IO DeviceAddressBindingTypeEXT)
-> (forall b. Ptr b -> Int -> DeviceAddressBindingTypeEXT -> IO ())
-> (Ptr DeviceAddressBindingTypeEXT
-> IO DeviceAddressBindingTypeEXT)
-> (Ptr DeviceAddressBindingTypeEXT
-> DeviceAddressBindingTypeEXT -> IO ())
-> Storable DeviceAddressBindingTypeEXT
forall b. Ptr b -> Int -> IO DeviceAddressBindingTypeEXT
forall b. Ptr b -> Int -> DeviceAddressBindingTypeEXT -> 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 :: DeviceAddressBindingTypeEXT -> Int
sizeOf :: DeviceAddressBindingTypeEXT -> Int
$calignment :: DeviceAddressBindingTypeEXT -> Int
alignment :: DeviceAddressBindingTypeEXT -> Int
$cpeekElemOff :: Ptr DeviceAddressBindingTypeEXT
-> Int -> IO DeviceAddressBindingTypeEXT
peekElemOff :: Ptr DeviceAddressBindingTypeEXT
-> Int -> IO DeviceAddressBindingTypeEXT
$cpokeElemOff :: Ptr DeviceAddressBindingTypeEXT
-> Int -> DeviceAddressBindingTypeEXT -> IO ()
pokeElemOff :: Ptr DeviceAddressBindingTypeEXT
-> Int -> DeviceAddressBindingTypeEXT -> IO ()
$cpeekByteOff :: forall b. Ptr b -> Int -> IO DeviceAddressBindingTypeEXT
peekByteOff :: forall b. Ptr b -> Int -> IO DeviceAddressBindingTypeEXT
$cpokeByteOff :: forall b. Ptr b -> Int -> DeviceAddressBindingTypeEXT -> IO ()
pokeByteOff :: forall b. Ptr b -> Int -> DeviceAddressBindingTypeEXT -> IO ()
$cpeek :: Ptr DeviceAddressBindingTypeEXT -> IO DeviceAddressBindingTypeEXT
peek :: Ptr DeviceAddressBindingTypeEXT -> IO DeviceAddressBindingTypeEXT
$cpoke :: Ptr DeviceAddressBindingTypeEXT
-> DeviceAddressBindingTypeEXT -> IO ()
poke :: Ptr DeviceAddressBindingTypeEXT
-> DeviceAddressBindingTypeEXT -> IO ()
Storable, DeviceAddressBindingTypeEXT
DeviceAddressBindingTypeEXT -> Zero DeviceAddressBindingTypeEXT
forall a. a -> Zero a
$czero :: DeviceAddressBindingTypeEXT
zero :: DeviceAddressBindingTypeEXT
Zero)
pattern $bDEVICE_ADDRESS_BINDING_TYPE_BIND_EXT :: DeviceAddressBindingTypeEXT
$mDEVICE_ADDRESS_BINDING_TYPE_BIND_EXT :: forall {r}.
DeviceAddressBindingTypeEXT -> ((# #) -> r) -> ((# #) -> r) -> r
DEVICE_ADDRESS_BINDING_TYPE_BIND_EXT = DeviceAddressBindingTypeEXT 0
pattern $bDEVICE_ADDRESS_BINDING_TYPE_UNBIND_EXT :: DeviceAddressBindingTypeEXT
$mDEVICE_ADDRESS_BINDING_TYPE_UNBIND_EXT :: forall {r}.
DeviceAddressBindingTypeEXT -> ((# #) -> r) -> ((# #) -> r) -> r
DEVICE_ADDRESS_BINDING_TYPE_UNBIND_EXT = DeviceAddressBindingTypeEXT 1
{-# COMPLETE
DEVICE_ADDRESS_BINDING_TYPE_BIND_EXT
, DEVICE_ADDRESS_BINDING_TYPE_UNBIND_EXT ::
DeviceAddressBindingTypeEXT
#-}
conNameDeviceAddressBindingTypeEXT :: String
conNameDeviceAddressBindingTypeEXT :: String
conNameDeviceAddressBindingTypeEXT = String
"DeviceAddressBindingTypeEXT"
enumPrefixDeviceAddressBindingTypeEXT :: String
enumPrefixDeviceAddressBindingTypeEXT :: String
enumPrefixDeviceAddressBindingTypeEXT = String
"DEVICE_ADDRESS_BINDING_TYPE_"
showTableDeviceAddressBindingTypeEXT :: [(DeviceAddressBindingTypeEXT, String)]
showTableDeviceAddressBindingTypeEXT :: [(DeviceAddressBindingTypeEXT, String)]
showTableDeviceAddressBindingTypeEXT =
[
( DeviceAddressBindingTypeEXT
DEVICE_ADDRESS_BINDING_TYPE_BIND_EXT
, String
"BIND_EXT"
)
,
( DeviceAddressBindingTypeEXT
DEVICE_ADDRESS_BINDING_TYPE_UNBIND_EXT
, String
"UNBIND_EXT"
)
]
instance Show DeviceAddressBindingTypeEXT where
showsPrec :: Int -> DeviceAddressBindingTypeEXT -> ShowS
showsPrec =
String
-> [(DeviceAddressBindingTypeEXT, String)]
-> String
-> (DeviceAddressBindingTypeEXT -> Int32)
-> (Int32 -> ShowS)
-> Int
-> DeviceAddressBindingTypeEXT
-> ShowS
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec
String
enumPrefixDeviceAddressBindingTypeEXT
[(DeviceAddressBindingTypeEXT, String)]
showTableDeviceAddressBindingTypeEXT
String
conNameDeviceAddressBindingTypeEXT
(\(DeviceAddressBindingTypeEXT Int32
x) -> Int32
x)
(Int -> Int32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
11)
instance Read DeviceAddressBindingTypeEXT where
readPrec :: ReadPrec DeviceAddressBindingTypeEXT
readPrec =
String
-> [(DeviceAddressBindingTypeEXT, String)]
-> String
-> (Int32 -> DeviceAddressBindingTypeEXT)
-> ReadPrec DeviceAddressBindingTypeEXT
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec
String
enumPrefixDeviceAddressBindingTypeEXT
[(DeviceAddressBindingTypeEXT, String)]
showTableDeviceAddressBindingTypeEXT
String
conNameDeviceAddressBindingTypeEXT
Int32 -> DeviceAddressBindingTypeEXT
DeviceAddressBindingTypeEXT
type EXT_DEVICE_ADDRESS_BINDING_REPORT_SPEC_VERSION = 1
pattern EXT_DEVICE_ADDRESS_BINDING_REPORT_SPEC_VERSION :: forall a . Integral a => a
pattern $bEXT_DEVICE_ADDRESS_BINDING_REPORT_SPEC_VERSION :: forall a. Integral a => a
$mEXT_DEVICE_ADDRESS_BINDING_REPORT_SPEC_VERSION :: forall {r} {a}.
Integral a =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
EXT_DEVICE_ADDRESS_BINDING_REPORT_SPEC_VERSION = 1
type EXT_DEVICE_ADDRESS_BINDING_REPORT_EXTENSION_NAME = "VK_EXT_device_address_binding_report"
pattern EXT_DEVICE_ADDRESS_BINDING_REPORT_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
pattern $bEXT_DEVICE_ADDRESS_BINDING_REPORT_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
$mEXT_DEVICE_ADDRESS_BINDING_REPORT_EXTENSION_NAME :: forall {r} {a}.
(Eq a, IsString a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
EXT_DEVICE_ADDRESS_BINDING_REPORT_EXTENSION_NAME = "VK_EXT_device_address_binding_report"