{-# language CPP #-}
module Vulkan.Extensions.VK_EXT_custom_border_color ( SamplerCustomBorderColorCreateInfoEXT(..)
, PhysicalDeviceCustomBorderColorPropertiesEXT(..)
, PhysicalDeviceCustomBorderColorFeaturesEXT(..)
, EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION
, pattern EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION
, EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME
, pattern EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME
) where
import Foreign.Marshal.Alloc (allocaBytes)
import Foreign.Ptr (nullPtr)
import Foreign.Ptr (plusPtr)
import Control.Monad.Trans.Class (lift)
import Control.Monad.Trans.Cont (evalContT)
import Vulkan.CStruct (FromCStruct)
import Vulkan.CStruct (FromCStruct(..))
import Vulkan.CStruct (ToCStruct)
import Vulkan.CStruct (ToCStruct(..))
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 Data.Word (Word32)
import Data.Kind (Type)
import Control.Monad.Trans.Cont (ContT(..))
import Vulkan.Core10.FundamentalTypes (bool32ToBool)
import Vulkan.Core10.FundamentalTypes (boolToBool32)
import Vulkan.Core10.FundamentalTypes (Bool32)
import Vulkan.Core10.CommandBufferBuilding (ClearColorValue)
import Vulkan.Core10.Enums.Format (Format)
import Vulkan.Core10.Enums.StructureType (StructureType)
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT))
data SamplerCustomBorderColorCreateInfoEXT = SamplerCustomBorderColorCreateInfoEXT
{
SamplerCustomBorderColorCreateInfoEXT -> ClearColorValue
customBorderColor :: ClearColorValue
,
SamplerCustomBorderColorCreateInfoEXT -> Format
format :: Format
}
deriving (Typeable)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (SamplerCustomBorderColorCreateInfoEXT)
#endif
deriving instance Show SamplerCustomBorderColorCreateInfoEXT
instance ToCStruct SamplerCustomBorderColorCreateInfoEXT where
withCStruct :: forall b.
SamplerCustomBorderColorCreateInfoEXT
-> (Ptr SamplerCustomBorderColorCreateInfoEXT -> IO b) -> IO b
withCStruct SamplerCustomBorderColorCreateInfoEXT
x Ptr SamplerCustomBorderColorCreateInfoEXT -> IO b
f = forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
40 forall a b. (a -> b) -> a -> b
$ \Ptr SamplerCustomBorderColorCreateInfoEXT
p -> forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr SamplerCustomBorderColorCreateInfoEXT
p SamplerCustomBorderColorCreateInfoEXT
x (Ptr SamplerCustomBorderColorCreateInfoEXT -> IO b
f Ptr SamplerCustomBorderColorCreateInfoEXT
p)
pokeCStruct :: forall b.
Ptr SamplerCustomBorderColorCreateInfoEXT
-> SamplerCustomBorderColorCreateInfoEXT -> IO b -> IO b
pokeCStruct Ptr SamplerCustomBorderColorCreateInfoEXT
p SamplerCustomBorderColorCreateInfoEXT{ClearColorValue
Format
format :: Format
customBorderColor :: ClearColorValue
$sel:format:SamplerCustomBorderColorCreateInfoEXT :: SamplerCustomBorderColorCreateInfoEXT -> Format
$sel:customBorderColor:SamplerCustomBorderColorCreateInfoEXT :: SamplerCustomBorderColorCreateInfoEXT -> ClearColorValue
..} IO b
f = forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT forall a b. (a -> b) -> a -> b
$ do
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr SamplerCustomBorderColorCreateInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr SamplerCustomBorderColorCreateInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (forall a. Ptr a
nullPtr)
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT forall a b. (a -> b) -> a -> b
$ forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct ((Ptr SamplerCustomBorderColorCreateInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr ClearColorValue)) (ClearColorValue
customBorderColor) forall b c a. (b -> c) -> (a -> b) -> a -> c
. (forall a b. (a -> b) -> a -> b
$ ())
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr SamplerCustomBorderColorCreateInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr Format)) (Format
format)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ IO b
f
cStructSize :: Int
cStructSize = Int
40
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b. Ptr SamplerCustomBorderColorCreateInfoEXT -> IO b -> IO b
pokeZeroCStruct Ptr SamplerCustomBorderColorCreateInfoEXT
p IO b
f = forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT forall a b. (a -> b) -> a -> b
$ do
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr SamplerCustomBorderColorCreateInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr SamplerCustomBorderColorCreateInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (forall a. Ptr a
nullPtr)
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT forall a b. (a -> b) -> a -> b
$ forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct ((Ptr SamplerCustomBorderColorCreateInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr ClearColorValue)) (forall a. Zero a => a
zero) forall b c a. (b -> c) -> (a -> b) -> a -> c
. (forall a b. (a -> b) -> a -> b
$ ())
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr SamplerCustomBorderColorCreateInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr Format)) (forall a. Zero a => a
zero)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ IO b
f
instance Zero SamplerCustomBorderColorCreateInfoEXT where
zero :: SamplerCustomBorderColorCreateInfoEXT
zero = ClearColorValue -> Format -> SamplerCustomBorderColorCreateInfoEXT
SamplerCustomBorderColorCreateInfoEXT
forall a. Zero a => a
zero
forall a. Zero a => a
zero
data PhysicalDeviceCustomBorderColorPropertiesEXT = PhysicalDeviceCustomBorderColorPropertiesEXT
{
PhysicalDeviceCustomBorderColorPropertiesEXT -> Word32
maxCustomBorderColorSamplers :: Word32 }
deriving (Typeable, PhysicalDeviceCustomBorderColorPropertiesEXT
-> PhysicalDeviceCustomBorderColorPropertiesEXT -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PhysicalDeviceCustomBorderColorPropertiesEXT
-> PhysicalDeviceCustomBorderColorPropertiesEXT -> Bool
$c/= :: PhysicalDeviceCustomBorderColorPropertiesEXT
-> PhysicalDeviceCustomBorderColorPropertiesEXT -> Bool
== :: PhysicalDeviceCustomBorderColorPropertiesEXT
-> PhysicalDeviceCustomBorderColorPropertiesEXT -> Bool
$c== :: PhysicalDeviceCustomBorderColorPropertiesEXT
-> PhysicalDeviceCustomBorderColorPropertiesEXT -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (PhysicalDeviceCustomBorderColorPropertiesEXT)
#endif
deriving instance Show PhysicalDeviceCustomBorderColorPropertiesEXT
instance ToCStruct PhysicalDeviceCustomBorderColorPropertiesEXT where
withCStruct :: forall b.
PhysicalDeviceCustomBorderColorPropertiesEXT
-> (Ptr PhysicalDeviceCustomBorderColorPropertiesEXT -> IO b)
-> IO b
withCStruct PhysicalDeviceCustomBorderColorPropertiesEXT
x Ptr PhysicalDeviceCustomBorderColorPropertiesEXT -> IO b
f = forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
24 forall a b. (a -> b) -> a -> b
$ \Ptr PhysicalDeviceCustomBorderColorPropertiesEXT
p -> forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceCustomBorderColorPropertiesEXT
p PhysicalDeviceCustomBorderColorPropertiesEXT
x (Ptr PhysicalDeviceCustomBorderColorPropertiesEXT -> IO b
f Ptr PhysicalDeviceCustomBorderColorPropertiesEXT
p)
pokeCStruct :: forall b.
Ptr PhysicalDeviceCustomBorderColorPropertiesEXT
-> PhysicalDeviceCustomBorderColorPropertiesEXT -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceCustomBorderColorPropertiesEXT
p PhysicalDeviceCustomBorderColorPropertiesEXT{Word32
maxCustomBorderColorSamplers :: Word32
$sel:maxCustomBorderColorSamplers:PhysicalDeviceCustomBorderColorPropertiesEXT :: PhysicalDeviceCustomBorderColorPropertiesEXT -> Word32
..} IO b
f = do
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceCustomBorderColorPropertiesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT)
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceCustomBorderColorPropertiesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (forall a. Ptr a
nullPtr)
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceCustomBorderColorPropertiesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Word32)) (Word32
maxCustomBorderColorSamplers)
IO b
f
cStructSize :: Int
cStructSize = Int
24
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b.
Ptr PhysicalDeviceCustomBorderColorPropertiesEXT -> IO b -> IO b
pokeZeroCStruct Ptr PhysicalDeviceCustomBorderColorPropertiesEXT
p IO b
f = do
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceCustomBorderColorPropertiesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT)
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceCustomBorderColorPropertiesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (forall a. Ptr a
nullPtr)
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceCustomBorderColorPropertiesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Word32)) (forall a. Zero a => a
zero)
IO b
f
instance FromCStruct PhysicalDeviceCustomBorderColorPropertiesEXT where
peekCStruct :: Ptr PhysicalDeviceCustomBorderColorPropertiesEXT
-> IO PhysicalDeviceCustomBorderColorPropertiesEXT
peekCStruct Ptr PhysicalDeviceCustomBorderColorPropertiesEXT
p = do
Word32
maxCustomBorderColorSamplers <- forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr PhysicalDeviceCustomBorderColorPropertiesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Word32))
forall (f :: * -> *) a. Applicative f => a -> f a
pure forall a b. (a -> b) -> a -> b
$ Word32 -> PhysicalDeviceCustomBorderColorPropertiesEXT
PhysicalDeviceCustomBorderColorPropertiesEXT
Word32
maxCustomBorderColorSamplers
instance Storable PhysicalDeviceCustomBorderColorPropertiesEXT where
sizeOf :: PhysicalDeviceCustomBorderColorPropertiesEXT -> Int
sizeOf ~PhysicalDeviceCustomBorderColorPropertiesEXT
_ = Int
24
alignment :: PhysicalDeviceCustomBorderColorPropertiesEXT -> Int
alignment ~PhysicalDeviceCustomBorderColorPropertiesEXT
_ = Int
8
peek :: Ptr PhysicalDeviceCustomBorderColorPropertiesEXT
-> IO PhysicalDeviceCustomBorderColorPropertiesEXT
peek = forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr PhysicalDeviceCustomBorderColorPropertiesEXT
-> PhysicalDeviceCustomBorderColorPropertiesEXT -> IO ()
poke Ptr PhysicalDeviceCustomBorderColorPropertiesEXT
ptr PhysicalDeviceCustomBorderColorPropertiesEXT
poked = forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceCustomBorderColorPropertiesEXT
ptr PhysicalDeviceCustomBorderColorPropertiesEXT
poked (forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero PhysicalDeviceCustomBorderColorPropertiesEXT where
zero :: PhysicalDeviceCustomBorderColorPropertiesEXT
zero = Word32 -> PhysicalDeviceCustomBorderColorPropertiesEXT
PhysicalDeviceCustomBorderColorPropertiesEXT
forall a. Zero a => a
zero
data PhysicalDeviceCustomBorderColorFeaturesEXT = PhysicalDeviceCustomBorderColorFeaturesEXT
{
PhysicalDeviceCustomBorderColorFeaturesEXT -> Bool
customBorderColors :: Bool
,
PhysicalDeviceCustomBorderColorFeaturesEXT -> Bool
customBorderColorWithoutFormat :: Bool
}
deriving (Typeable, PhysicalDeviceCustomBorderColorFeaturesEXT
-> PhysicalDeviceCustomBorderColorFeaturesEXT -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PhysicalDeviceCustomBorderColorFeaturesEXT
-> PhysicalDeviceCustomBorderColorFeaturesEXT -> Bool
$c/= :: PhysicalDeviceCustomBorderColorFeaturesEXT
-> PhysicalDeviceCustomBorderColorFeaturesEXT -> Bool
== :: PhysicalDeviceCustomBorderColorFeaturesEXT
-> PhysicalDeviceCustomBorderColorFeaturesEXT -> Bool
$c== :: PhysicalDeviceCustomBorderColorFeaturesEXT
-> PhysicalDeviceCustomBorderColorFeaturesEXT -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (PhysicalDeviceCustomBorderColorFeaturesEXT)
#endif
deriving instance Show PhysicalDeviceCustomBorderColorFeaturesEXT
instance ToCStruct PhysicalDeviceCustomBorderColorFeaturesEXT where
withCStruct :: forall b.
PhysicalDeviceCustomBorderColorFeaturesEXT
-> (Ptr PhysicalDeviceCustomBorderColorFeaturesEXT -> IO b) -> IO b
withCStruct PhysicalDeviceCustomBorderColorFeaturesEXT
x Ptr PhysicalDeviceCustomBorderColorFeaturesEXT -> IO b
f = forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
24 forall a b. (a -> b) -> a -> b
$ \Ptr PhysicalDeviceCustomBorderColorFeaturesEXT
p -> forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceCustomBorderColorFeaturesEXT
p PhysicalDeviceCustomBorderColorFeaturesEXT
x (Ptr PhysicalDeviceCustomBorderColorFeaturesEXT -> IO b
f Ptr PhysicalDeviceCustomBorderColorFeaturesEXT
p)
pokeCStruct :: forall b.
Ptr PhysicalDeviceCustomBorderColorFeaturesEXT
-> PhysicalDeviceCustomBorderColorFeaturesEXT -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceCustomBorderColorFeaturesEXT
p PhysicalDeviceCustomBorderColorFeaturesEXT{Bool
customBorderColorWithoutFormat :: Bool
customBorderColors :: Bool
$sel:customBorderColorWithoutFormat:PhysicalDeviceCustomBorderColorFeaturesEXT :: PhysicalDeviceCustomBorderColorFeaturesEXT -> Bool
$sel:customBorderColors:PhysicalDeviceCustomBorderColorFeaturesEXT :: PhysicalDeviceCustomBorderColorFeaturesEXT -> Bool
..} IO b
f = do
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceCustomBorderColorFeaturesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT)
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceCustomBorderColorFeaturesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (forall a. Ptr a
nullPtr)
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceCustomBorderColorFeaturesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
customBorderColors))
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceCustomBorderColorFeaturesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
customBorderColorWithoutFormat))
IO b
f
cStructSize :: Int
cStructSize = Int
24
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b.
Ptr PhysicalDeviceCustomBorderColorFeaturesEXT -> IO b -> IO b
pokeZeroCStruct Ptr PhysicalDeviceCustomBorderColorFeaturesEXT
p IO b
f = do
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceCustomBorderColorFeaturesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT)
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceCustomBorderColorFeaturesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (forall a. Ptr a
nullPtr)
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceCustomBorderColorFeaturesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (forall a. Zero a => a
zero))
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceCustomBorderColorFeaturesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (forall a. Zero a => a
zero))
IO b
f
instance FromCStruct PhysicalDeviceCustomBorderColorFeaturesEXT where
peekCStruct :: Ptr PhysicalDeviceCustomBorderColorFeaturesEXT
-> IO PhysicalDeviceCustomBorderColorFeaturesEXT
peekCStruct Ptr PhysicalDeviceCustomBorderColorFeaturesEXT
p = do
Bool32
customBorderColors <- forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceCustomBorderColorFeaturesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32))
Bool32
customBorderColorWithoutFormat <- forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceCustomBorderColorFeaturesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Bool32))
forall (f :: * -> *) a. Applicative f => a -> f a
pure forall a b. (a -> b) -> a -> b
$ Bool -> Bool -> PhysicalDeviceCustomBorderColorFeaturesEXT
PhysicalDeviceCustomBorderColorFeaturesEXT
(Bool32 -> Bool
bool32ToBool Bool32
customBorderColors)
(Bool32 -> Bool
bool32ToBool Bool32
customBorderColorWithoutFormat)
instance Storable PhysicalDeviceCustomBorderColorFeaturesEXT where
sizeOf :: PhysicalDeviceCustomBorderColorFeaturesEXT -> Int
sizeOf ~PhysicalDeviceCustomBorderColorFeaturesEXT
_ = Int
24
alignment :: PhysicalDeviceCustomBorderColorFeaturesEXT -> Int
alignment ~PhysicalDeviceCustomBorderColorFeaturesEXT
_ = Int
8
peek :: Ptr PhysicalDeviceCustomBorderColorFeaturesEXT
-> IO PhysicalDeviceCustomBorderColorFeaturesEXT
peek = forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr PhysicalDeviceCustomBorderColorFeaturesEXT
-> PhysicalDeviceCustomBorderColorFeaturesEXT -> IO ()
poke Ptr PhysicalDeviceCustomBorderColorFeaturesEXT
ptr PhysicalDeviceCustomBorderColorFeaturesEXT
poked = forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceCustomBorderColorFeaturesEXT
ptr PhysicalDeviceCustomBorderColorFeaturesEXT
poked (forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero PhysicalDeviceCustomBorderColorFeaturesEXT where
zero :: PhysicalDeviceCustomBorderColorFeaturesEXT
zero = Bool -> Bool -> PhysicalDeviceCustomBorderColorFeaturesEXT
PhysicalDeviceCustomBorderColorFeaturesEXT
forall a. Zero a => a
zero
forall a. Zero a => a
zero
type EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION = 12
pattern EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION :: forall a . Integral a => a
pattern $bEXT_CUSTOM_BORDER_COLOR_SPEC_VERSION :: forall a. Integral a => a
$mEXT_CUSTOM_BORDER_COLOR_SPEC_VERSION :: forall {r} {a}.
Integral a =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION = 12
type EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME = "VK_EXT_custom_border_color"
pattern EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
pattern $bEXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
$mEXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME :: forall {r} {a}.
(Eq a, IsString a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME = "VK_EXT_custom_border_color"