{-# language CPP #-}
module Vulkan.Extensions.VK_EXT_image_compression_control ( getImageSubresourceLayout2EXT
, ImageCompressionControlEXT(..)
, PhysicalDeviceImageCompressionControlFeaturesEXT(..)
, ImageCompressionPropertiesEXT(..)
, ImageSubresource2EXT(..)
, SubresourceLayout2EXT(..)
, ImageCompressionFlagsEXT
, ImageCompressionFlagBitsEXT( IMAGE_COMPRESSION_DEFAULT_EXT
, IMAGE_COMPRESSION_FIXED_RATE_DEFAULT_EXT
, IMAGE_COMPRESSION_FIXED_RATE_EXPLICIT_EXT
, IMAGE_COMPRESSION_DISABLED_EXT
, ..
)
, ImageCompressionFixedRateFlagsEXT
, ImageCompressionFixedRateFlagBitsEXT( IMAGE_COMPRESSION_FIXED_RATE_NONE_EXT
, IMAGE_COMPRESSION_FIXED_RATE_1BPC_BIT_EXT
, IMAGE_COMPRESSION_FIXED_RATE_2BPC_BIT_EXT
, IMAGE_COMPRESSION_FIXED_RATE_3BPC_BIT_EXT
, IMAGE_COMPRESSION_FIXED_RATE_4BPC_BIT_EXT
, IMAGE_COMPRESSION_FIXED_RATE_5BPC_BIT_EXT
, IMAGE_COMPRESSION_FIXED_RATE_6BPC_BIT_EXT
, IMAGE_COMPRESSION_FIXED_RATE_7BPC_BIT_EXT
, IMAGE_COMPRESSION_FIXED_RATE_8BPC_BIT_EXT
, IMAGE_COMPRESSION_FIXED_RATE_9BPC_BIT_EXT
, IMAGE_COMPRESSION_FIXED_RATE_10BPC_BIT_EXT
, IMAGE_COMPRESSION_FIXED_RATE_11BPC_BIT_EXT
, IMAGE_COMPRESSION_FIXED_RATE_12BPC_BIT_EXT
, IMAGE_COMPRESSION_FIXED_RATE_13BPC_BIT_EXT
, IMAGE_COMPRESSION_FIXED_RATE_14BPC_BIT_EXT
, IMAGE_COMPRESSION_FIXED_RATE_15BPC_BIT_EXT
, IMAGE_COMPRESSION_FIXED_RATE_16BPC_BIT_EXT
, IMAGE_COMPRESSION_FIXED_RATE_17BPC_BIT_EXT
, IMAGE_COMPRESSION_FIXED_RATE_18BPC_BIT_EXT
, IMAGE_COMPRESSION_FIXED_RATE_19BPC_BIT_EXT
, IMAGE_COMPRESSION_FIXED_RATE_20BPC_BIT_EXT
, IMAGE_COMPRESSION_FIXED_RATE_21BPC_BIT_EXT
, IMAGE_COMPRESSION_FIXED_RATE_22BPC_BIT_EXT
, IMAGE_COMPRESSION_FIXED_RATE_23BPC_BIT_EXT
, IMAGE_COMPRESSION_FIXED_RATE_24BPC_BIT_EXT
, ..
)
, EXT_IMAGE_COMPRESSION_CONTROL_SPEC_VERSION
, pattern EXT_IMAGE_COMPRESSION_CONTROL_SPEC_VERSION
, EXT_IMAGE_COMPRESSION_CONTROL_EXTENSION_NAME
, pattern EXT_IMAGE_COMPRESSION_CONTROL_EXTENSION_NAME
) where
import Vulkan.Internal.Utils (enumReadPrec)
import Vulkan.Internal.Utils (enumShowsPrec)
import Vulkan.Internal.Utils (traceAroundEvent)
import Control.Monad (unless)
import Control.Monad.IO.Class (liftIO)
import Data.Typeable (eqT)
import Foreign.Marshal.Alloc (allocaBytes)
import GHC.IO (throwIO)
import GHC.Ptr (castPtr)
import GHC.Ptr (nullFunPtr)
import Foreign.Ptr (nullPtr)
import Foreign.Ptr (plusPtr)
import GHC.Show (showString)
import Numeric (showHex)
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 Vulkan.Zero (Zero(..))
import Control.Monad.IO.Class (MonadIO)
import Data.Bits (Bits)
import Data.Bits (FiniteBits)
import Data.String (IsString)
import Data.Type.Equality ((:~:)(Refl))
import Data.Typeable (Typeable)
import Foreign.Storable (Storable)
import Foreign.Storable (Storable(peek))
import Foreign.Storable (Storable(poke))
import qualified Foreign.Storable (Storable(..))
import GHC.Generics (Generic)
import GHC.IO.Exception (IOErrorType(..))
import GHC.IO.Exception (IOException(..))
import Foreign.Ptr (FunPtr)
import Foreign.Ptr (Ptr)
import GHC.Read (Read(readPrec))
import GHC.Show (Show(showsPrec))
import Data.Word (Word32)
import Data.Kind (Type)
import Control.Monad.Trans.Cont (ContT(..))
import Vulkan.Core10.FundamentalTypes (bool32ToBool)
import Vulkan.Core10.FundamentalTypes (boolToBool32)
import Vulkan.CStruct.Extends (forgetExtensions)
import Vulkan.Core10.FundamentalTypes (Bool32)
import Vulkan.CStruct.Extends (Chain)
import Vulkan.Core10.Handles (Device)
import Vulkan.Core10.Handles (Device(..))
import Vulkan.Core10.Handles (Device(Device))
import Vulkan.Dynamic (DeviceCmds(pVkGetImageSubresourceLayout2EXT))
import Vulkan.Core10.Handles (Device_T)
import Vulkan.CStruct.Extends (Extends)
import Vulkan.CStruct.Extends (Extendss)
import Vulkan.CStruct.Extends (Extensible(..))
import Vulkan.Core10.FundamentalTypes (Flags)
import Vulkan.Core10.Handles (Image)
import Vulkan.Core10.Handles (Image(..))
import Vulkan.Core10.SparseResourceMemoryManagement (ImageSubresource)
import Vulkan.CStruct.Extends (PeekChain)
import Vulkan.CStruct.Extends (PeekChain(..))
import Vulkan.CStruct.Extends (PokeChain)
import Vulkan.CStruct.Extends (PokeChain(..))
import Vulkan.CStruct.Extends (SomeStruct)
import Vulkan.Core10.Enums.StructureType (StructureType)
import Vulkan.Core10.Image (SubresourceLayout)
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_EXT))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_EXT))
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
unsafe
#endif
"dynamic" mkVkGetImageSubresourceLayout2EXT
:: FunPtr (Ptr Device_T -> Image -> Ptr ImageSubresource2EXT -> Ptr (SomeStruct SubresourceLayout2EXT) -> IO ()) -> Ptr Device_T -> Image -> Ptr ImageSubresource2EXT -> Ptr (SomeStruct SubresourceLayout2EXT) -> IO ()
getImageSubresourceLayout2EXT :: forall a io
. ( Extendss SubresourceLayout2EXT a
, PokeChain a
, PeekChain a
, MonadIO io )
=>
Device
->
Image
->
ImageSubresource2EXT
-> io (SubresourceLayout2EXT a)
getImageSubresourceLayout2EXT :: forall (a :: [*]) (io :: * -> *).
(Extendss SubresourceLayout2EXT a, PokeChain a, PeekChain a,
MonadIO io) =>
Device
-> Image -> ImageSubresource2EXT -> io (SubresourceLayout2EXT a)
getImageSubresourceLayout2EXT Device
device Image
image ImageSubresource2EXT
subresource = IO (SubresourceLayout2EXT a) -> io (SubresourceLayout2EXT a)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (SubresourceLayout2EXT a) -> io (SubresourceLayout2EXT a))
-> (ContT (SubresourceLayout2EXT a) IO (SubresourceLayout2EXT a)
-> IO (SubresourceLayout2EXT a))
-> ContT (SubresourceLayout2EXT a) IO (SubresourceLayout2EXT a)
-> io (SubresourceLayout2EXT a)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ContT (SubresourceLayout2EXT a) IO (SubresourceLayout2EXT a)
-> IO (SubresourceLayout2EXT a)
forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT (ContT (SubresourceLayout2EXT a) IO (SubresourceLayout2EXT a)
-> io (SubresourceLayout2EXT a))
-> ContT (SubresourceLayout2EXT a) IO (SubresourceLayout2EXT a)
-> io (SubresourceLayout2EXT a)
forall a b. (a -> b) -> a -> b
$ do
let vkGetImageSubresourceLayout2EXTPtr :: FunPtr
(Ptr Device_T
-> Image
-> ("pSubresource" ::: Ptr ImageSubresource2EXT)
-> ("pLayout" ::: Ptr (SomeStruct SubresourceLayout2EXT))
-> IO ())
vkGetImageSubresourceLayout2EXTPtr = DeviceCmds
-> FunPtr
(Ptr Device_T
-> Image
-> ("pSubresource" ::: Ptr ImageSubresource2EXT)
-> ("pLayout" ::: Ptr (SomeStruct SubresourceLayout2EXT))
-> IO ())
pVkGetImageSubresourceLayout2EXT (case Device
device of Device{DeviceCmds
$sel:deviceCmds:Device :: Device -> DeviceCmds
deviceCmds :: DeviceCmds
deviceCmds} -> DeviceCmds
deviceCmds)
IO () -> ContT (SubresourceLayout2EXT a) IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT (SubresourceLayout2EXT a) IO ())
-> IO () -> ContT (SubresourceLayout2EXT a) IO ()
forall a b. (a -> b) -> a -> b
$ Bool -> IO () -> IO ()
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless (FunPtr
(Ptr Device_T
-> Image
-> ("pSubresource" ::: Ptr ImageSubresource2EXT)
-> ("pLayout" ::: Ptr (SomeStruct SubresourceLayout2EXT))
-> IO ())
vkGetImageSubresourceLayout2EXTPtr FunPtr
(Ptr Device_T
-> Image
-> ("pSubresource" ::: Ptr ImageSubresource2EXT)
-> ("pLayout" ::: Ptr (SomeStruct SubresourceLayout2EXT))
-> IO ())
-> FunPtr
(Ptr Device_T
-> Image
-> ("pSubresource" ::: Ptr ImageSubresource2EXT)
-> ("pLayout" ::: Ptr (SomeStruct SubresourceLayout2EXT))
-> IO ())
-> Bool
forall a. Eq a => a -> a -> Bool
/= FunPtr
(Ptr Device_T
-> Image
-> ("pSubresource" ::: Ptr ImageSubresource2EXT)
-> ("pLayout" ::: Ptr (SomeStruct SubresourceLayout2EXT))
-> IO ())
forall a. FunPtr a
nullFunPtr) (IO () -> IO ()) -> IO () -> IO ()
forall a b. (a -> b) -> a -> b
$
IOException -> IO ()
forall e a. Exception e => e -> IO a
throwIO (IOException -> IO ()) -> IOException -> IO ()
forall a b. (a -> b) -> a -> b
$ Maybe Handle
-> IOErrorType
-> String
-> String
-> Maybe CInt
-> Maybe String
-> IOException
IOError Maybe Handle
forall a. Maybe a
Nothing IOErrorType
InvalidArgument String
"" String
"The function pointer for vkGetImageSubresourceLayout2EXT is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let vkGetImageSubresourceLayout2EXT' :: Ptr Device_T
-> Image
-> ("pSubresource" ::: Ptr ImageSubresource2EXT)
-> ("pLayout" ::: Ptr (SomeStruct SubresourceLayout2EXT))
-> IO ()
vkGetImageSubresourceLayout2EXT' = FunPtr
(Ptr Device_T
-> Image
-> ("pSubresource" ::: Ptr ImageSubresource2EXT)
-> ("pLayout" ::: Ptr (SomeStruct SubresourceLayout2EXT))
-> IO ())
-> Ptr Device_T
-> Image
-> ("pSubresource" ::: Ptr ImageSubresource2EXT)
-> ("pLayout" ::: Ptr (SomeStruct SubresourceLayout2EXT))
-> IO ()
mkVkGetImageSubresourceLayout2EXT FunPtr
(Ptr Device_T
-> Image
-> ("pSubresource" ::: Ptr ImageSubresource2EXT)
-> ("pLayout" ::: Ptr (SomeStruct SubresourceLayout2EXT))
-> IO ())
vkGetImageSubresourceLayout2EXTPtr
"pSubresource" ::: Ptr ImageSubresource2EXT
pSubresource <- ((("pSubresource" ::: Ptr ImageSubresource2EXT)
-> IO (SubresourceLayout2EXT a))
-> IO (SubresourceLayout2EXT a))
-> ContT
(SubresourceLayout2EXT a)
IO
("pSubresource" ::: Ptr ImageSubresource2EXT)
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((("pSubresource" ::: Ptr ImageSubresource2EXT)
-> IO (SubresourceLayout2EXT a))
-> IO (SubresourceLayout2EXT a))
-> ContT
(SubresourceLayout2EXT a)
IO
("pSubresource" ::: Ptr ImageSubresource2EXT))
-> ((("pSubresource" ::: Ptr ImageSubresource2EXT)
-> IO (SubresourceLayout2EXT a))
-> IO (SubresourceLayout2EXT a))
-> ContT
(SubresourceLayout2EXT a)
IO
("pSubresource" ::: Ptr ImageSubresource2EXT)
forall a b. (a -> b) -> a -> b
$ ImageSubresource2EXT
-> (("pSubresource" ::: Ptr ImageSubresource2EXT)
-> IO (SubresourceLayout2EXT a))
-> IO (SubresourceLayout2EXT a)
forall a b. ToCStruct a => a -> (Ptr a -> IO b) -> IO b
withCStruct (ImageSubresource2EXT
subresource)
Ptr (SubresourceLayout2EXT a)
pPLayout <- ((Ptr (SubresourceLayout2EXT a) -> IO (SubresourceLayout2EXT a))
-> IO (SubresourceLayout2EXT a))
-> ContT
(SubresourceLayout2EXT a) IO (Ptr (SubresourceLayout2EXT a))
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (forall a b. ToCStruct a => (Ptr a -> IO b) -> IO b
withZeroCStruct @(SubresourceLayout2EXT _))
IO () -> ContT (SubresourceLayout2EXT a) IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT (SubresourceLayout2EXT a) IO ())
-> IO () -> ContT (SubresourceLayout2EXT a) IO ()
forall a b. (a -> b) -> a -> b
$ String -> IO () -> IO ()
forall a. String -> IO a -> IO a
traceAroundEvent String
"vkGetImageSubresourceLayout2EXT" (Ptr Device_T
-> Image
-> ("pSubresource" ::: Ptr ImageSubresource2EXT)
-> ("pLayout" ::: Ptr (SomeStruct SubresourceLayout2EXT))
-> IO ()
vkGetImageSubresourceLayout2EXT'
(Device -> Ptr Device_T
deviceHandle (Device
device))
(Image
image)
"pSubresource" ::: Ptr ImageSubresource2EXT
pSubresource
(Ptr (SubresourceLayout2EXT a)
-> "pLayout" ::: Ptr (SomeStruct SubresourceLayout2EXT)
forall (a :: [*] -> *) (es :: [*]).
Ptr (a es) -> Ptr (SomeStruct a)
forgetExtensions (Ptr (SubresourceLayout2EXT a)
pPLayout)))
SubresourceLayout2EXT a
pLayout <- IO (SubresourceLayout2EXT a)
-> ContT (SubresourceLayout2EXT a) IO (SubresourceLayout2EXT a)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO (SubresourceLayout2EXT a)
-> ContT (SubresourceLayout2EXT a) IO (SubresourceLayout2EXT a))
-> IO (SubresourceLayout2EXT a)
-> ContT (SubresourceLayout2EXT a) IO (SubresourceLayout2EXT a)
forall a b. (a -> b) -> a -> b
$ forall a. FromCStruct a => Ptr a -> IO a
peekCStruct @(SubresourceLayout2EXT _) Ptr (SubresourceLayout2EXT a)
pPLayout
SubresourceLayout2EXT a
-> ContT (SubresourceLayout2EXT a) IO (SubresourceLayout2EXT a)
forall (f :: * -> *) a. Applicative f => a -> f a
pure (SubresourceLayout2EXT a
-> ContT (SubresourceLayout2EXT a) IO (SubresourceLayout2EXT a))
-> SubresourceLayout2EXT a
-> ContT (SubresourceLayout2EXT a) IO (SubresourceLayout2EXT a)
forall a b. (a -> b) -> a -> b
$ (SubresourceLayout2EXT a
pLayout)
data ImageCompressionControlEXT = ImageCompressionControlEXT
{
ImageCompressionControlEXT -> ImageCompressionFlagBitsEXT
flags :: ImageCompressionFlagsEXT
,
ImageCompressionControlEXT -> Flags
compressionControlPlaneCount :: Word32
,
ImageCompressionControlEXT
-> Ptr ImageCompressionFixedRateFlagBitsEXT
fixedRateFlags :: Ptr ImageCompressionFixedRateFlagsEXT
}
deriving (Typeable, ImageCompressionControlEXT -> ImageCompressionControlEXT -> Bool
(ImageCompressionControlEXT -> ImageCompressionControlEXT -> Bool)
-> (ImageCompressionControlEXT
-> ImageCompressionControlEXT -> Bool)
-> Eq ImageCompressionControlEXT
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ImageCompressionControlEXT -> ImageCompressionControlEXT -> Bool
$c/= :: ImageCompressionControlEXT -> ImageCompressionControlEXT -> Bool
== :: ImageCompressionControlEXT -> ImageCompressionControlEXT -> Bool
$c== :: ImageCompressionControlEXT -> ImageCompressionControlEXT -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (ImageCompressionControlEXT)
#endif
deriving instance Show ImageCompressionControlEXT
instance ToCStruct ImageCompressionControlEXT where
withCStruct :: forall b.
ImageCompressionControlEXT
-> (Ptr ImageCompressionControlEXT -> IO b) -> IO b
withCStruct ImageCompressionControlEXT
x Ptr ImageCompressionControlEXT -> IO b
f = Int -> (Ptr ImageCompressionControlEXT -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
32 ((Ptr ImageCompressionControlEXT -> IO b) -> IO b)
-> (Ptr ImageCompressionControlEXT -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr ImageCompressionControlEXT
p -> Ptr ImageCompressionControlEXT
-> ImageCompressionControlEXT -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr ImageCompressionControlEXT
p ImageCompressionControlEXT
x (Ptr ImageCompressionControlEXT -> IO b
f Ptr ImageCompressionControlEXT
p)
pokeCStruct :: forall b.
Ptr ImageCompressionControlEXT
-> ImageCompressionControlEXT -> IO b -> IO b
pokeCStruct Ptr ImageCompressionControlEXT
p ImageCompressionControlEXT{Flags
Ptr ImageCompressionFixedRateFlagBitsEXT
ImageCompressionFlagBitsEXT
fixedRateFlags :: Ptr ImageCompressionFixedRateFlagBitsEXT
compressionControlPlaneCount :: Flags
flags :: ImageCompressionFlagBitsEXT
$sel:fixedRateFlags:ImageCompressionControlEXT :: ImageCompressionControlEXT
-> Ptr ImageCompressionFixedRateFlagBitsEXT
$sel:compressionControlPlaneCount:ImageCompressionControlEXT :: ImageCompressionControlEXT -> Flags
$sel:flags:ImageCompressionControlEXT :: ImageCompressionControlEXT -> ImageCompressionFlagBitsEXT
..} IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr ImageCompressionControlEXT
p Ptr ImageCompressionControlEXT -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr ImageCompressionControlEXT
p Ptr ImageCompressionControlEXT -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr ImageCompressionFlagBitsEXT
-> ImageCompressionFlagBitsEXT -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr ImageCompressionControlEXT
p Ptr ImageCompressionControlEXT
-> Int -> Ptr ImageCompressionFlagBitsEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr ImageCompressionFlagsEXT)) (ImageCompressionFlagBitsEXT
flags)
Ptr Flags -> Flags -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr ImageCompressionControlEXT
p Ptr ImageCompressionControlEXT -> Int -> Ptr Flags
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Word32)) (Flags
compressionControlPlaneCount)
Ptr (Ptr ImageCompressionFixedRateFlagBitsEXT)
-> Ptr ImageCompressionFixedRateFlagBitsEXT -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr ImageCompressionControlEXT
p Ptr ImageCompressionControlEXT
-> Int -> Ptr (Ptr ImageCompressionFixedRateFlagBitsEXT)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr (Ptr ImageCompressionFixedRateFlagsEXT))) (Ptr ImageCompressionFixedRateFlagBitsEXT
fixedRateFlags)
IO b
f
cStructSize :: Int
cStructSize = Int
32
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b. Ptr ImageCompressionControlEXT -> IO b -> IO b
pokeZeroCStruct Ptr ImageCompressionControlEXT
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr ImageCompressionControlEXT
p Ptr ImageCompressionControlEXT -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr ImageCompressionControlEXT
p Ptr ImageCompressionControlEXT -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr ImageCompressionFlagBitsEXT
-> ImageCompressionFlagBitsEXT -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr ImageCompressionControlEXT
p Ptr ImageCompressionControlEXT
-> Int -> Ptr ImageCompressionFlagBitsEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr ImageCompressionFlagsEXT)) (ImageCompressionFlagBitsEXT
forall a. Zero a => a
zero)
Ptr (Ptr ImageCompressionFixedRateFlagBitsEXT)
-> Ptr ImageCompressionFixedRateFlagBitsEXT -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr ImageCompressionControlEXT
p Ptr ImageCompressionControlEXT
-> Int -> Ptr (Ptr ImageCompressionFixedRateFlagBitsEXT)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr (Ptr ImageCompressionFixedRateFlagsEXT))) (Ptr ImageCompressionFixedRateFlagBitsEXT
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct ImageCompressionControlEXT where
peekCStruct :: Ptr ImageCompressionControlEXT -> IO ImageCompressionControlEXT
peekCStruct Ptr ImageCompressionControlEXT
p = do
ImageCompressionFlagBitsEXT
flags <- forall a. Storable a => Ptr a -> IO a
peek @ImageCompressionFlagsEXT ((Ptr ImageCompressionControlEXT
p Ptr ImageCompressionControlEXT
-> Int -> Ptr ImageCompressionFlagBitsEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr ImageCompressionFlagsEXT))
Flags
compressionControlPlaneCount <- forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr ImageCompressionControlEXT
p Ptr ImageCompressionControlEXT -> Int -> Ptr Flags
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Word32))
Ptr ImageCompressionFixedRateFlagBitsEXT
pFixedRateFlags <- forall a. Storable a => Ptr a -> IO a
peek @(Ptr ImageCompressionFixedRateFlagsEXT) ((Ptr ImageCompressionControlEXT
p Ptr ImageCompressionControlEXT
-> Int -> Ptr (Ptr ImageCompressionFixedRateFlagBitsEXT)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr (Ptr ImageCompressionFixedRateFlagsEXT)))
ImageCompressionControlEXT -> IO ImageCompressionControlEXT
forall (f :: * -> *) a. Applicative f => a -> f a
pure (ImageCompressionControlEXT -> IO ImageCompressionControlEXT)
-> ImageCompressionControlEXT -> IO ImageCompressionControlEXT
forall a b. (a -> b) -> a -> b
$ ImageCompressionFlagBitsEXT
-> Flags
-> Ptr ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionControlEXT
ImageCompressionControlEXT
ImageCompressionFlagBitsEXT
flags Flags
compressionControlPlaneCount Ptr ImageCompressionFixedRateFlagBitsEXT
pFixedRateFlags
instance Storable ImageCompressionControlEXT where
sizeOf :: ImageCompressionControlEXT -> Int
sizeOf ~ImageCompressionControlEXT
_ = Int
32
alignment :: ImageCompressionControlEXT -> Int
alignment ~ImageCompressionControlEXT
_ = Int
8
peek :: Ptr ImageCompressionControlEXT -> IO ImageCompressionControlEXT
peek = Ptr ImageCompressionControlEXT -> IO ImageCompressionControlEXT
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr ImageCompressionControlEXT
-> ImageCompressionControlEXT -> IO ()
poke Ptr ImageCompressionControlEXT
ptr ImageCompressionControlEXT
poked = Ptr ImageCompressionControlEXT
-> ImageCompressionControlEXT -> IO () -> IO ()
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr ImageCompressionControlEXT
ptr ImageCompressionControlEXT
poked (() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero ImageCompressionControlEXT where
zero :: ImageCompressionControlEXT
zero = ImageCompressionFlagBitsEXT
-> Flags
-> Ptr ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionControlEXT
ImageCompressionControlEXT
ImageCompressionFlagBitsEXT
forall a. Zero a => a
zero
Flags
forall a. Zero a => a
zero
Ptr ImageCompressionFixedRateFlagBitsEXT
forall a. Zero a => a
zero
data PhysicalDeviceImageCompressionControlFeaturesEXT = PhysicalDeviceImageCompressionControlFeaturesEXT
{
PhysicalDeviceImageCompressionControlFeaturesEXT -> Bool
imageCompressionControl :: Bool }
deriving (Typeable, PhysicalDeviceImageCompressionControlFeaturesEXT
-> PhysicalDeviceImageCompressionControlFeaturesEXT -> Bool
(PhysicalDeviceImageCompressionControlFeaturesEXT
-> PhysicalDeviceImageCompressionControlFeaturesEXT -> Bool)
-> (PhysicalDeviceImageCompressionControlFeaturesEXT
-> PhysicalDeviceImageCompressionControlFeaturesEXT -> Bool)
-> Eq PhysicalDeviceImageCompressionControlFeaturesEXT
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PhysicalDeviceImageCompressionControlFeaturesEXT
-> PhysicalDeviceImageCompressionControlFeaturesEXT -> Bool
$c/= :: PhysicalDeviceImageCompressionControlFeaturesEXT
-> PhysicalDeviceImageCompressionControlFeaturesEXT -> Bool
== :: PhysicalDeviceImageCompressionControlFeaturesEXT
-> PhysicalDeviceImageCompressionControlFeaturesEXT -> Bool
$c== :: PhysicalDeviceImageCompressionControlFeaturesEXT
-> PhysicalDeviceImageCompressionControlFeaturesEXT -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (PhysicalDeviceImageCompressionControlFeaturesEXT)
#endif
deriving instance Show PhysicalDeviceImageCompressionControlFeaturesEXT
instance ToCStruct PhysicalDeviceImageCompressionControlFeaturesEXT where
withCStruct :: forall b.
PhysicalDeviceImageCompressionControlFeaturesEXT
-> (Ptr PhysicalDeviceImageCompressionControlFeaturesEXT -> IO b)
-> IO b
withCStruct PhysicalDeviceImageCompressionControlFeaturesEXT
x Ptr PhysicalDeviceImageCompressionControlFeaturesEXT -> IO b
f = Int
-> (Ptr PhysicalDeviceImageCompressionControlFeaturesEXT -> IO b)
-> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
24 ((Ptr PhysicalDeviceImageCompressionControlFeaturesEXT -> IO b)
-> IO b)
-> (Ptr PhysicalDeviceImageCompressionControlFeaturesEXT -> IO b)
-> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr PhysicalDeviceImageCompressionControlFeaturesEXT
p -> Ptr PhysicalDeviceImageCompressionControlFeaturesEXT
-> PhysicalDeviceImageCompressionControlFeaturesEXT -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceImageCompressionControlFeaturesEXT
p PhysicalDeviceImageCompressionControlFeaturesEXT
x (Ptr PhysicalDeviceImageCompressionControlFeaturesEXT -> IO b
f Ptr PhysicalDeviceImageCompressionControlFeaturesEXT
p)
pokeCStruct :: forall b.
Ptr PhysicalDeviceImageCompressionControlFeaturesEXT
-> PhysicalDeviceImageCompressionControlFeaturesEXT -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceImageCompressionControlFeaturesEXT
p PhysicalDeviceImageCompressionControlFeaturesEXT{Bool
imageCompressionControl :: Bool
$sel:imageCompressionControl:PhysicalDeviceImageCompressionControlFeaturesEXT :: PhysicalDeviceImageCompressionControlFeaturesEXT -> Bool
..} IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceImageCompressionControlFeaturesEXT
p Ptr PhysicalDeviceImageCompressionControlFeaturesEXT
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceImageCompressionControlFeaturesEXT
p Ptr PhysicalDeviceImageCompressionControlFeaturesEXT
-> 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 PhysicalDeviceImageCompressionControlFeaturesEXT
p Ptr PhysicalDeviceImageCompressionControlFeaturesEXT
-> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
imageCompressionControl))
IO b
f
cStructSize :: Int
cStructSize = Int
24
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b.
Ptr PhysicalDeviceImageCompressionControlFeaturesEXT
-> IO b -> IO b
pokeZeroCStruct Ptr PhysicalDeviceImageCompressionControlFeaturesEXT
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceImageCompressionControlFeaturesEXT
p Ptr PhysicalDeviceImageCompressionControlFeaturesEXT
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceImageCompressionControlFeaturesEXT
p Ptr PhysicalDeviceImageCompressionControlFeaturesEXT
-> 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 PhysicalDeviceImageCompressionControlFeaturesEXT
p Ptr PhysicalDeviceImageCompressionControlFeaturesEXT
-> 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 PhysicalDeviceImageCompressionControlFeaturesEXT where
peekCStruct :: Ptr PhysicalDeviceImageCompressionControlFeaturesEXT
-> IO PhysicalDeviceImageCompressionControlFeaturesEXT
peekCStruct Ptr PhysicalDeviceImageCompressionControlFeaturesEXT
p = do
Bool32
imageCompressionControl <- forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceImageCompressionControlFeaturesEXT
p Ptr PhysicalDeviceImageCompressionControlFeaturesEXT
-> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32))
PhysicalDeviceImageCompressionControlFeaturesEXT
-> IO PhysicalDeviceImageCompressionControlFeaturesEXT
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PhysicalDeviceImageCompressionControlFeaturesEXT
-> IO PhysicalDeviceImageCompressionControlFeaturesEXT)
-> PhysicalDeviceImageCompressionControlFeaturesEXT
-> IO PhysicalDeviceImageCompressionControlFeaturesEXT
forall a b. (a -> b) -> a -> b
$ Bool -> PhysicalDeviceImageCompressionControlFeaturesEXT
PhysicalDeviceImageCompressionControlFeaturesEXT
(Bool32 -> Bool
bool32ToBool Bool32
imageCompressionControl)
instance Storable PhysicalDeviceImageCompressionControlFeaturesEXT where
sizeOf :: PhysicalDeviceImageCompressionControlFeaturesEXT -> Int
sizeOf ~PhysicalDeviceImageCompressionControlFeaturesEXT
_ = Int
24
alignment :: PhysicalDeviceImageCompressionControlFeaturesEXT -> Int
alignment ~PhysicalDeviceImageCompressionControlFeaturesEXT
_ = Int
8
peek :: Ptr PhysicalDeviceImageCompressionControlFeaturesEXT
-> IO PhysicalDeviceImageCompressionControlFeaturesEXT
peek = Ptr PhysicalDeviceImageCompressionControlFeaturesEXT
-> IO PhysicalDeviceImageCompressionControlFeaturesEXT
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr PhysicalDeviceImageCompressionControlFeaturesEXT
-> PhysicalDeviceImageCompressionControlFeaturesEXT -> IO ()
poke Ptr PhysicalDeviceImageCompressionControlFeaturesEXT
ptr PhysicalDeviceImageCompressionControlFeaturesEXT
poked = Ptr PhysicalDeviceImageCompressionControlFeaturesEXT
-> PhysicalDeviceImageCompressionControlFeaturesEXT
-> IO ()
-> IO ()
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceImageCompressionControlFeaturesEXT
ptr PhysicalDeviceImageCompressionControlFeaturesEXT
poked (() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero PhysicalDeviceImageCompressionControlFeaturesEXT where
zero :: PhysicalDeviceImageCompressionControlFeaturesEXT
zero = Bool -> PhysicalDeviceImageCompressionControlFeaturesEXT
PhysicalDeviceImageCompressionControlFeaturesEXT
Bool
forall a. Zero a => a
zero
data ImageCompressionPropertiesEXT = ImageCompressionPropertiesEXT
{
ImageCompressionPropertiesEXT -> ImageCompressionFlagBitsEXT
imageCompressionFlags :: ImageCompressionFlagsEXT
,
ImageCompressionPropertiesEXT
-> ImageCompressionFixedRateFlagBitsEXT
imageCompressionFixedRateFlags :: ImageCompressionFixedRateFlagsEXT
}
deriving (Typeable, ImageCompressionPropertiesEXT
-> ImageCompressionPropertiesEXT -> Bool
(ImageCompressionPropertiesEXT
-> ImageCompressionPropertiesEXT -> Bool)
-> (ImageCompressionPropertiesEXT
-> ImageCompressionPropertiesEXT -> Bool)
-> Eq ImageCompressionPropertiesEXT
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ImageCompressionPropertiesEXT
-> ImageCompressionPropertiesEXT -> Bool
$c/= :: ImageCompressionPropertiesEXT
-> ImageCompressionPropertiesEXT -> Bool
== :: ImageCompressionPropertiesEXT
-> ImageCompressionPropertiesEXT -> Bool
$c== :: ImageCompressionPropertiesEXT
-> ImageCompressionPropertiesEXT -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (ImageCompressionPropertiesEXT)
#endif
deriving instance Show ImageCompressionPropertiesEXT
instance ToCStruct ImageCompressionPropertiesEXT where
withCStruct :: forall b.
ImageCompressionPropertiesEXT
-> (Ptr ImageCompressionPropertiesEXT -> IO b) -> IO b
withCStruct ImageCompressionPropertiesEXT
x Ptr ImageCompressionPropertiesEXT -> IO b
f = Int -> (Ptr ImageCompressionPropertiesEXT -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
24 ((Ptr ImageCompressionPropertiesEXT -> IO b) -> IO b)
-> (Ptr ImageCompressionPropertiesEXT -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr ImageCompressionPropertiesEXT
p -> Ptr ImageCompressionPropertiesEXT
-> ImageCompressionPropertiesEXT -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr ImageCompressionPropertiesEXT
p ImageCompressionPropertiesEXT
x (Ptr ImageCompressionPropertiesEXT -> IO b
f Ptr ImageCompressionPropertiesEXT
p)
pokeCStruct :: forall b.
Ptr ImageCompressionPropertiesEXT
-> ImageCompressionPropertiesEXT -> IO b -> IO b
pokeCStruct Ptr ImageCompressionPropertiesEXT
p ImageCompressionPropertiesEXT{ImageCompressionFixedRateFlagBitsEXT
ImageCompressionFlagBitsEXT
imageCompressionFixedRateFlags :: ImageCompressionFixedRateFlagBitsEXT
imageCompressionFlags :: ImageCompressionFlagBitsEXT
$sel:imageCompressionFixedRateFlags:ImageCompressionPropertiesEXT :: ImageCompressionPropertiesEXT
-> ImageCompressionFixedRateFlagBitsEXT
$sel:imageCompressionFlags:ImageCompressionPropertiesEXT :: ImageCompressionPropertiesEXT -> ImageCompressionFlagBitsEXT
..} IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr ImageCompressionPropertiesEXT
p Ptr ImageCompressionPropertiesEXT -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr ImageCompressionPropertiesEXT
p Ptr ImageCompressionPropertiesEXT -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr ImageCompressionFlagBitsEXT
-> ImageCompressionFlagBitsEXT -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr ImageCompressionPropertiesEXT
p Ptr ImageCompressionPropertiesEXT
-> Int -> Ptr ImageCompressionFlagBitsEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr ImageCompressionFlagsEXT)) (ImageCompressionFlagBitsEXT
imageCompressionFlags)
Ptr ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr ImageCompressionPropertiesEXT
p Ptr ImageCompressionPropertiesEXT
-> Int -> Ptr ImageCompressionFixedRateFlagBitsEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr ImageCompressionFixedRateFlagsEXT)) (ImageCompressionFixedRateFlagBitsEXT
imageCompressionFixedRateFlags)
IO b
f
cStructSize :: Int
cStructSize = Int
24
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b. Ptr ImageCompressionPropertiesEXT -> IO b -> IO b
pokeZeroCStruct Ptr ImageCompressionPropertiesEXT
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr ImageCompressionPropertiesEXT
p Ptr ImageCompressionPropertiesEXT -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr ImageCompressionPropertiesEXT
p Ptr ImageCompressionPropertiesEXT -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr ImageCompressionFlagBitsEXT
-> ImageCompressionFlagBitsEXT -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr ImageCompressionPropertiesEXT
p Ptr ImageCompressionPropertiesEXT
-> Int -> Ptr ImageCompressionFlagBitsEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr ImageCompressionFlagsEXT)) (ImageCompressionFlagBitsEXT
forall a. Zero a => a
zero)
Ptr ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr ImageCompressionPropertiesEXT
p Ptr ImageCompressionPropertiesEXT
-> Int -> Ptr ImageCompressionFixedRateFlagBitsEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr ImageCompressionFixedRateFlagsEXT)) (ImageCompressionFixedRateFlagBitsEXT
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct ImageCompressionPropertiesEXT where
peekCStruct :: Ptr ImageCompressionPropertiesEXT
-> IO ImageCompressionPropertiesEXT
peekCStruct Ptr ImageCompressionPropertiesEXT
p = do
ImageCompressionFlagBitsEXT
imageCompressionFlags <- forall a. Storable a => Ptr a -> IO a
peek @ImageCompressionFlagsEXT ((Ptr ImageCompressionPropertiesEXT
p Ptr ImageCompressionPropertiesEXT
-> Int -> Ptr ImageCompressionFlagBitsEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr ImageCompressionFlagsEXT))
ImageCompressionFixedRateFlagBitsEXT
imageCompressionFixedRateFlags <- forall a. Storable a => Ptr a -> IO a
peek @ImageCompressionFixedRateFlagsEXT ((Ptr ImageCompressionPropertiesEXT
p Ptr ImageCompressionPropertiesEXT
-> Int -> Ptr ImageCompressionFixedRateFlagBitsEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr ImageCompressionFixedRateFlagsEXT))
ImageCompressionPropertiesEXT -> IO ImageCompressionPropertiesEXT
forall (f :: * -> *) a. Applicative f => a -> f a
pure (ImageCompressionPropertiesEXT -> IO ImageCompressionPropertiesEXT)
-> ImageCompressionPropertiesEXT
-> IO ImageCompressionPropertiesEXT
forall a b. (a -> b) -> a -> b
$ ImageCompressionFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionPropertiesEXT
ImageCompressionPropertiesEXT
ImageCompressionFlagBitsEXT
imageCompressionFlags ImageCompressionFixedRateFlagBitsEXT
imageCompressionFixedRateFlags
instance Storable ImageCompressionPropertiesEXT where
sizeOf :: ImageCompressionPropertiesEXT -> Int
sizeOf ~ImageCompressionPropertiesEXT
_ = Int
24
alignment :: ImageCompressionPropertiesEXT -> Int
alignment ~ImageCompressionPropertiesEXT
_ = Int
8
peek :: Ptr ImageCompressionPropertiesEXT
-> IO ImageCompressionPropertiesEXT
peek = Ptr ImageCompressionPropertiesEXT
-> IO ImageCompressionPropertiesEXT
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr ImageCompressionPropertiesEXT
-> ImageCompressionPropertiesEXT -> IO ()
poke Ptr ImageCompressionPropertiesEXT
ptr ImageCompressionPropertiesEXT
poked = Ptr ImageCompressionPropertiesEXT
-> ImageCompressionPropertiesEXT -> IO () -> IO ()
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr ImageCompressionPropertiesEXT
ptr ImageCompressionPropertiesEXT
poked (() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero ImageCompressionPropertiesEXT where
zero :: ImageCompressionPropertiesEXT
zero = ImageCompressionFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionPropertiesEXT
ImageCompressionPropertiesEXT
ImageCompressionFlagBitsEXT
forall a. Zero a => a
zero
ImageCompressionFixedRateFlagBitsEXT
forall a. Zero a => a
zero
data ImageSubresource2EXT = ImageSubresource2EXT
{
ImageSubresource2EXT -> ImageSubresource
imageSubresource :: ImageSubresource }
deriving (Typeable)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (ImageSubresource2EXT)
#endif
deriving instance Show ImageSubresource2EXT
instance ToCStruct ImageSubresource2EXT where
withCStruct :: forall b.
ImageSubresource2EXT
-> (("pSubresource" ::: Ptr ImageSubresource2EXT) -> IO b) -> IO b
withCStruct ImageSubresource2EXT
x ("pSubresource" ::: Ptr ImageSubresource2EXT) -> IO b
f = Int
-> (("pSubresource" ::: Ptr ImageSubresource2EXT) -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
32 ((("pSubresource" ::: Ptr ImageSubresource2EXT) -> IO b) -> IO b)
-> (("pSubresource" ::: Ptr ImageSubresource2EXT) -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \"pSubresource" ::: Ptr ImageSubresource2EXT
p -> ("pSubresource" ::: Ptr ImageSubresource2EXT)
-> ImageSubresource2EXT -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct "pSubresource" ::: Ptr ImageSubresource2EXT
p ImageSubresource2EXT
x (("pSubresource" ::: Ptr ImageSubresource2EXT) -> IO b
f "pSubresource" ::: Ptr ImageSubresource2EXT
p)
pokeCStruct :: forall b.
("pSubresource" ::: Ptr ImageSubresource2EXT)
-> ImageSubresource2EXT -> IO b -> IO b
pokeCStruct "pSubresource" ::: Ptr ImageSubresource2EXT
p ImageSubresource2EXT{ImageSubresource
imageSubresource :: ImageSubresource
$sel:imageSubresource:ImageSubresource2EXT :: ImageSubresource2EXT -> ImageSubresource
..} IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pSubresource" ::: Ptr ImageSubresource2EXT
p ("pSubresource" ::: Ptr ImageSubresource2EXT)
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_EXT)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pSubresource" ::: Ptr ImageSubresource2EXT
p ("pSubresource" ::: Ptr ImageSubresource2EXT)
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr ImageSubresource -> ImageSubresource -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pSubresource" ::: Ptr ImageSubresource2EXT
p ("pSubresource" ::: Ptr ImageSubresource2EXT)
-> Int -> Ptr ImageSubresource
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr ImageSubresource)) (ImageSubresource
imageSubresource)
IO b
f
cStructSize :: Int
cStructSize = Int
32
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b.
("pSubresource" ::: Ptr ImageSubresource2EXT) -> IO b -> IO b
pokeZeroCStruct "pSubresource" ::: Ptr ImageSubresource2EXT
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pSubresource" ::: Ptr ImageSubresource2EXT
p ("pSubresource" ::: Ptr ImageSubresource2EXT)
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_EXT)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pSubresource" ::: Ptr ImageSubresource2EXT
p ("pSubresource" ::: Ptr ImageSubresource2EXT)
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr ImageSubresource -> ImageSubresource -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pSubresource" ::: Ptr ImageSubresource2EXT
p ("pSubresource" ::: Ptr ImageSubresource2EXT)
-> Int -> Ptr ImageSubresource
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr ImageSubresource)) (ImageSubresource
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct ImageSubresource2EXT where
peekCStruct :: ("pSubresource" ::: Ptr ImageSubresource2EXT)
-> IO ImageSubresource2EXT
peekCStruct "pSubresource" ::: Ptr ImageSubresource2EXT
p = do
ImageSubresource
imageSubresource <- forall a. FromCStruct a => Ptr a -> IO a
peekCStruct @ImageSubresource (("pSubresource" ::: Ptr ImageSubresource2EXT
p ("pSubresource" ::: Ptr ImageSubresource2EXT)
-> Int -> Ptr ImageSubresource
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr ImageSubresource))
ImageSubresource2EXT -> IO ImageSubresource2EXT
forall (f :: * -> *) a. Applicative f => a -> f a
pure (ImageSubresource2EXT -> IO ImageSubresource2EXT)
-> ImageSubresource2EXT -> IO ImageSubresource2EXT
forall a b. (a -> b) -> a -> b
$ ImageSubresource -> ImageSubresource2EXT
ImageSubresource2EXT
ImageSubresource
imageSubresource
instance Storable ImageSubresource2EXT where
sizeOf :: ImageSubresource2EXT -> Int
sizeOf ~ImageSubresource2EXT
_ = Int
32
alignment :: ImageSubresource2EXT -> Int
alignment ~ImageSubresource2EXT
_ = Int
8
peek :: ("pSubresource" ::: Ptr ImageSubresource2EXT)
-> IO ImageSubresource2EXT
peek = ("pSubresource" ::: Ptr ImageSubresource2EXT)
-> IO ImageSubresource2EXT
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: ("pSubresource" ::: Ptr ImageSubresource2EXT)
-> ImageSubresource2EXT -> IO ()
poke "pSubresource" ::: Ptr ImageSubresource2EXT
ptr ImageSubresource2EXT
poked = ("pSubresource" ::: Ptr ImageSubresource2EXT)
-> ImageSubresource2EXT -> IO () -> IO ()
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct "pSubresource" ::: Ptr ImageSubresource2EXT
ptr ImageSubresource2EXT
poked (() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero ImageSubresource2EXT where
zero :: ImageSubresource2EXT
zero = ImageSubresource -> ImageSubresource2EXT
ImageSubresource2EXT
ImageSubresource
forall a. Zero a => a
zero
data SubresourceLayout2EXT (es :: [Type]) = SubresourceLayout2EXT
{
forall (es :: [*]). SubresourceLayout2EXT es -> Chain es
next :: Chain es
,
forall (es :: [*]). SubresourceLayout2EXT es -> SubresourceLayout
subresourceLayout :: SubresourceLayout
}
deriving (Typeable)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (SubresourceLayout2EXT (es :: [Type]))
#endif
deriving instance Show (Chain es) => Show (SubresourceLayout2EXT es)
instance Extensible SubresourceLayout2EXT where
extensibleTypeName :: String
extensibleTypeName = String
"SubresourceLayout2EXT"
setNext :: forall (ds :: [*]) (es :: [*]).
SubresourceLayout2EXT ds -> Chain es -> SubresourceLayout2EXT es
setNext SubresourceLayout2EXT{Chain ds
SubresourceLayout
subresourceLayout :: SubresourceLayout
next :: Chain ds
$sel:subresourceLayout:SubresourceLayout2EXT :: forall (es :: [*]). SubresourceLayout2EXT es -> SubresourceLayout
$sel:next:SubresourceLayout2EXT :: forall (es :: [*]). SubresourceLayout2EXT es -> Chain es
..} Chain es
next' = SubresourceLayout2EXT :: forall (es :: [*]).
Chain es -> SubresourceLayout -> SubresourceLayout2EXT es
SubresourceLayout2EXT{$sel:next:SubresourceLayout2EXT :: Chain es
next = Chain es
next', SubresourceLayout
subresourceLayout :: SubresourceLayout
$sel:subresourceLayout:SubresourceLayout2EXT :: SubresourceLayout
..}
getNext :: forall (es :: [*]). SubresourceLayout2EXT es -> Chain es
getNext SubresourceLayout2EXT{Chain es
SubresourceLayout
subresourceLayout :: SubresourceLayout
next :: Chain es
$sel:subresourceLayout:SubresourceLayout2EXT :: forall (es :: [*]). SubresourceLayout2EXT es -> SubresourceLayout
$sel:next:SubresourceLayout2EXT :: forall (es :: [*]). SubresourceLayout2EXT es -> Chain es
..} = Chain es
next
extends :: forall e b proxy. Typeable e => proxy e -> (Extends SubresourceLayout2EXT e => b) -> Maybe b
extends :: forall e b (proxy :: * -> *).
Typeable e =>
proxy e -> (Extends SubresourceLayout2EXT e => b) -> Maybe b
extends proxy e
_ Extends SubresourceLayout2EXT e => b
f
| Just e :~: ImageCompressionPropertiesEXT
Refl <- forall {k} (a :: k) (b :: k).
(Typeable a, Typeable b) =>
Maybe (a :~: b)
forall a b. (Typeable a, Typeable b) => Maybe (a :~: b)
eqT @e @ImageCompressionPropertiesEXT = b -> Maybe b
forall a. a -> Maybe a
Just b
Extends SubresourceLayout2EXT e => b
f
| Bool
otherwise = Maybe b
forall a. Maybe a
Nothing
instance ( Extendss SubresourceLayout2EXT es
, PokeChain es ) => ToCStruct (SubresourceLayout2EXT es) where
withCStruct :: forall b.
SubresourceLayout2EXT es
-> (Ptr (SubresourceLayout2EXT es) -> IO b) -> IO b
withCStruct SubresourceLayout2EXT es
x Ptr (SubresourceLayout2EXT es) -> IO b
f = Int -> (Ptr (SubresourceLayout2EXT es) -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
56 ((Ptr (SubresourceLayout2EXT es) -> IO b) -> IO b)
-> (Ptr (SubresourceLayout2EXT es) -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr (SubresourceLayout2EXT es)
p -> Ptr (SubresourceLayout2EXT es)
-> SubresourceLayout2EXT es -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr (SubresourceLayout2EXT es)
p SubresourceLayout2EXT es
x (Ptr (SubresourceLayout2EXT es) -> IO b
f Ptr (SubresourceLayout2EXT es)
p)
pokeCStruct :: forall b.
Ptr (SubresourceLayout2EXT es)
-> SubresourceLayout2EXT es -> IO b -> IO b
pokeCStruct Ptr (SubresourceLayout2EXT es)
p SubresourceLayout2EXT{Chain es
SubresourceLayout
subresourceLayout :: SubresourceLayout
next :: Chain es
$sel:subresourceLayout:SubresourceLayout2EXT :: forall (es :: [*]). SubresourceLayout2EXT es -> SubresourceLayout
$sel:next:SubresourceLayout2EXT :: forall (es :: [*]). SubresourceLayout2EXT es -> Chain es
..} IO b
f = ContT b IO b -> IO b
forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT (ContT b IO b -> IO b) -> ContT b IO b -> IO b
forall a b. (a -> b) -> a -> b
$ do
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (SubresourceLayout2EXT es)
p Ptr (SubresourceLayout2EXT es) -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_EXT)
Ptr ()
pNext'' <- (Ptr (Chain es) -> Ptr ())
-> ContT b IO (Ptr (Chain es)) -> ContT b IO (Ptr ())
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap Ptr (Chain es) -> Ptr ()
forall a b. Ptr a -> Ptr b
castPtr (ContT b IO (Ptr (Chain es)) -> ContT b IO (Ptr ()))
-> (((Ptr (Chain es) -> IO b) -> IO b)
-> ContT b IO (Ptr (Chain es)))
-> ((Ptr (Chain es) -> IO b) -> IO b)
-> ContT b IO (Ptr ())
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((Ptr (Chain es) -> IO b) -> IO b) -> ContT b IO (Ptr (Chain es))
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr (Chain es) -> IO b) -> IO b) -> ContT b IO (Ptr ()))
-> ((Ptr (Chain es) -> IO b) -> IO b) -> ContT b IO (Ptr ())
forall a b. (a -> b) -> a -> b
$ Chain es -> (Ptr (Chain es) -> IO b) -> IO b
forall (es :: [*]) a.
PokeChain es =>
Chain es -> (Ptr (Chain es) -> IO a) -> IO a
withChain (Chain es
next)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (SubresourceLayout2EXT es)
p Ptr (SubresourceLayout2EXT es) -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) Ptr ()
pNext''
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr SubresourceLayout -> SubresourceLayout -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (SubresourceLayout2EXT es)
p Ptr (SubresourceLayout2EXT es) -> Int -> Ptr SubresourceLayout
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr SubresourceLayout)) (SubresourceLayout
subresourceLayout)
IO b -> ContT b IO b
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO b -> ContT b IO b) -> IO b -> ContT b IO b
forall a b. (a -> b) -> a -> b
$ IO b
f
cStructSize :: Int
cStructSize = Int
56
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b. Ptr (SubresourceLayout2EXT es) -> IO b -> IO b
pokeZeroCStruct Ptr (SubresourceLayout2EXT es)
p IO b
f = ContT b IO b -> IO b
forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT (ContT b IO b -> IO b) -> ContT b IO b -> IO b
forall a b. (a -> b) -> a -> b
$ do
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (SubresourceLayout2EXT es)
p Ptr (SubresourceLayout2EXT es) -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_EXT)
Ptr ()
pNext' <- (Ptr (Chain es) -> Ptr ())
-> ContT b IO (Ptr (Chain es)) -> ContT b IO (Ptr ())
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap Ptr (Chain es) -> Ptr ()
forall a b. Ptr a -> Ptr b
castPtr (ContT b IO (Ptr (Chain es)) -> ContT b IO (Ptr ()))
-> (((Ptr (Chain es) -> IO b) -> IO b)
-> ContT b IO (Ptr (Chain es)))
-> ((Ptr (Chain es) -> IO b) -> IO b)
-> ContT b IO (Ptr ())
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((Ptr (Chain es) -> IO b) -> IO b) -> ContT b IO (Ptr (Chain es))
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr (Chain es) -> IO b) -> IO b) -> ContT b IO (Ptr ()))
-> ((Ptr (Chain es) -> IO b) -> IO b) -> ContT b IO (Ptr ())
forall a b. (a -> b) -> a -> b
$ forall (es :: [*]) a.
PokeChain es =>
(Ptr (Chain es) -> IO a) -> IO a
withZeroChain @es
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (SubresourceLayout2EXT es)
p Ptr (SubresourceLayout2EXT es) -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) Ptr ()
pNext'
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr SubresourceLayout -> SubresourceLayout -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (SubresourceLayout2EXT es)
p Ptr (SubresourceLayout2EXT es) -> Int -> Ptr SubresourceLayout
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr SubresourceLayout)) (SubresourceLayout
forall a. Zero a => a
zero)
IO b -> ContT b IO b
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO b -> ContT b IO b) -> IO b -> ContT b IO b
forall a b. (a -> b) -> a -> b
$ IO b
f
instance ( Extendss SubresourceLayout2EXT es
, PeekChain es ) => FromCStruct (SubresourceLayout2EXT es) where
peekCStruct :: Ptr (SubresourceLayout2EXT es) -> IO (SubresourceLayout2EXT es)
peekCStruct Ptr (SubresourceLayout2EXT es)
p = do
Ptr ()
pNext <- forall a. Storable a => Ptr a -> IO a
peek @(Ptr ()) ((Ptr (SubresourceLayout2EXT es)
p Ptr (SubresourceLayout2EXT es) -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ())))
Chain es
next <- Ptr (Chain es) -> IO (Chain es)
forall (es :: [*]). PeekChain es => Ptr (Chain es) -> IO (Chain es)
peekChain (Ptr () -> Ptr (Chain es)
forall a b. Ptr a -> Ptr b
castPtr Ptr ()
pNext)
SubresourceLayout
subresourceLayout <- forall a. FromCStruct a => Ptr a -> IO a
peekCStruct @SubresourceLayout ((Ptr (SubresourceLayout2EXT es)
p Ptr (SubresourceLayout2EXT es) -> Int -> Ptr SubresourceLayout
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr SubresourceLayout))
SubresourceLayout2EXT es -> IO (SubresourceLayout2EXT es)
forall (f :: * -> *) a. Applicative f => a -> f a
pure (SubresourceLayout2EXT es -> IO (SubresourceLayout2EXT es))
-> SubresourceLayout2EXT es -> IO (SubresourceLayout2EXT es)
forall a b. (a -> b) -> a -> b
$ Chain es -> SubresourceLayout -> SubresourceLayout2EXT es
forall (es :: [*]).
Chain es -> SubresourceLayout -> SubresourceLayout2EXT es
SubresourceLayout2EXT
Chain es
next SubresourceLayout
subresourceLayout
instance es ~ '[] => Zero (SubresourceLayout2EXT es) where
zero :: SubresourceLayout2EXT es
zero = Chain es -> SubresourceLayout -> SubresourceLayout2EXT es
forall (es :: [*]).
Chain es -> SubresourceLayout -> SubresourceLayout2EXT es
SubresourceLayout2EXT
()
SubresourceLayout
forall a. Zero a => a
zero
type ImageCompressionFlagsEXT = ImageCompressionFlagBitsEXT
newtype ImageCompressionFlagBitsEXT = ImageCompressionFlagBitsEXT Flags
deriving newtype (ImageCompressionFlagBitsEXT -> ImageCompressionFlagBitsEXT -> Bool
(ImageCompressionFlagBitsEXT
-> ImageCompressionFlagBitsEXT -> Bool)
-> (ImageCompressionFlagBitsEXT
-> ImageCompressionFlagBitsEXT -> Bool)
-> Eq ImageCompressionFlagBitsEXT
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ImageCompressionFlagBitsEXT -> ImageCompressionFlagBitsEXT -> Bool
$c/= :: ImageCompressionFlagBitsEXT -> ImageCompressionFlagBitsEXT -> Bool
== :: ImageCompressionFlagBitsEXT -> ImageCompressionFlagBitsEXT -> Bool
$c== :: ImageCompressionFlagBitsEXT -> ImageCompressionFlagBitsEXT -> Bool
Eq, Eq ImageCompressionFlagBitsEXT
Eq ImageCompressionFlagBitsEXT
-> (ImageCompressionFlagBitsEXT
-> ImageCompressionFlagBitsEXT -> Ordering)
-> (ImageCompressionFlagBitsEXT
-> ImageCompressionFlagBitsEXT -> Bool)
-> (ImageCompressionFlagBitsEXT
-> ImageCompressionFlagBitsEXT -> Bool)
-> (ImageCompressionFlagBitsEXT
-> ImageCompressionFlagBitsEXT -> Bool)
-> (ImageCompressionFlagBitsEXT
-> ImageCompressionFlagBitsEXT -> Bool)
-> (ImageCompressionFlagBitsEXT
-> ImageCompressionFlagBitsEXT -> ImageCompressionFlagBitsEXT)
-> (ImageCompressionFlagBitsEXT
-> ImageCompressionFlagBitsEXT -> ImageCompressionFlagBitsEXT)
-> Ord ImageCompressionFlagBitsEXT
ImageCompressionFlagBitsEXT -> ImageCompressionFlagBitsEXT -> Bool
ImageCompressionFlagBitsEXT
-> ImageCompressionFlagBitsEXT -> Ordering
ImageCompressionFlagBitsEXT
-> ImageCompressionFlagBitsEXT -> ImageCompressionFlagBitsEXT
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: ImageCompressionFlagBitsEXT
-> ImageCompressionFlagBitsEXT -> ImageCompressionFlagBitsEXT
$cmin :: ImageCompressionFlagBitsEXT
-> ImageCompressionFlagBitsEXT -> ImageCompressionFlagBitsEXT
max :: ImageCompressionFlagBitsEXT
-> ImageCompressionFlagBitsEXT -> ImageCompressionFlagBitsEXT
$cmax :: ImageCompressionFlagBitsEXT
-> ImageCompressionFlagBitsEXT -> ImageCompressionFlagBitsEXT
>= :: ImageCompressionFlagBitsEXT -> ImageCompressionFlagBitsEXT -> Bool
$c>= :: ImageCompressionFlagBitsEXT -> ImageCompressionFlagBitsEXT -> Bool
> :: ImageCompressionFlagBitsEXT -> ImageCompressionFlagBitsEXT -> Bool
$c> :: ImageCompressionFlagBitsEXT -> ImageCompressionFlagBitsEXT -> Bool
<= :: ImageCompressionFlagBitsEXT -> ImageCompressionFlagBitsEXT -> Bool
$c<= :: ImageCompressionFlagBitsEXT -> ImageCompressionFlagBitsEXT -> Bool
< :: ImageCompressionFlagBitsEXT -> ImageCompressionFlagBitsEXT -> Bool
$c< :: ImageCompressionFlagBitsEXT -> ImageCompressionFlagBitsEXT -> Bool
compare :: ImageCompressionFlagBitsEXT
-> ImageCompressionFlagBitsEXT -> Ordering
$ccompare :: ImageCompressionFlagBitsEXT
-> ImageCompressionFlagBitsEXT -> Ordering
Ord, Ptr ImageCompressionFlagBitsEXT -> IO ImageCompressionFlagBitsEXT
Ptr ImageCompressionFlagBitsEXT
-> Int -> IO ImageCompressionFlagBitsEXT
Ptr ImageCompressionFlagBitsEXT
-> Int -> ImageCompressionFlagBitsEXT -> IO ()
Ptr ImageCompressionFlagBitsEXT
-> ImageCompressionFlagBitsEXT -> IO ()
ImageCompressionFlagBitsEXT -> Int
(ImageCompressionFlagBitsEXT -> Int)
-> (ImageCompressionFlagBitsEXT -> Int)
-> (Ptr ImageCompressionFlagBitsEXT
-> Int -> IO ImageCompressionFlagBitsEXT)
-> (Ptr ImageCompressionFlagBitsEXT
-> Int -> ImageCompressionFlagBitsEXT -> IO ())
-> (forall b. Ptr b -> Int -> IO ImageCompressionFlagBitsEXT)
-> (forall b. Ptr b -> Int -> ImageCompressionFlagBitsEXT -> IO ())
-> (Ptr ImageCompressionFlagBitsEXT
-> IO ImageCompressionFlagBitsEXT)
-> (Ptr ImageCompressionFlagBitsEXT
-> ImageCompressionFlagBitsEXT -> IO ())
-> Storable ImageCompressionFlagBitsEXT
forall b. Ptr b -> Int -> IO ImageCompressionFlagBitsEXT
forall b. Ptr b -> Int -> ImageCompressionFlagBitsEXT -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
poke :: Ptr ImageCompressionFlagBitsEXT
-> ImageCompressionFlagBitsEXT -> IO ()
$cpoke :: Ptr ImageCompressionFlagBitsEXT
-> ImageCompressionFlagBitsEXT -> IO ()
peek :: Ptr ImageCompressionFlagBitsEXT -> IO ImageCompressionFlagBitsEXT
$cpeek :: Ptr ImageCompressionFlagBitsEXT -> IO ImageCompressionFlagBitsEXT
pokeByteOff :: forall b. Ptr b -> Int -> ImageCompressionFlagBitsEXT -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> ImageCompressionFlagBitsEXT -> IO ()
peekByteOff :: forall b. Ptr b -> Int -> IO ImageCompressionFlagBitsEXT
$cpeekByteOff :: forall b. Ptr b -> Int -> IO ImageCompressionFlagBitsEXT
pokeElemOff :: Ptr ImageCompressionFlagBitsEXT
-> Int -> ImageCompressionFlagBitsEXT -> IO ()
$cpokeElemOff :: Ptr ImageCompressionFlagBitsEXT
-> Int -> ImageCompressionFlagBitsEXT -> IO ()
peekElemOff :: Ptr ImageCompressionFlagBitsEXT
-> Int -> IO ImageCompressionFlagBitsEXT
$cpeekElemOff :: Ptr ImageCompressionFlagBitsEXT
-> Int -> IO ImageCompressionFlagBitsEXT
alignment :: ImageCompressionFlagBitsEXT -> Int
$calignment :: ImageCompressionFlagBitsEXT -> Int
sizeOf :: ImageCompressionFlagBitsEXT -> Int
$csizeOf :: ImageCompressionFlagBitsEXT -> Int
Storable, ImageCompressionFlagBitsEXT
ImageCompressionFlagBitsEXT -> Zero ImageCompressionFlagBitsEXT
forall a. a -> Zero a
zero :: ImageCompressionFlagBitsEXT
$czero :: ImageCompressionFlagBitsEXT
Zero, Eq ImageCompressionFlagBitsEXT
ImageCompressionFlagBitsEXT
Eq ImageCompressionFlagBitsEXT
-> (ImageCompressionFlagBitsEXT
-> ImageCompressionFlagBitsEXT -> ImageCompressionFlagBitsEXT)
-> (ImageCompressionFlagBitsEXT
-> ImageCompressionFlagBitsEXT -> ImageCompressionFlagBitsEXT)
-> (ImageCompressionFlagBitsEXT
-> ImageCompressionFlagBitsEXT -> ImageCompressionFlagBitsEXT)
-> (ImageCompressionFlagBitsEXT -> ImageCompressionFlagBitsEXT)
-> (ImageCompressionFlagBitsEXT
-> Int -> ImageCompressionFlagBitsEXT)
-> (ImageCompressionFlagBitsEXT
-> Int -> ImageCompressionFlagBitsEXT)
-> ImageCompressionFlagBitsEXT
-> (Int -> ImageCompressionFlagBitsEXT)
-> (ImageCompressionFlagBitsEXT
-> Int -> ImageCompressionFlagBitsEXT)
-> (ImageCompressionFlagBitsEXT
-> Int -> ImageCompressionFlagBitsEXT)
-> (ImageCompressionFlagBitsEXT
-> Int -> ImageCompressionFlagBitsEXT)
-> (ImageCompressionFlagBitsEXT -> Int -> Bool)
-> (ImageCompressionFlagBitsEXT -> Maybe Int)
-> (ImageCompressionFlagBitsEXT -> Int)
-> (ImageCompressionFlagBitsEXT -> Bool)
-> (ImageCompressionFlagBitsEXT
-> Int -> ImageCompressionFlagBitsEXT)
-> (ImageCompressionFlagBitsEXT
-> Int -> ImageCompressionFlagBitsEXT)
-> (ImageCompressionFlagBitsEXT
-> Int -> ImageCompressionFlagBitsEXT)
-> (ImageCompressionFlagBitsEXT
-> Int -> ImageCompressionFlagBitsEXT)
-> (ImageCompressionFlagBitsEXT
-> Int -> ImageCompressionFlagBitsEXT)
-> (ImageCompressionFlagBitsEXT
-> Int -> ImageCompressionFlagBitsEXT)
-> (ImageCompressionFlagBitsEXT -> Int)
-> Bits ImageCompressionFlagBitsEXT
Int -> ImageCompressionFlagBitsEXT
ImageCompressionFlagBitsEXT -> Bool
ImageCompressionFlagBitsEXT -> Int
ImageCompressionFlagBitsEXT -> Maybe Int
ImageCompressionFlagBitsEXT -> ImageCompressionFlagBitsEXT
ImageCompressionFlagBitsEXT -> Int -> Bool
ImageCompressionFlagBitsEXT -> Int -> ImageCompressionFlagBitsEXT
ImageCompressionFlagBitsEXT
-> ImageCompressionFlagBitsEXT -> ImageCompressionFlagBitsEXT
forall a.
Eq a
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> a
-> (Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> Bool)
-> (a -> Maybe Int)
-> (a -> Int)
-> (a -> Bool)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int)
-> Bits a
popCount :: ImageCompressionFlagBitsEXT -> Int
$cpopCount :: ImageCompressionFlagBitsEXT -> Int
rotateR :: ImageCompressionFlagBitsEXT -> Int -> ImageCompressionFlagBitsEXT
$crotateR :: ImageCompressionFlagBitsEXT -> Int -> ImageCompressionFlagBitsEXT
rotateL :: ImageCompressionFlagBitsEXT -> Int -> ImageCompressionFlagBitsEXT
$crotateL :: ImageCompressionFlagBitsEXT -> Int -> ImageCompressionFlagBitsEXT
unsafeShiftR :: ImageCompressionFlagBitsEXT -> Int -> ImageCompressionFlagBitsEXT
$cunsafeShiftR :: ImageCompressionFlagBitsEXT -> Int -> ImageCompressionFlagBitsEXT
shiftR :: ImageCompressionFlagBitsEXT -> Int -> ImageCompressionFlagBitsEXT
$cshiftR :: ImageCompressionFlagBitsEXT -> Int -> ImageCompressionFlagBitsEXT
unsafeShiftL :: ImageCompressionFlagBitsEXT -> Int -> ImageCompressionFlagBitsEXT
$cunsafeShiftL :: ImageCompressionFlagBitsEXT -> Int -> ImageCompressionFlagBitsEXT
shiftL :: ImageCompressionFlagBitsEXT -> Int -> ImageCompressionFlagBitsEXT
$cshiftL :: ImageCompressionFlagBitsEXT -> Int -> ImageCompressionFlagBitsEXT
isSigned :: ImageCompressionFlagBitsEXT -> Bool
$cisSigned :: ImageCompressionFlagBitsEXT -> Bool
bitSize :: ImageCompressionFlagBitsEXT -> Int
$cbitSize :: ImageCompressionFlagBitsEXT -> Int
bitSizeMaybe :: ImageCompressionFlagBitsEXT -> Maybe Int
$cbitSizeMaybe :: ImageCompressionFlagBitsEXT -> Maybe Int
testBit :: ImageCompressionFlagBitsEXT -> Int -> Bool
$ctestBit :: ImageCompressionFlagBitsEXT -> Int -> Bool
complementBit :: ImageCompressionFlagBitsEXT -> Int -> ImageCompressionFlagBitsEXT
$ccomplementBit :: ImageCompressionFlagBitsEXT -> Int -> ImageCompressionFlagBitsEXT
clearBit :: ImageCompressionFlagBitsEXT -> Int -> ImageCompressionFlagBitsEXT
$cclearBit :: ImageCompressionFlagBitsEXT -> Int -> ImageCompressionFlagBitsEXT
setBit :: ImageCompressionFlagBitsEXT -> Int -> ImageCompressionFlagBitsEXT
$csetBit :: ImageCompressionFlagBitsEXT -> Int -> ImageCompressionFlagBitsEXT
bit :: Int -> ImageCompressionFlagBitsEXT
$cbit :: Int -> ImageCompressionFlagBitsEXT
zeroBits :: ImageCompressionFlagBitsEXT
$czeroBits :: ImageCompressionFlagBitsEXT
rotate :: ImageCompressionFlagBitsEXT -> Int -> ImageCompressionFlagBitsEXT
$crotate :: ImageCompressionFlagBitsEXT -> Int -> ImageCompressionFlagBitsEXT
shift :: ImageCompressionFlagBitsEXT -> Int -> ImageCompressionFlagBitsEXT
$cshift :: ImageCompressionFlagBitsEXT -> Int -> ImageCompressionFlagBitsEXT
complement :: ImageCompressionFlagBitsEXT -> ImageCompressionFlagBitsEXT
$ccomplement :: ImageCompressionFlagBitsEXT -> ImageCompressionFlagBitsEXT
xor :: ImageCompressionFlagBitsEXT
-> ImageCompressionFlagBitsEXT -> ImageCompressionFlagBitsEXT
$cxor :: ImageCompressionFlagBitsEXT
-> ImageCompressionFlagBitsEXT -> ImageCompressionFlagBitsEXT
.|. :: ImageCompressionFlagBitsEXT
-> ImageCompressionFlagBitsEXT -> ImageCompressionFlagBitsEXT
$c.|. :: ImageCompressionFlagBitsEXT
-> ImageCompressionFlagBitsEXT -> ImageCompressionFlagBitsEXT
.&. :: ImageCompressionFlagBitsEXT
-> ImageCompressionFlagBitsEXT -> ImageCompressionFlagBitsEXT
$c.&. :: ImageCompressionFlagBitsEXT
-> ImageCompressionFlagBitsEXT -> ImageCompressionFlagBitsEXT
Bits, Bits ImageCompressionFlagBitsEXT
Bits ImageCompressionFlagBitsEXT
-> (ImageCompressionFlagBitsEXT -> Int)
-> (ImageCompressionFlagBitsEXT -> Int)
-> (ImageCompressionFlagBitsEXT -> Int)
-> FiniteBits ImageCompressionFlagBitsEXT
ImageCompressionFlagBitsEXT -> Int
forall b.
Bits b -> (b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
countTrailingZeros :: ImageCompressionFlagBitsEXT -> Int
$ccountTrailingZeros :: ImageCompressionFlagBitsEXT -> Int
countLeadingZeros :: ImageCompressionFlagBitsEXT -> Int
$ccountLeadingZeros :: ImageCompressionFlagBitsEXT -> Int
finiteBitSize :: ImageCompressionFlagBitsEXT -> Int
$cfiniteBitSize :: ImageCompressionFlagBitsEXT -> Int
FiniteBits)
pattern $bIMAGE_COMPRESSION_DEFAULT_EXT :: ImageCompressionFlagBitsEXT
$mIMAGE_COMPRESSION_DEFAULT_EXT :: forall {r}.
ImageCompressionFlagBitsEXT -> (Void# -> r) -> (Void# -> r) -> r
IMAGE_COMPRESSION_DEFAULT_EXT = ImageCompressionFlagBitsEXT 0x00000000
pattern $bIMAGE_COMPRESSION_FIXED_RATE_DEFAULT_EXT :: ImageCompressionFlagBitsEXT
$mIMAGE_COMPRESSION_FIXED_RATE_DEFAULT_EXT :: forall {r}.
ImageCompressionFlagBitsEXT -> (Void# -> r) -> (Void# -> r) -> r
IMAGE_COMPRESSION_FIXED_RATE_DEFAULT_EXT = ImageCompressionFlagBitsEXT 0x00000001
pattern $bIMAGE_COMPRESSION_FIXED_RATE_EXPLICIT_EXT :: ImageCompressionFlagBitsEXT
$mIMAGE_COMPRESSION_FIXED_RATE_EXPLICIT_EXT :: forall {r}.
ImageCompressionFlagBitsEXT -> (Void# -> r) -> (Void# -> r) -> r
IMAGE_COMPRESSION_FIXED_RATE_EXPLICIT_EXT = ImageCompressionFlagBitsEXT 0x00000002
pattern $bIMAGE_COMPRESSION_DISABLED_EXT :: ImageCompressionFlagBitsEXT
$mIMAGE_COMPRESSION_DISABLED_EXT :: forall {r}.
ImageCompressionFlagBitsEXT -> (Void# -> r) -> (Void# -> r) -> r
IMAGE_COMPRESSION_DISABLED_EXT = ImageCompressionFlagBitsEXT 0x00000004
conNameImageCompressionFlagBitsEXT :: String
conNameImageCompressionFlagBitsEXT :: String
conNameImageCompressionFlagBitsEXT = String
"ImageCompressionFlagBitsEXT"
enumPrefixImageCompressionFlagBitsEXT :: String
enumPrefixImageCompressionFlagBitsEXT :: String
enumPrefixImageCompressionFlagBitsEXT = String
"IMAGE_COMPRESSION_"
showTableImageCompressionFlagBitsEXT :: [(ImageCompressionFlagBitsEXT, String)]
showTableImageCompressionFlagBitsEXT :: [(ImageCompressionFlagBitsEXT, String)]
showTableImageCompressionFlagBitsEXT =
[
( ImageCompressionFlagBitsEXT
IMAGE_COMPRESSION_DEFAULT_EXT
, String
"DEFAULT_EXT"
)
,
( ImageCompressionFlagBitsEXT
IMAGE_COMPRESSION_FIXED_RATE_DEFAULT_EXT
, String
"FIXED_RATE_DEFAULT_EXT"
)
,
( ImageCompressionFlagBitsEXT
IMAGE_COMPRESSION_FIXED_RATE_EXPLICIT_EXT
, String
"FIXED_RATE_EXPLICIT_EXT"
)
,
( ImageCompressionFlagBitsEXT
IMAGE_COMPRESSION_DISABLED_EXT
, String
"DISABLED_EXT"
)
]
instance Show ImageCompressionFlagBitsEXT where
showsPrec :: Int -> ImageCompressionFlagBitsEXT -> ShowS
showsPrec =
String
-> [(ImageCompressionFlagBitsEXT, String)]
-> String
-> (ImageCompressionFlagBitsEXT -> Flags)
-> (Flags -> ShowS)
-> Int
-> ImageCompressionFlagBitsEXT
-> ShowS
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec
String
enumPrefixImageCompressionFlagBitsEXT
[(ImageCompressionFlagBitsEXT, String)]
showTableImageCompressionFlagBitsEXT
String
conNameImageCompressionFlagBitsEXT
(\(ImageCompressionFlagBitsEXT 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, Show a) => a -> ShowS
showHex Flags
x)
instance Read ImageCompressionFlagBitsEXT where
readPrec :: ReadPrec ImageCompressionFlagBitsEXT
readPrec =
String
-> [(ImageCompressionFlagBitsEXT, String)]
-> String
-> (Flags -> ImageCompressionFlagBitsEXT)
-> ReadPrec ImageCompressionFlagBitsEXT
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec
String
enumPrefixImageCompressionFlagBitsEXT
[(ImageCompressionFlagBitsEXT, String)]
showTableImageCompressionFlagBitsEXT
String
conNameImageCompressionFlagBitsEXT
Flags -> ImageCompressionFlagBitsEXT
ImageCompressionFlagBitsEXT
type ImageCompressionFixedRateFlagsEXT = ImageCompressionFixedRateFlagBitsEXT
newtype ImageCompressionFixedRateFlagBitsEXT = ImageCompressionFixedRateFlagBitsEXT Flags
deriving newtype (ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT -> Bool
(ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT -> Bool)
-> (ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT -> Bool)
-> Eq ImageCompressionFixedRateFlagBitsEXT
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT -> Bool
$c/= :: ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT -> Bool
== :: ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT -> Bool
$c== :: ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT -> Bool
Eq, Eq ImageCompressionFixedRateFlagBitsEXT
Eq ImageCompressionFixedRateFlagBitsEXT
-> (ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT -> Ordering)
-> (ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT -> Bool)
-> (ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT -> Bool)
-> (ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT -> Bool)
-> (ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT -> Bool)
-> (ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT)
-> (ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT)
-> Ord ImageCompressionFixedRateFlagBitsEXT
ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT -> Bool
ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT -> Ordering
ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT
$cmin :: ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT
max :: ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT
$cmax :: ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT
>= :: ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT -> Bool
$c>= :: ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT -> Bool
> :: ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT -> Bool
$c> :: ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT -> Bool
<= :: ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT -> Bool
$c<= :: ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT -> Bool
< :: ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT -> Bool
$c< :: ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT -> Bool
compare :: ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT -> Ordering
$ccompare :: ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT -> Ordering
Ord, Ptr ImageCompressionFixedRateFlagBitsEXT
-> IO ImageCompressionFixedRateFlagBitsEXT
Ptr ImageCompressionFixedRateFlagBitsEXT
-> Int -> IO ImageCompressionFixedRateFlagBitsEXT
Ptr ImageCompressionFixedRateFlagBitsEXT
-> Int -> ImageCompressionFixedRateFlagBitsEXT -> IO ()
Ptr ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT -> IO ()
ImageCompressionFixedRateFlagBitsEXT -> Int
(ImageCompressionFixedRateFlagBitsEXT -> Int)
-> (ImageCompressionFixedRateFlagBitsEXT -> Int)
-> (Ptr ImageCompressionFixedRateFlagBitsEXT
-> Int -> IO ImageCompressionFixedRateFlagBitsEXT)
-> (Ptr ImageCompressionFixedRateFlagBitsEXT
-> Int -> ImageCompressionFixedRateFlagBitsEXT -> IO ())
-> (forall b.
Ptr b -> Int -> IO ImageCompressionFixedRateFlagBitsEXT)
-> (forall b.
Ptr b -> Int -> ImageCompressionFixedRateFlagBitsEXT -> IO ())
-> (Ptr ImageCompressionFixedRateFlagBitsEXT
-> IO ImageCompressionFixedRateFlagBitsEXT)
-> (Ptr ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT -> IO ())
-> Storable ImageCompressionFixedRateFlagBitsEXT
forall b. Ptr b -> Int -> IO ImageCompressionFixedRateFlagBitsEXT
forall b.
Ptr b -> Int -> ImageCompressionFixedRateFlagBitsEXT -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
poke :: Ptr ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT -> IO ()
$cpoke :: Ptr ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT -> IO ()
peek :: Ptr ImageCompressionFixedRateFlagBitsEXT
-> IO ImageCompressionFixedRateFlagBitsEXT
$cpeek :: Ptr ImageCompressionFixedRateFlagBitsEXT
-> IO ImageCompressionFixedRateFlagBitsEXT
pokeByteOff :: forall b.
Ptr b -> Int -> ImageCompressionFixedRateFlagBitsEXT -> IO ()
$cpokeByteOff :: forall b.
Ptr b -> Int -> ImageCompressionFixedRateFlagBitsEXT -> IO ()
peekByteOff :: forall b. Ptr b -> Int -> IO ImageCompressionFixedRateFlagBitsEXT
$cpeekByteOff :: forall b. Ptr b -> Int -> IO ImageCompressionFixedRateFlagBitsEXT
pokeElemOff :: Ptr ImageCompressionFixedRateFlagBitsEXT
-> Int -> ImageCompressionFixedRateFlagBitsEXT -> IO ()
$cpokeElemOff :: Ptr ImageCompressionFixedRateFlagBitsEXT
-> Int -> ImageCompressionFixedRateFlagBitsEXT -> IO ()
peekElemOff :: Ptr ImageCompressionFixedRateFlagBitsEXT
-> Int -> IO ImageCompressionFixedRateFlagBitsEXT
$cpeekElemOff :: Ptr ImageCompressionFixedRateFlagBitsEXT
-> Int -> IO ImageCompressionFixedRateFlagBitsEXT
alignment :: ImageCompressionFixedRateFlagBitsEXT -> Int
$calignment :: ImageCompressionFixedRateFlagBitsEXT -> Int
sizeOf :: ImageCompressionFixedRateFlagBitsEXT -> Int
$csizeOf :: ImageCompressionFixedRateFlagBitsEXT -> Int
Storable, ImageCompressionFixedRateFlagBitsEXT
ImageCompressionFixedRateFlagBitsEXT
-> Zero ImageCompressionFixedRateFlagBitsEXT
forall a. a -> Zero a
zero :: ImageCompressionFixedRateFlagBitsEXT
$czero :: ImageCompressionFixedRateFlagBitsEXT
Zero, Eq ImageCompressionFixedRateFlagBitsEXT
ImageCompressionFixedRateFlagBitsEXT
Eq ImageCompressionFixedRateFlagBitsEXT
-> (ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT)
-> (ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT)
-> (ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT)
-> (ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT)
-> (ImageCompressionFixedRateFlagBitsEXT
-> Int -> ImageCompressionFixedRateFlagBitsEXT)
-> (ImageCompressionFixedRateFlagBitsEXT
-> Int -> ImageCompressionFixedRateFlagBitsEXT)
-> ImageCompressionFixedRateFlagBitsEXT
-> (Int -> ImageCompressionFixedRateFlagBitsEXT)
-> (ImageCompressionFixedRateFlagBitsEXT
-> Int -> ImageCompressionFixedRateFlagBitsEXT)
-> (ImageCompressionFixedRateFlagBitsEXT
-> Int -> ImageCompressionFixedRateFlagBitsEXT)
-> (ImageCompressionFixedRateFlagBitsEXT
-> Int -> ImageCompressionFixedRateFlagBitsEXT)
-> (ImageCompressionFixedRateFlagBitsEXT -> Int -> Bool)
-> (ImageCompressionFixedRateFlagBitsEXT -> Maybe Int)
-> (ImageCompressionFixedRateFlagBitsEXT -> Int)
-> (ImageCompressionFixedRateFlagBitsEXT -> Bool)
-> (ImageCompressionFixedRateFlagBitsEXT
-> Int -> ImageCompressionFixedRateFlagBitsEXT)
-> (ImageCompressionFixedRateFlagBitsEXT
-> Int -> ImageCompressionFixedRateFlagBitsEXT)
-> (ImageCompressionFixedRateFlagBitsEXT
-> Int -> ImageCompressionFixedRateFlagBitsEXT)
-> (ImageCompressionFixedRateFlagBitsEXT
-> Int -> ImageCompressionFixedRateFlagBitsEXT)
-> (ImageCompressionFixedRateFlagBitsEXT
-> Int -> ImageCompressionFixedRateFlagBitsEXT)
-> (ImageCompressionFixedRateFlagBitsEXT
-> Int -> ImageCompressionFixedRateFlagBitsEXT)
-> (ImageCompressionFixedRateFlagBitsEXT -> Int)
-> Bits ImageCompressionFixedRateFlagBitsEXT
Int -> ImageCompressionFixedRateFlagBitsEXT
ImageCompressionFixedRateFlagBitsEXT -> Bool
ImageCompressionFixedRateFlagBitsEXT -> Int
ImageCompressionFixedRateFlagBitsEXT -> Maybe Int
ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT
ImageCompressionFixedRateFlagBitsEXT -> Int -> Bool
ImageCompressionFixedRateFlagBitsEXT
-> Int -> ImageCompressionFixedRateFlagBitsEXT
ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT
forall a.
Eq a
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> a
-> (Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> Bool)
-> (a -> Maybe Int)
-> (a -> Int)
-> (a -> Bool)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int)
-> Bits a
popCount :: ImageCompressionFixedRateFlagBitsEXT -> Int
$cpopCount :: ImageCompressionFixedRateFlagBitsEXT -> Int
rotateR :: ImageCompressionFixedRateFlagBitsEXT
-> Int -> ImageCompressionFixedRateFlagBitsEXT
$crotateR :: ImageCompressionFixedRateFlagBitsEXT
-> Int -> ImageCompressionFixedRateFlagBitsEXT
rotateL :: ImageCompressionFixedRateFlagBitsEXT
-> Int -> ImageCompressionFixedRateFlagBitsEXT
$crotateL :: ImageCompressionFixedRateFlagBitsEXT
-> Int -> ImageCompressionFixedRateFlagBitsEXT
unsafeShiftR :: ImageCompressionFixedRateFlagBitsEXT
-> Int -> ImageCompressionFixedRateFlagBitsEXT
$cunsafeShiftR :: ImageCompressionFixedRateFlagBitsEXT
-> Int -> ImageCompressionFixedRateFlagBitsEXT
shiftR :: ImageCompressionFixedRateFlagBitsEXT
-> Int -> ImageCompressionFixedRateFlagBitsEXT
$cshiftR :: ImageCompressionFixedRateFlagBitsEXT
-> Int -> ImageCompressionFixedRateFlagBitsEXT
unsafeShiftL :: ImageCompressionFixedRateFlagBitsEXT
-> Int -> ImageCompressionFixedRateFlagBitsEXT
$cunsafeShiftL :: ImageCompressionFixedRateFlagBitsEXT
-> Int -> ImageCompressionFixedRateFlagBitsEXT
shiftL :: ImageCompressionFixedRateFlagBitsEXT
-> Int -> ImageCompressionFixedRateFlagBitsEXT
$cshiftL :: ImageCompressionFixedRateFlagBitsEXT
-> Int -> ImageCompressionFixedRateFlagBitsEXT
isSigned :: ImageCompressionFixedRateFlagBitsEXT -> Bool
$cisSigned :: ImageCompressionFixedRateFlagBitsEXT -> Bool
bitSize :: ImageCompressionFixedRateFlagBitsEXT -> Int
$cbitSize :: ImageCompressionFixedRateFlagBitsEXT -> Int
bitSizeMaybe :: ImageCompressionFixedRateFlagBitsEXT -> Maybe Int
$cbitSizeMaybe :: ImageCompressionFixedRateFlagBitsEXT -> Maybe Int
testBit :: ImageCompressionFixedRateFlagBitsEXT -> Int -> Bool
$ctestBit :: ImageCompressionFixedRateFlagBitsEXT -> Int -> Bool
complementBit :: ImageCompressionFixedRateFlagBitsEXT
-> Int -> ImageCompressionFixedRateFlagBitsEXT
$ccomplementBit :: ImageCompressionFixedRateFlagBitsEXT
-> Int -> ImageCompressionFixedRateFlagBitsEXT
clearBit :: ImageCompressionFixedRateFlagBitsEXT
-> Int -> ImageCompressionFixedRateFlagBitsEXT
$cclearBit :: ImageCompressionFixedRateFlagBitsEXT
-> Int -> ImageCompressionFixedRateFlagBitsEXT
setBit :: ImageCompressionFixedRateFlagBitsEXT
-> Int -> ImageCompressionFixedRateFlagBitsEXT
$csetBit :: ImageCompressionFixedRateFlagBitsEXT
-> Int -> ImageCompressionFixedRateFlagBitsEXT
bit :: Int -> ImageCompressionFixedRateFlagBitsEXT
$cbit :: Int -> ImageCompressionFixedRateFlagBitsEXT
zeroBits :: ImageCompressionFixedRateFlagBitsEXT
$czeroBits :: ImageCompressionFixedRateFlagBitsEXT
rotate :: ImageCompressionFixedRateFlagBitsEXT
-> Int -> ImageCompressionFixedRateFlagBitsEXT
$crotate :: ImageCompressionFixedRateFlagBitsEXT
-> Int -> ImageCompressionFixedRateFlagBitsEXT
shift :: ImageCompressionFixedRateFlagBitsEXT
-> Int -> ImageCompressionFixedRateFlagBitsEXT
$cshift :: ImageCompressionFixedRateFlagBitsEXT
-> Int -> ImageCompressionFixedRateFlagBitsEXT
complement :: ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT
$ccomplement :: ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT
xor :: ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT
$cxor :: ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT
.|. :: ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT
$c.|. :: ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT
.&. :: ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT
$c.&. :: ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT
-> ImageCompressionFixedRateFlagBitsEXT
Bits, Bits ImageCompressionFixedRateFlagBitsEXT
Bits ImageCompressionFixedRateFlagBitsEXT
-> (ImageCompressionFixedRateFlagBitsEXT -> Int)
-> (ImageCompressionFixedRateFlagBitsEXT -> Int)
-> (ImageCompressionFixedRateFlagBitsEXT -> Int)
-> FiniteBits ImageCompressionFixedRateFlagBitsEXT
ImageCompressionFixedRateFlagBitsEXT -> Int
forall b.
Bits b -> (b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
countTrailingZeros :: ImageCompressionFixedRateFlagBitsEXT -> Int
$ccountTrailingZeros :: ImageCompressionFixedRateFlagBitsEXT -> Int
countLeadingZeros :: ImageCompressionFixedRateFlagBitsEXT -> Int
$ccountLeadingZeros :: ImageCompressionFixedRateFlagBitsEXT -> Int
finiteBitSize :: ImageCompressionFixedRateFlagBitsEXT -> Int
$cfiniteBitSize :: ImageCompressionFixedRateFlagBitsEXT -> Int
FiniteBits)
pattern $bIMAGE_COMPRESSION_FIXED_RATE_NONE_EXT :: ImageCompressionFixedRateFlagBitsEXT
$mIMAGE_COMPRESSION_FIXED_RATE_NONE_EXT :: forall {r}.
ImageCompressionFixedRateFlagBitsEXT
-> (Void# -> r) -> (Void# -> r) -> r
IMAGE_COMPRESSION_FIXED_RATE_NONE_EXT = ImageCompressionFixedRateFlagBitsEXT 0x00000000
pattern $bIMAGE_COMPRESSION_FIXED_RATE_1BPC_BIT_EXT :: ImageCompressionFixedRateFlagBitsEXT
$mIMAGE_COMPRESSION_FIXED_RATE_1BPC_BIT_EXT :: forall {r}.
ImageCompressionFixedRateFlagBitsEXT
-> (Void# -> r) -> (Void# -> r) -> r
IMAGE_COMPRESSION_FIXED_RATE_1BPC_BIT_EXT = ImageCompressionFixedRateFlagBitsEXT 0x00000001
pattern $bIMAGE_COMPRESSION_FIXED_RATE_2BPC_BIT_EXT :: ImageCompressionFixedRateFlagBitsEXT
$mIMAGE_COMPRESSION_FIXED_RATE_2BPC_BIT_EXT :: forall {r}.
ImageCompressionFixedRateFlagBitsEXT
-> (Void# -> r) -> (Void# -> r) -> r
IMAGE_COMPRESSION_FIXED_RATE_2BPC_BIT_EXT = ImageCompressionFixedRateFlagBitsEXT 0x00000002
pattern $bIMAGE_COMPRESSION_FIXED_RATE_3BPC_BIT_EXT :: ImageCompressionFixedRateFlagBitsEXT
$mIMAGE_COMPRESSION_FIXED_RATE_3BPC_BIT_EXT :: forall {r}.
ImageCompressionFixedRateFlagBitsEXT
-> (Void# -> r) -> (Void# -> r) -> r
IMAGE_COMPRESSION_FIXED_RATE_3BPC_BIT_EXT = ImageCompressionFixedRateFlagBitsEXT 0x00000004
pattern $bIMAGE_COMPRESSION_FIXED_RATE_4BPC_BIT_EXT :: ImageCompressionFixedRateFlagBitsEXT
$mIMAGE_COMPRESSION_FIXED_RATE_4BPC_BIT_EXT :: forall {r}.
ImageCompressionFixedRateFlagBitsEXT
-> (Void# -> r) -> (Void# -> r) -> r
IMAGE_COMPRESSION_FIXED_RATE_4BPC_BIT_EXT = ImageCompressionFixedRateFlagBitsEXT 0x00000008
pattern $bIMAGE_COMPRESSION_FIXED_RATE_5BPC_BIT_EXT :: ImageCompressionFixedRateFlagBitsEXT
$mIMAGE_COMPRESSION_FIXED_RATE_5BPC_BIT_EXT :: forall {r}.
ImageCompressionFixedRateFlagBitsEXT
-> (Void# -> r) -> (Void# -> r) -> r
IMAGE_COMPRESSION_FIXED_RATE_5BPC_BIT_EXT = ImageCompressionFixedRateFlagBitsEXT 0x00000010
pattern $bIMAGE_COMPRESSION_FIXED_RATE_6BPC_BIT_EXT :: ImageCompressionFixedRateFlagBitsEXT
$mIMAGE_COMPRESSION_FIXED_RATE_6BPC_BIT_EXT :: forall {r}.
ImageCompressionFixedRateFlagBitsEXT
-> (Void# -> r) -> (Void# -> r) -> r
IMAGE_COMPRESSION_FIXED_RATE_6BPC_BIT_EXT = ImageCompressionFixedRateFlagBitsEXT 0x00000020
pattern $bIMAGE_COMPRESSION_FIXED_RATE_7BPC_BIT_EXT :: ImageCompressionFixedRateFlagBitsEXT
$mIMAGE_COMPRESSION_FIXED_RATE_7BPC_BIT_EXT :: forall {r}.
ImageCompressionFixedRateFlagBitsEXT
-> (Void# -> r) -> (Void# -> r) -> r
IMAGE_COMPRESSION_FIXED_RATE_7BPC_BIT_EXT = ImageCompressionFixedRateFlagBitsEXT 0x00000040
pattern $bIMAGE_COMPRESSION_FIXED_RATE_8BPC_BIT_EXT :: ImageCompressionFixedRateFlagBitsEXT
$mIMAGE_COMPRESSION_FIXED_RATE_8BPC_BIT_EXT :: forall {r}.
ImageCompressionFixedRateFlagBitsEXT
-> (Void# -> r) -> (Void# -> r) -> r
IMAGE_COMPRESSION_FIXED_RATE_8BPC_BIT_EXT = ImageCompressionFixedRateFlagBitsEXT 0x00000080
pattern $bIMAGE_COMPRESSION_FIXED_RATE_9BPC_BIT_EXT :: ImageCompressionFixedRateFlagBitsEXT
$mIMAGE_COMPRESSION_FIXED_RATE_9BPC_BIT_EXT :: forall {r}.
ImageCompressionFixedRateFlagBitsEXT
-> (Void# -> r) -> (Void# -> r) -> r
IMAGE_COMPRESSION_FIXED_RATE_9BPC_BIT_EXT = ImageCompressionFixedRateFlagBitsEXT 0x00000100
pattern $bIMAGE_COMPRESSION_FIXED_RATE_10BPC_BIT_EXT :: ImageCompressionFixedRateFlagBitsEXT
$mIMAGE_COMPRESSION_FIXED_RATE_10BPC_BIT_EXT :: forall {r}.
ImageCompressionFixedRateFlagBitsEXT
-> (Void# -> r) -> (Void# -> r) -> r
IMAGE_COMPRESSION_FIXED_RATE_10BPC_BIT_EXT = ImageCompressionFixedRateFlagBitsEXT 0x00000200
pattern $bIMAGE_COMPRESSION_FIXED_RATE_11BPC_BIT_EXT :: ImageCompressionFixedRateFlagBitsEXT
$mIMAGE_COMPRESSION_FIXED_RATE_11BPC_BIT_EXT :: forall {r}.
ImageCompressionFixedRateFlagBitsEXT
-> (Void# -> r) -> (Void# -> r) -> r
IMAGE_COMPRESSION_FIXED_RATE_11BPC_BIT_EXT = ImageCompressionFixedRateFlagBitsEXT 0x00000400
pattern $bIMAGE_COMPRESSION_FIXED_RATE_12BPC_BIT_EXT :: ImageCompressionFixedRateFlagBitsEXT
$mIMAGE_COMPRESSION_FIXED_RATE_12BPC_BIT_EXT :: forall {r}.
ImageCompressionFixedRateFlagBitsEXT
-> (Void# -> r) -> (Void# -> r) -> r
IMAGE_COMPRESSION_FIXED_RATE_12BPC_BIT_EXT = ImageCompressionFixedRateFlagBitsEXT 0x00000800
pattern $bIMAGE_COMPRESSION_FIXED_RATE_13BPC_BIT_EXT :: ImageCompressionFixedRateFlagBitsEXT
$mIMAGE_COMPRESSION_FIXED_RATE_13BPC_BIT_EXT :: forall {r}.
ImageCompressionFixedRateFlagBitsEXT
-> (Void# -> r) -> (Void# -> r) -> r
IMAGE_COMPRESSION_FIXED_RATE_13BPC_BIT_EXT = ImageCompressionFixedRateFlagBitsEXT 0x00001000
pattern $bIMAGE_COMPRESSION_FIXED_RATE_14BPC_BIT_EXT :: ImageCompressionFixedRateFlagBitsEXT
$mIMAGE_COMPRESSION_FIXED_RATE_14BPC_BIT_EXT :: forall {r}.
ImageCompressionFixedRateFlagBitsEXT
-> (Void# -> r) -> (Void# -> r) -> r
IMAGE_COMPRESSION_FIXED_RATE_14BPC_BIT_EXT = ImageCompressionFixedRateFlagBitsEXT 0x00002000
pattern $bIMAGE_COMPRESSION_FIXED_RATE_15BPC_BIT_EXT :: ImageCompressionFixedRateFlagBitsEXT
$mIMAGE_COMPRESSION_FIXED_RATE_15BPC_BIT_EXT :: forall {r}.
ImageCompressionFixedRateFlagBitsEXT
-> (Void# -> r) -> (Void# -> r) -> r
IMAGE_COMPRESSION_FIXED_RATE_15BPC_BIT_EXT = ImageCompressionFixedRateFlagBitsEXT 0x00004000
pattern $bIMAGE_COMPRESSION_FIXED_RATE_16BPC_BIT_EXT :: ImageCompressionFixedRateFlagBitsEXT
$mIMAGE_COMPRESSION_FIXED_RATE_16BPC_BIT_EXT :: forall {r}.
ImageCompressionFixedRateFlagBitsEXT
-> (Void# -> r) -> (Void# -> r) -> r
IMAGE_COMPRESSION_FIXED_RATE_16BPC_BIT_EXT = ImageCompressionFixedRateFlagBitsEXT 0x00008000
pattern $bIMAGE_COMPRESSION_FIXED_RATE_17BPC_BIT_EXT :: ImageCompressionFixedRateFlagBitsEXT
$mIMAGE_COMPRESSION_FIXED_RATE_17BPC_BIT_EXT :: forall {r}.
ImageCompressionFixedRateFlagBitsEXT
-> (Void# -> r) -> (Void# -> r) -> r
IMAGE_COMPRESSION_FIXED_RATE_17BPC_BIT_EXT = ImageCompressionFixedRateFlagBitsEXT 0x00010000
pattern $bIMAGE_COMPRESSION_FIXED_RATE_18BPC_BIT_EXT :: ImageCompressionFixedRateFlagBitsEXT
$mIMAGE_COMPRESSION_FIXED_RATE_18BPC_BIT_EXT :: forall {r}.
ImageCompressionFixedRateFlagBitsEXT
-> (Void# -> r) -> (Void# -> r) -> r
IMAGE_COMPRESSION_FIXED_RATE_18BPC_BIT_EXT = ImageCompressionFixedRateFlagBitsEXT 0x00020000
pattern $bIMAGE_COMPRESSION_FIXED_RATE_19BPC_BIT_EXT :: ImageCompressionFixedRateFlagBitsEXT
$mIMAGE_COMPRESSION_FIXED_RATE_19BPC_BIT_EXT :: forall {r}.
ImageCompressionFixedRateFlagBitsEXT
-> (Void# -> r) -> (Void# -> r) -> r
IMAGE_COMPRESSION_FIXED_RATE_19BPC_BIT_EXT = ImageCompressionFixedRateFlagBitsEXT 0x00040000
pattern $bIMAGE_COMPRESSION_FIXED_RATE_20BPC_BIT_EXT :: ImageCompressionFixedRateFlagBitsEXT
$mIMAGE_COMPRESSION_FIXED_RATE_20BPC_BIT_EXT :: forall {r}.
ImageCompressionFixedRateFlagBitsEXT
-> (Void# -> r) -> (Void# -> r) -> r
IMAGE_COMPRESSION_FIXED_RATE_20BPC_BIT_EXT = ImageCompressionFixedRateFlagBitsEXT 0x00080000
pattern $bIMAGE_COMPRESSION_FIXED_RATE_21BPC_BIT_EXT :: ImageCompressionFixedRateFlagBitsEXT
$mIMAGE_COMPRESSION_FIXED_RATE_21BPC_BIT_EXT :: forall {r}.
ImageCompressionFixedRateFlagBitsEXT
-> (Void# -> r) -> (Void# -> r) -> r
IMAGE_COMPRESSION_FIXED_RATE_21BPC_BIT_EXT = ImageCompressionFixedRateFlagBitsEXT 0x00100000
pattern $bIMAGE_COMPRESSION_FIXED_RATE_22BPC_BIT_EXT :: ImageCompressionFixedRateFlagBitsEXT
$mIMAGE_COMPRESSION_FIXED_RATE_22BPC_BIT_EXT :: forall {r}.
ImageCompressionFixedRateFlagBitsEXT
-> (Void# -> r) -> (Void# -> r) -> r
IMAGE_COMPRESSION_FIXED_RATE_22BPC_BIT_EXT = ImageCompressionFixedRateFlagBitsEXT 0x00200000
pattern $bIMAGE_COMPRESSION_FIXED_RATE_23BPC_BIT_EXT :: ImageCompressionFixedRateFlagBitsEXT
$mIMAGE_COMPRESSION_FIXED_RATE_23BPC_BIT_EXT :: forall {r}.
ImageCompressionFixedRateFlagBitsEXT
-> (Void# -> r) -> (Void# -> r) -> r
IMAGE_COMPRESSION_FIXED_RATE_23BPC_BIT_EXT = ImageCompressionFixedRateFlagBitsEXT 0x00400000
pattern $bIMAGE_COMPRESSION_FIXED_RATE_24BPC_BIT_EXT :: ImageCompressionFixedRateFlagBitsEXT
$mIMAGE_COMPRESSION_FIXED_RATE_24BPC_BIT_EXT :: forall {r}.
ImageCompressionFixedRateFlagBitsEXT
-> (Void# -> r) -> (Void# -> r) -> r
IMAGE_COMPRESSION_FIXED_RATE_24BPC_BIT_EXT = ImageCompressionFixedRateFlagBitsEXT 0x00800000
conNameImageCompressionFixedRateFlagBitsEXT :: String
conNameImageCompressionFixedRateFlagBitsEXT :: String
conNameImageCompressionFixedRateFlagBitsEXT = String
"ImageCompressionFixedRateFlagBitsEXT"
enumPrefixImageCompressionFixedRateFlagBitsEXT :: String
enumPrefixImageCompressionFixedRateFlagBitsEXT :: String
enumPrefixImageCompressionFixedRateFlagBitsEXT = String
"IMAGE_COMPRESSION_FIXED_RATE_"
showTableImageCompressionFixedRateFlagBitsEXT :: [(ImageCompressionFixedRateFlagBitsEXT, String)]
showTableImageCompressionFixedRateFlagBitsEXT :: [(ImageCompressionFixedRateFlagBitsEXT, String)]
showTableImageCompressionFixedRateFlagBitsEXT =
[
( ImageCompressionFixedRateFlagBitsEXT
IMAGE_COMPRESSION_FIXED_RATE_NONE_EXT
, String
"NONE_EXT"
)
,
( ImageCompressionFixedRateFlagBitsEXT
IMAGE_COMPRESSION_FIXED_RATE_1BPC_BIT_EXT
, String
"1BPC_BIT_EXT"
)
,
( ImageCompressionFixedRateFlagBitsEXT
IMAGE_COMPRESSION_FIXED_RATE_2BPC_BIT_EXT
, String
"2BPC_BIT_EXT"
)
,
( ImageCompressionFixedRateFlagBitsEXT
IMAGE_COMPRESSION_FIXED_RATE_3BPC_BIT_EXT
, String
"3BPC_BIT_EXT"
)
,
( ImageCompressionFixedRateFlagBitsEXT
IMAGE_COMPRESSION_FIXED_RATE_4BPC_BIT_EXT
, String
"4BPC_BIT_EXT"
)
,
( ImageCompressionFixedRateFlagBitsEXT
IMAGE_COMPRESSION_FIXED_RATE_5BPC_BIT_EXT
, String
"5BPC_BIT_EXT"
)
,
( ImageCompressionFixedRateFlagBitsEXT
IMAGE_COMPRESSION_FIXED_RATE_6BPC_BIT_EXT
, String
"6BPC_BIT_EXT"
)
,
( ImageCompressionFixedRateFlagBitsEXT
IMAGE_COMPRESSION_FIXED_RATE_7BPC_BIT_EXT
, String
"7BPC_BIT_EXT"
)
,
( ImageCompressionFixedRateFlagBitsEXT
IMAGE_COMPRESSION_FIXED_RATE_8BPC_BIT_EXT
, String
"8BPC_BIT_EXT"
)
,
( ImageCompressionFixedRateFlagBitsEXT
IMAGE_COMPRESSION_FIXED_RATE_9BPC_BIT_EXT
, String
"9BPC_BIT_EXT"
)
,
( ImageCompressionFixedRateFlagBitsEXT
IMAGE_COMPRESSION_FIXED_RATE_10BPC_BIT_EXT
, String
"10BPC_BIT_EXT"
)
,
( ImageCompressionFixedRateFlagBitsEXT
IMAGE_COMPRESSION_FIXED_RATE_11BPC_BIT_EXT
, String
"11BPC_BIT_EXT"
)
,
( ImageCompressionFixedRateFlagBitsEXT
IMAGE_COMPRESSION_FIXED_RATE_12BPC_BIT_EXT
, String
"12BPC_BIT_EXT"
)
,
( ImageCompressionFixedRateFlagBitsEXT
IMAGE_COMPRESSION_FIXED_RATE_13BPC_BIT_EXT
, String
"13BPC_BIT_EXT"
)
,
( ImageCompressionFixedRateFlagBitsEXT
IMAGE_COMPRESSION_FIXED_RATE_14BPC_BIT_EXT
, String
"14BPC_BIT_EXT"
)
,
( ImageCompressionFixedRateFlagBitsEXT
IMAGE_COMPRESSION_FIXED_RATE_15BPC_BIT_EXT
, String
"15BPC_BIT_EXT"
)
,
( ImageCompressionFixedRateFlagBitsEXT
IMAGE_COMPRESSION_FIXED_RATE_16BPC_BIT_EXT
, String
"16BPC_BIT_EXT"
)
,
( ImageCompressionFixedRateFlagBitsEXT
IMAGE_COMPRESSION_FIXED_RATE_17BPC_BIT_EXT
, String
"17BPC_BIT_EXT"
)
,
( ImageCompressionFixedRateFlagBitsEXT
IMAGE_COMPRESSION_FIXED_RATE_18BPC_BIT_EXT
, String
"18BPC_BIT_EXT"
)
,
( ImageCompressionFixedRateFlagBitsEXT
IMAGE_COMPRESSION_FIXED_RATE_19BPC_BIT_EXT
, String
"19BPC_BIT_EXT"
)
,
( ImageCompressionFixedRateFlagBitsEXT
IMAGE_COMPRESSION_FIXED_RATE_20BPC_BIT_EXT
, String
"20BPC_BIT_EXT"
)
,
( ImageCompressionFixedRateFlagBitsEXT
IMAGE_COMPRESSION_FIXED_RATE_21BPC_BIT_EXT
, String
"21BPC_BIT_EXT"
)
,
( ImageCompressionFixedRateFlagBitsEXT
IMAGE_COMPRESSION_FIXED_RATE_22BPC_BIT_EXT
, String
"22BPC_BIT_EXT"
)
,
( ImageCompressionFixedRateFlagBitsEXT
IMAGE_COMPRESSION_FIXED_RATE_23BPC_BIT_EXT
, String
"23BPC_BIT_EXT"
)
,
( ImageCompressionFixedRateFlagBitsEXT
IMAGE_COMPRESSION_FIXED_RATE_24BPC_BIT_EXT
, String
"24BPC_BIT_EXT"
)
]
instance Show ImageCompressionFixedRateFlagBitsEXT where
showsPrec :: Int -> ImageCompressionFixedRateFlagBitsEXT -> ShowS
showsPrec =
String
-> [(ImageCompressionFixedRateFlagBitsEXT, String)]
-> String
-> (ImageCompressionFixedRateFlagBitsEXT -> Flags)
-> (Flags -> ShowS)
-> Int
-> ImageCompressionFixedRateFlagBitsEXT
-> ShowS
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec
String
enumPrefixImageCompressionFixedRateFlagBitsEXT
[(ImageCompressionFixedRateFlagBitsEXT, String)]
showTableImageCompressionFixedRateFlagBitsEXT
String
conNameImageCompressionFixedRateFlagBitsEXT
(\(ImageCompressionFixedRateFlagBitsEXT 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, Show a) => a -> ShowS
showHex Flags
x)
instance Read ImageCompressionFixedRateFlagBitsEXT where
readPrec :: ReadPrec ImageCompressionFixedRateFlagBitsEXT
readPrec =
String
-> [(ImageCompressionFixedRateFlagBitsEXT, String)]
-> String
-> (Flags -> ImageCompressionFixedRateFlagBitsEXT)
-> ReadPrec ImageCompressionFixedRateFlagBitsEXT
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec
String
enumPrefixImageCompressionFixedRateFlagBitsEXT
[(ImageCompressionFixedRateFlagBitsEXT, String)]
showTableImageCompressionFixedRateFlagBitsEXT
String
conNameImageCompressionFixedRateFlagBitsEXT
Flags -> ImageCompressionFixedRateFlagBitsEXT
ImageCompressionFixedRateFlagBitsEXT
type EXT_IMAGE_COMPRESSION_CONTROL_SPEC_VERSION = 1
pattern EXT_IMAGE_COMPRESSION_CONTROL_SPEC_VERSION :: forall a . Integral a => a
pattern $bEXT_IMAGE_COMPRESSION_CONTROL_SPEC_VERSION :: forall a. Integral a => a
$mEXT_IMAGE_COMPRESSION_CONTROL_SPEC_VERSION :: forall {r} {a}.
Integral a =>
a -> (Void# -> r) -> (Void# -> r) -> r
EXT_IMAGE_COMPRESSION_CONTROL_SPEC_VERSION = 1
type EXT_IMAGE_COMPRESSION_CONTROL_EXTENSION_NAME = "VK_EXT_image_compression_control"
pattern EXT_IMAGE_COMPRESSION_CONTROL_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
pattern $bEXT_IMAGE_COMPRESSION_CONTROL_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
$mEXT_IMAGE_COMPRESSION_CONTROL_EXTENSION_NAME :: forall {r} {a}.
(Eq a, IsString a) =>
a -> (Void# -> r) -> (Void# -> r) -> r
EXT_IMAGE_COMPRESSION_CONTROL_EXTENSION_NAME = "VK_EXT_image_compression_control"