{-# language CPP #-}
module Vulkan.Extensions.VK_FUCHSIA_buffer_collection ( createBufferCollectionFUCHSIA
, withBufferCollectionFUCHSIA
, setBufferCollectionBufferConstraintsFUCHSIA
, setBufferCollectionImageConstraintsFUCHSIA
, destroyBufferCollectionFUCHSIA
, getBufferCollectionPropertiesFUCHSIA
, ImportMemoryBufferCollectionFUCHSIA(..)
, BufferCollectionImageCreateInfoFUCHSIA(..)
, BufferCollectionBufferCreateInfoFUCHSIA(..)
, BufferCollectionCreateInfoFUCHSIA(..)
, BufferCollectionPropertiesFUCHSIA(..)
, BufferConstraintsInfoFUCHSIA(..)
, SysmemColorSpaceFUCHSIA(..)
, ImageFormatConstraintsInfoFUCHSIA(..)
, ImageConstraintsInfoFUCHSIA(..)
, BufferCollectionConstraintsInfoFUCHSIA(..)
, ImageFormatConstraintsFlagsFUCHSIA(..)
, ImageConstraintsInfoFlagsFUCHSIA
, ImageConstraintsInfoFlagBitsFUCHSIA( IMAGE_CONSTRAINTS_INFO_CPU_READ_RARELY_FUCHSIA
, IMAGE_CONSTRAINTS_INFO_CPU_READ_OFTEN_FUCHSIA
, IMAGE_CONSTRAINTS_INFO_CPU_WRITE_RARELY_FUCHSIA
, IMAGE_CONSTRAINTS_INFO_CPU_WRITE_OFTEN_FUCHSIA
, IMAGE_CONSTRAINTS_INFO_PROTECTED_OPTIONAL_FUCHSIA
, ..
)
, FUCHSIA_BUFFER_COLLECTION_SPEC_VERSION
, pattern FUCHSIA_BUFFER_COLLECTION_SPEC_VERSION
, FUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME
, pattern FUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME
, BufferCollectionFUCHSIA(..)
, DebugReportObjectTypeEXT(..)
, Zx_handle_t
) where
import Vulkan.Internal.Utils (enumReadPrec)
import Vulkan.Internal.Utils (enumShowsPrec)
import Vulkan.Internal.Utils (traceAroundEvent)
import Control.Exception.Base (bracket)
import Control.Monad (unless)
import Control.Monad.IO.Class (liftIO)
import Foreign.Marshal.Alloc (allocaBytes)
import Foreign.Marshal.Alloc (callocBytes)
import Foreign.Marshal.Alloc (free)
import GHC.Base (when)
import GHC.IO (throwIO)
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 Data.Vector (generateM)
import qualified Data.Vector (imapM_)
import qualified Data.Vector (length)
import Vulkan.CStruct (FromCStruct)
import Vulkan.CStruct (FromCStruct(..))
import Vulkan.CStruct (ToCStruct)
import Vulkan.CStruct (ToCStruct(..))
import Vulkan.Zero (Zero)
import Vulkan.Zero (Zero(..))
import Control.Monad.IO.Class (MonadIO)
import Data.Bits (Bits)
import Data.Bits (FiniteBits)
import Data.String (IsString)
import Data.Typeable (Typeable)
import Foreign.Storable (Storable)
import Foreign.Storable (Storable(peek))
import Foreign.Storable (Storable(poke))
import qualified Foreign.Storable (Storable(..))
import GHC.Generics (Generic)
import GHC.IO.Exception (IOErrorType(..))
import GHC.IO.Exception (IOException(..))
import Foreign.Ptr (FunPtr)
import Foreign.Ptr (Ptr)
import GHC.Read (Read(readPrec))
import GHC.Show (Show(showsPrec))
import Data.Word (Word32)
import Data.Word (Word64)
import Data.Kind (Type)
import Control.Monad.Trans.Cont (ContT(..))
import Data.Vector (Vector)
import Vulkan.CStruct.Utils (advancePtrBytes)
import Vulkan.CStruct.Extends (forgetExtensions)
import Vulkan.CStruct.Extends (peekSomeCStruct)
import Vulkan.CStruct.Extends (pokeSomeCStruct)
import Vulkan.NamedType ((:::))
import Vulkan.Core10.AllocationCallbacks (AllocationCallbacks)
import Vulkan.Extensions.Handles (BufferCollectionFUCHSIA)
import Vulkan.Extensions.Handles (BufferCollectionFUCHSIA(..))
import Vulkan.Core10.Buffer (BufferCreateInfo)
import Vulkan.Core11.Enums.ChromaLocation (ChromaLocation)
import Vulkan.Core10.ImageView (ComponentMapping)
import Vulkan.Core10.Handles (Device)
import Vulkan.Core10.Handles (Device(..))
import Vulkan.Core10.Handles (Device(Device))
import Vulkan.Dynamic (DeviceCmds(pVkCreateBufferCollectionFUCHSIA))
import Vulkan.Dynamic (DeviceCmds(pVkDestroyBufferCollectionFUCHSIA))
import Vulkan.Dynamic (DeviceCmds(pVkGetBufferCollectionPropertiesFUCHSIA))
import Vulkan.Dynamic (DeviceCmds(pVkSetBufferCollectionBufferConstraintsFUCHSIA))
import Vulkan.Dynamic (DeviceCmds(pVkSetBufferCollectionImageConstraintsFUCHSIA))
import Vulkan.Core10.Handles (Device_T)
import Vulkan.Core10.FundamentalTypes (Flags)
import Vulkan.Core10.Enums.FormatFeatureFlagBits (FormatFeatureFlags)
import Vulkan.Core10.Image (ImageCreateInfo)
import Vulkan.Core10.Enums.Result (Result)
import Vulkan.Core10.Enums.Result (Result(..))
import Vulkan.Core11.Enums.SamplerYcbcrModelConversion (SamplerYcbcrModelConversion)
import Vulkan.Core11.Enums.SamplerYcbcrRange (SamplerYcbcrRange)
import Vulkan.CStruct.Extends (SomeStruct)
import Vulkan.CStruct.Extends (SomeStruct(..))
import Vulkan.Core10.Enums.StructureType (StructureType)
import Vulkan.Exception (VulkanException(..))
import Vulkan.Extensions.VK_FUCHSIA_imagepipe_surface (Zx_handle_t)
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA))
import Vulkan.Core10.Enums.Result (Result(SUCCESS))
import Vulkan.Extensions.Handles (BufferCollectionFUCHSIA(..))
import Vulkan.Extensions.VK_EXT_debug_report (DebugReportObjectTypeEXT(..))
import Vulkan.Extensions.VK_FUCHSIA_imagepipe_surface (Zx_handle_t)
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
unsafe
#endif
"dynamic" mkVkCreateBufferCollectionFUCHSIA
:: FunPtr (Ptr Device_T -> Ptr BufferCollectionCreateInfoFUCHSIA -> Ptr AllocationCallbacks -> Ptr BufferCollectionFUCHSIA -> IO Result) -> Ptr Device_T -> Ptr BufferCollectionCreateInfoFUCHSIA -> Ptr AllocationCallbacks -> Ptr BufferCollectionFUCHSIA -> IO Result
createBufferCollectionFUCHSIA :: forall io
. (MonadIO io)
=>
Device
->
BufferCollectionCreateInfoFUCHSIA
->
("allocator" ::: Maybe AllocationCallbacks)
-> io (BufferCollectionFUCHSIA)
createBufferCollectionFUCHSIA :: Device
-> BufferCollectionCreateInfoFUCHSIA
-> ("allocator" ::: Maybe AllocationCallbacks)
-> io BufferCollectionFUCHSIA
createBufferCollectionFUCHSIA Device
device BufferCollectionCreateInfoFUCHSIA
createInfo "allocator" ::: Maybe AllocationCallbacks
allocator = IO BufferCollectionFUCHSIA -> io BufferCollectionFUCHSIA
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO BufferCollectionFUCHSIA -> io BufferCollectionFUCHSIA)
-> (ContT BufferCollectionFUCHSIA IO BufferCollectionFUCHSIA
-> IO BufferCollectionFUCHSIA)
-> ContT BufferCollectionFUCHSIA IO BufferCollectionFUCHSIA
-> io BufferCollectionFUCHSIA
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ContT BufferCollectionFUCHSIA IO BufferCollectionFUCHSIA
-> IO BufferCollectionFUCHSIA
forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT (ContT BufferCollectionFUCHSIA IO BufferCollectionFUCHSIA
-> io BufferCollectionFUCHSIA)
-> ContT BufferCollectionFUCHSIA IO BufferCollectionFUCHSIA
-> io BufferCollectionFUCHSIA
forall a b. (a -> b) -> a -> b
$ do
let vkCreateBufferCollectionFUCHSIAPtr :: FunPtr
(Ptr Device_T
-> ("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA)
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> ("pCollection" ::: Ptr BufferCollectionFUCHSIA)
-> IO Result)
vkCreateBufferCollectionFUCHSIAPtr = DeviceCmds
-> FunPtr
(Ptr Device_T
-> ("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA)
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> ("pCollection" ::: Ptr BufferCollectionFUCHSIA)
-> IO Result)
pVkCreateBufferCollectionFUCHSIA (case Device
device of Device{DeviceCmds
$sel:deviceCmds:Device :: Device -> DeviceCmds
deviceCmds :: DeviceCmds
deviceCmds} -> DeviceCmds
deviceCmds)
IO () -> ContT BufferCollectionFUCHSIA IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT BufferCollectionFUCHSIA IO ())
-> IO () -> ContT BufferCollectionFUCHSIA IO ()
forall a b. (a -> b) -> a -> b
$ Bool -> IO () -> IO ()
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless (FunPtr
(Ptr Device_T
-> ("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA)
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> ("pCollection" ::: Ptr BufferCollectionFUCHSIA)
-> IO Result)
vkCreateBufferCollectionFUCHSIAPtr FunPtr
(Ptr Device_T
-> ("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA)
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> ("pCollection" ::: Ptr BufferCollectionFUCHSIA)
-> IO Result)
-> FunPtr
(Ptr Device_T
-> ("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA)
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> ("pCollection" ::: Ptr BufferCollectionFUCHSIA)
-> IO Result)
-> Bool
forall a. Eq a => a -> a -> Bool
/= FunPtr
(Ptr Device_T
-> ("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA)
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> ("pCollection" ::: Ptr BufferCollectionFUCHSIA)
-> IO Result)
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 vkCreateBufferCollectionFUCHSIA is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let vkCreateBufferCollectionFUCHSIA' :: Ptr Device_T
-> ("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA)
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> ("pCollection" ::: Ptr BufferCollectionFUCHSIA)
-> IO Result
vkCreateBufferCollectionFUCHSIA' = FunPtr
(Ptr Device_T
-> ("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA)
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> ("pCollection" ::: Ptr BufferCollectionFUCHSIA)
-> IO Result)
-> Ptr Device_T
-> ("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA)
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> ("pCollection" ::: Ptr BufferCollectionFUCHSIA)
-> IO Result
mkVkCreateBufferCollectionFUCHSIA FunPtr
(Ptr Device_T
-> ("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA)
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> ("pCollection" ::: Ptr BufferCollectionFUCHSIA)
-> IO Result)
vkCreateBufferCollectionFUCHSIAPtr
"pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA
pCreateInfo <- ((("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA)
-> IO BufferCollectionFUCHSIA)
-> IO BufferCollectionFUCHSIA)
-> ContT
BufferCollectionFUCHSIA
IO
("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA)
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA)
-> IO BufferCollectionFUCHSIA)
-> IO BufferCollectionFUCHSIA)
-> ContT
BufferCollectionFUCHSIA
IO
("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA))
-> ((("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA)
-> IO BufferCollectionFUCHSIA)
-> IO BufferCollectionFUCHSIA)
-> ContT
BufferCollectionFUCHSIA
IO
("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA)
forall a b. (a -> b) -> a -> b
$ BufferCollectionCreateInfoFUCHSIA
-> (("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA)
-> IO BufferCollectionFUCHSIA)
-> IO BufferCollectionFUCHSIA
forall a b. ToCStruct a => a -> (Ptr a -> IO b) -> IO b
withCStruct (BufferCollectionCreateInfoFUCHSIA
createInfo)
"pAllocator" ::: Ptr AllocationCallbacks
pAllocator <- case ("allocator" ::: Maybe AllocationCallbacks
allocator) of
"allocator" ::: Maybe AllocationCallbacks
Nothing -> ("pAllocator" ::: Ptr AllocationCallbacks)
-> ContT
BufferCollectionFUCHSIA
IO
("pAllocator" ::: Ptr AllocationCallbacks)
forall (f :: * -> *) a. Applicative f => a -> f a
pure "pAllocator" ::: Ptr AllocationCallbacks
forall a. Ptr a
nullPtr
Just AllocationCallbacks
j -> ((("pAllocator" ::: Ptr AllocationCallbacks)
-> IO BufferCollectionFUCHSIA)
-> IO BufferCollectionFUCHSIA)
-> ContT
BufferCollectionFUCHSIA
IO
("pAllocator" ::: Ptr AllocationCallbacks)
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((("pAllocator" ::: Ptr AllocationCallbacks)
-> IO BufferCollectionFUCHSIA)
-> IO BufferCollectionFUCHSIA)
-> ContT
BufferCollectionFUCHSIA
IO
("pAllocator" ::: Ptr AllocationCallbacks))
-> ((("pAllocator" ::: Ptr AllocationCallbacks)
-> IO BufferCollectionFUCHSIA)
-> IO BufferCollectionFUCHSIA)
-> ContT
BufferCollectionFUCHSIA
IO
("pAllocator" ::: Ptr AllocationCallbacks)
forall a b. (a -> b) -> a -> b
$ AllocationCallbacks
-> (("pAllocator" ::: Ptr AllocationCallbacks)
-> IO BufferCollectionFUCHSIA)
-> IO BufferCollectionFUCHSIA
forall a b. ToCStruct a => a -> (Ptr a -> IO b) -> IO b
withCStruct (AllocationCallbacks
j)
"pCollection" ::: Ptr BufferCollectionFUCHSIA
pPCollection <- ((("pCollection" ::: Ptr BufferCollectionFUCHSIA)
-> IO BufferCollectionFUCHSIA)
-> IO BufferCollectionFUCHSIA)
-> ContT
BufferCollectionFUCHSIA
IO
("pCollection" ::: Ptr BufferCollectionFUCHSIA)
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((("pCollection" ::: Ptr BufferCollectionFUCHSIA)
-> IO BufferCollectionFUCHSIA)
-> IO BufferCollectionFUCHSIA)
-> ContT
BufferCollectionFUCHSIA
IO
("pCollection" ::: Ptr BufferCollectionFUCHSIA))
-> ((("pCollection" ::: Ptr BufferCollectionFUCHSIA)
-> IO BufferCollectionFUCHSIA)
-> IO BufferCollectionFUCHSIA)
-> ContT
BufferCollectionFUCHSIA
IO
("pCollection" ::: Ptr BufferCollectionFUCHSIA)
forall a b. (a -> b) -> a -> b
$ IO ("pCollection" ::: Ptr BufferCollectionFUCHSIA)
-> (("pCollection" ::: Ptr BufferCollectionFUCHSIA) -> IO ())
-> (("pCollection" ::: Ptr BufferCollectionFUCHSIA)
-> IO BufferCollectionFUCHSIA)
-> IO BufferCollectionFUCHSIA
forall a b c. IO a -> (a -> IO b) -> (a -> IO c) -> IO c
bracket (Int -> IO ("pCollection" ::: Ptr BufferCollectionFUCHSIA)
forall a. Int -> IO (Ptr a)
callocBytes @BufferCollectionFUCHSIA Int
8) ("pCollection" ::: Ptr BufferCollectionFUCHSIA) -> IO ()
forall a. Ptr a -> IO ()
free
Result
r <- IO Result -> ContT BufferCollectionFUCHSIA IO Result
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO Result -> ContT BufferCollectionFUCHSIA IO Result)
-> IO Result -> ContT BufferCollectionFUCHSIA IO Result
forall a b. (a -> b) -> a -> b
$ String -> IO Result -> IO Result
forall a. String -> IO a -> IO a
traceAroundEvent String
"vkCreateBufferCollectionFUCHSIA" (Ptr Device_T
-> ("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA)
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> ("pCollection" ::: Ptr BufferCollectionFUCHSIA)
-> IO Result
vkCreateBufferCollectionFUCHSIA' (Device -> Ptr Device_T
deviceHandle (Device
device)) "pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA
pCreateInfo "pAllocator" ::: Ptr AllocationCallbacks
pAllocator ("pCollection" ::: Ptr BufferCollectionFUCHSIA
pPCollection))
IO () -> ContT BufferCollectionFUCHSIA IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT BufferCollectionFUCHSIA IO ())
-> IO () -> ContT BufferCollectionFUCHSIA IO ()
forall a b. (a -> b) -> a -> b
$ Bool -> IO () -> IO ()
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
when (Result
r Result -> Result -> Bool
forall a. Ord a => a -> a -> Bool
< Result
SUCCESS) (VulkanException -> IO ()
forall e a. Exception e => e -> IO a
throwIO (Result -> VulkanException
VulkanException Result
r))
BufferCollectionFUCHSIA
pCollection <- IO BufferCollectionFUCHSIA
-> ContT BufferCollectionFUCHSIA IO BufferCollectionFUCHSIA
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO BufferCollectionFUCHSIA
-> ContT BufferCollectionFUCHSIA IO BufferCollectionFUCHSIA)
-> IO BufferCollectionFUCHSIA
-> ContT BufferCollectionFUCHSIA IO BufferCollectionFUCHSIA
forall a b. (a -> b) -> a -> b
$ ("pCollection" ::: Ptr BufferCollectionFUCHSIA)
-> IO BufferCollectionFUCHSIA
forall a. Storable a => Ptr a -> IO a
peek @BufferCollectionFUCHSIA "pCollection" ::: Ptr BufferCollectionFUCHSIA
pPCollection
BufferCollectionFUCHSIA
-> ContT BufferCollectionFUCHSIA IO BufferCollectionFUCHSIA
forall (f :: * -> *) a. Applicative f => a -> f a
pure (BufferCollectionFUCHSIA
-> ContT BufferCollectionFUCHSIA IO BufferCollectionFUCHSIA)
-> BufferCollectionFUCHSIA
-> ContT BufferCollectionFUCHSIA IO BufferCollectionFUCHSIA
forall a b. (a -> b) -> a -> b
$ (BufferCollectionFUCHSIA
pCollection)
withBufferCollectionFUCHSIA :: forall io r . MonadIO io => Device -> BufferCollectionCreateInfoFUCHSIA -> Maybe AllocationCallbacks -> (io BufferCollectionFUCHSIA -> (BufferCollectionFUCHSIA -> io ()) -> r) -> r
withBufferCollectionFUCHSIA :: Device
-> BufferCollectionCreateInfoFUCHSIA
-> ("allocator" ::: Maybe AllocationCallbacks)
-> (io BufferCollectionFUCHSIA
-> (BufferCollectionFUCHSIA -> io ()) -> r)
-> r
withBufferCollectionFUCHSIA Device
device BufferCollectionCreateInfoFUCHSIA
pCreateInfo "allocator" ::: Maybe AllocationCallbacks
pAllocator io BufferCollectionFUCHSIA
-> (BufferCollectionFUCHSIA -> io ()) -> r
b =
io BufferCollectionFUCHSIA
-> (BufferCollectionFUCHSIA -> io ()) -> r
b (Device
-> BufferCollectionCreateInfoFUCHSIA
-> ("allocator" ::: Maybe AllocationCallbacks)
-> io BufferCollectionFUCHSIA
forall (io :: * -> *).
MonadIO io =>
Device
-> BufferCollectionCreateInfoFUCHSIA
-> ("allocator" ::: Maybe AllocationCallbacks)
-> io BufferCollectionFUCHSIA
createBufferCollectionFUCHSIA Device
device BufferCollectionCreateInfoFUCHSIA
pCreateInfo "allocator" ::: Maybe AllocationCallbacks
pAllocator)
(\(BufferCollectionFUCHSIA
o0) -> Device
-> BufferCollectionFUCHSIA
-> ("allocator" ::: Maybe AllocationCallbacks)
-> io ()
forall (io :: * -> *).
MonadIO io =>
Device
-> BufferCollectionFUCHSIA
-> ("allocator" ::: Maybe AllocationCallbacks)
-> io ()
destroyBufferCollectionFUCHSIA Device
device BufferCollectionFUCHSIA
o0 "allocator" ::: Maybe AllocationCallbacks
pAllocator)
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
unsafe
#endif
"dynamic" mkVkSetBufferCollectionBufferConstraintsFUCHSIA
:: FunPtr (Ptr Device_T -> BufferCollectionFUCHSIA -> Ptr BufferConstraintsInfoFUCHSIA -> IO Result) -> Ptr Device_T -> BufferCollectionFUCHSIA -> Ptr BufferConstraintsInfoFUCHSIA -> IO Result
setBufferCollectionBufferConstraintsFUCHSIA :: forall io
. (MonadIO io)
=>
Device
->
BufferCollectionFUCHSIA
->
BufferConstraintsInfoFUCHSIA
-> io ()
setBufferCollectionBufferConstraintsFUCHSIA :: Device
-> BufferCollectionFUCHSIA -> BufferConstraintsInfoFUCHSIA -> io ()
setBufferCollectionBufferConstraintsFUCHSIA Device
device BufferCollectionFUCHSIA
collection BufferConstraintsInfoFUCHSIA
bufferConstraintsInfo = IO () -> io ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> io ())
-> (ContT () IO () -> IO ()) -> ContT () IO () -> io ()
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ContT () IO () -> IO ()
forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT (ContT () IO () -> io ()) -> ContT () IO () -> io ()
forall a b. (a -> b) -> a -> b
$ do
let vkSetBufferCollectionBufferConstraintsFUCHSIAPtr :: FunPtr
(Ptr Device_T
-> BufferCollectionFUCHSIA
-> ("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA)
-> IO Result)
vkSetBufferCollectionBufferConstraintsFUCHSIAPtr = DeviceCmds
-> FunPtr
(Ptr Device_T
-> BufferCollectionFUCHSIA
-> ("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA)
-> IO Result)
pVkSetBufferCollectionBufferConstraintsFUCHSIA (case Device
device of Device{DeviceCmds
deviceCmds :: DeviceCmds
$sel:deviceCmds:Device :: Device -> DeviceCmds
deviceCmds} -> DeviceCmds
deviceCmds)
IO () -> ContT () IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT () IO ()) -> IO () -> ContT () IO ()
forall a b. (a -> b) -> a -> b
$ Bool -> IO () -> IO ()
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless (FunPtr
(Ptr Device_T
-> BufferCollectionFUCHSIA
-> ("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA)
-> IO Result)
vkSetBufferCollectionBufferConstraintsFUCHSIAPtr FunPtr
(Ptr Device_T
-> BufferCollectionFUCHSIA
-> ("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA)
-> IO Result)
-> FunPtr
(Ptr Device_T
-> BufferCollectionFUCHSIA
-> ("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA)
-> IO Result)
-> Bool
forall a. Eq a => a -> a -> Bool
/= FunPtr
(Ptr Device_T
-> BufferCollectionFUCHSIA
-> ("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA)
-> IO Result)
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 vkSetBufferCollectionBufferConstraintsFUCHSIA is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let vkSetBufferCollectionBufferConstraintsFUCHSIA' :: Ptr Device_T
-> BufferCollectionFUCHSIA
-> ("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA)
-> IO Result
vkSetBufferCollectionBufferConstraintsFUCHSIA' = FunPtr
(Ptr Device_T
-> BufferCollectionFUCHSIA
-> ("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA)
-> IO Result)
-> Ptr Device_T
-> BufferCollectionFUCHSIA
-> ("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA)
-> IO Result
mkVkSetBufferCollectionBufferConstraintsFUCHSIA FunPtr
(Ptr Device_T
-> BufferCollectionFUCHSIA
-> ("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA)
-> IO Result)
vkSetBufferCollectionBufferConstraintsFUCHSIAPtr
"pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA
pBufferConstraintsInfo <- ((("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA)
-> IO ())
-> IO ())
-> ContT
()
IO
("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA)
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA)
-> IO ())
-> IO ())
-> ContT
()
IO
("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA))
-> ((("pBufferConstraintsInfo"
::: Ptr BufferConstraintsInfoFUCHSIA)
-> IO ())
-> IO ())
-> ContT
()
IO
("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA)
forall a b. (a -> b) -> a -> b
$ BufferConstraintsInfoFUCHSIA
-> (("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA)
-> IO ())
-> IO ()
forall a b. ToCStruct a => a -> (Ptr a -> IO b) -> IO b
withCStruct (BufferConstraintsInfoFUCHSIA
bufferConstraintsInfo)
Result
r <- IO Result -> ContT () IO Result
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO Result -> ContT () IO Result)
-> IO Result -> ContT () IO Result
forall a b. (a -> b) -> a -> b
$ String -> IO Result -> IO Result
forall a. String -> IO a -> IO a
traceAroundEvent String
"vkSetBufferCollectionBufferConstraintsFUCHSIA" (Ptr Device_T
-> BufferCollectionFUCHSIA
-> ("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA)
-> IO Result
vkSetBufferCollectionBufferConstraintsFUCHSIA' (Device -> Ptr Device_T
deviceHandle (Device
device)) (BufferCollectionFUCHSIA
collection) "pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA
pBufferConstraintsInfo)
IO () -> ContT () IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT () IO ()) -> IO () -> ContT () IO ()
forall a b. (a -> b) -> a -> b
$ Bool -> IO () -> IO ()
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
when (Result
r Result -> Result -> Bool
forall a. Ord a => a -> a -> Bool
< Result
SUCCESS) (VulkanException -> IO ()
forall e a. Exception e => e -> IO a
throwIO (Result -> VulkanException
VulkanException Result
r))
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
unsafe
#endif
"dynamic" mkVkSetBufferCollectionImageConstraintsFUCHSIA
:: FunPtr (Ptr Device_T -> BufferCollectionFUCHSIA -> Ptr ImageConstraintsInfoFUCHSIA -> IO Result) -> Ptr Device_T -> BufferCollectionFUCHSIA -> Ptr ImageConstraintsInfoFUCHSIA -> IO Result
setBufferCollectionImageConstraintsFUCHSIA :: forall io
. (MonadIO io)
=>
Device
->
BufferCollectionFUCHSIA
->
ImageConstraintsInfoFUCHSIA
-> io ()
setBufferCollectionImageConstraintsFUCHSIA :: Device
-> BufferCollectionFUCHSIA -> ImageConstraintsInfoFUCHSIA -> io ()
setBufferCollectionImageConstraintsFUCHSIA Device
device BufferCollectionFUCHSIA
collection ImageConstraintsInfoFUCHSIA
imageConstraintsInfo = IO () -> io ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> io ())
-> (ContT () IO () -> IO ()) -> ContT () IO () -> io ()
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ContT () IO () -> IO ()
forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT (ContT () IO () -> io ()) -> ContT () IO () -> io ()
forall a b. (a -> b) -> a -> b
$ do
let vkSetBufferCollectionImageConstraintsFUCHSIAPtr :: FunPtr
(Ptr Device_T
-> BufferCollectionFUCHSIA
-> ("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA)
-> IO Result)
vkSetBufferCollectionImageConstraintsFUCHSIAPtr = DeviceCmds
-> FunPtr
(Ptr Device_T
-> BufferCollectionFUCHSIA
-> ("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA)
-> IO Result)
pVkSetBufferCollectionImageConstraintsFUCHSIA (case Device
device of Device{DeviceCmds
deviceCmds :: DeviceCmds
$sel:deviceCmds:Device :: Device -> DeviceCmds
deviceCmds} -> DeviceCmds
deviceCmds)
IO () -> ContT () IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT () IO ()) -> IO () -> ContT () IO ()
forall a b. (a -> b) -> a -> b
$ Bool -> IO () -> IO ()
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless (FunPtr
(Ptr Device_T
-> BufferCollectionFUCHSIA
-> ("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA)
-> IO Result)
vkSetBufferCollectionImageConstraintsFUCHSIAPtr FunPtr
(Ptr Device_T
-> BufferCollectionFUCHSIA
-> ("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA)
-> IO Result)
-> FunPtr
(Ptr Device_T
-> BufferCollectionFUCHSIA
-> ("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA)
-> IO Result)
-> Bool
forall a. Eq a => a -> a -> Bool
/= FunPtr
(Ptr Device_T
-> BufferCollectionFUCHSIA
-> ("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA)
-> IO Result)
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 vkSetBufferCollectionImageConstraintsFUCHSIA is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let vkSetBufferCollectionImageConstraintsFUCHSIA' :: Ptr Device_T
-> BufferCollectionFUCHSIA
-> ("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA)
-> IO Result
vkSetBufferCollectionImageConstraintsFUCHSIA' = FunPtr
(Ptr Device_T
-> BufferCollectionFUCHSIA
-> ("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA)
-> IO Result)
-> Ptr Device_T
-> BufferCollectionFUCHSIA
-> ("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA)
-> IO Result
mkVkSetBufferCollectionImageConstraintsFUCHSIA FunPtr
(Ptr Device_T
-> BufferCollectionFUCHSIA
-> ("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA)
-> IO Result)
vkSetBufferCollectionImageConstraintsFUCHSIAPtr
"pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA
pImageConstraintsInfo <- ((("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA)
-> IO ())
-> IO ())
-> ContT
() IO ("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA)
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA)
-> IO ())
-> IO ())
-> ContT
()
IO
("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA))
-> ((("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA)
-> IO ())
-> IO ())
-> ContT
() IO ("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA)
forall a b. (a -> b) -> a -> b
$ ImageConstraintsInfoFUCHSIA
-> (("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA)
-> IO ())
-> IO ()
forall a b. ToCStruct a => a -> (Ptr a -> IO b) -> IO b
withCStruct (ImageConstraintsInfoFUCHSIA
imageConstraintsInfo)
Result
r <- IO Result -> ContT () IO Result
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO Result -> ContT () IO Result)
-> IO Result -> ContT () IO Result
forall a b. (a -> b) -> a -> b
$ String -> IO Result -> IO Result
forall a. String -> IO a -> IO a
traceAroundEvent String
"vkSetBufferCollectionImageConstraintsFUCHSIA" (Ptr Device_T
-> BufferCollectionFUCHSIA
-> ("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA)
-> IO Result
vkSetBufferCollectionImageConstraintsFUCHSIA' (Device -> Ptr Device_T
deviceHandle (Device
device)) (BufferCollectionFUCHSIA
collection) "pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA
pImageConstraintsInfo)
IO () -> ContT () IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT () IO ()) -> IO () -> ContT () IO ()
forall a b. (a -> b) -> a -> b
$ Bool -> IO () -> IO ()
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
when (Result
r Result -> Result -> Bool
forall a. Ord a => a -> a -> Bool
< Result
SUCCESS) (VulkanException -> IO ()
forall e a. Exception e => e -> IO a
throwIO (Result -> VulkanException
VulkanException Result
r))
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
unsafe
#endif
"dynamic" mkVkDestroyBufferCollectionFUCHSIA
:: FunPtr (Ptr Device_T -> BufferCollectionFUCHSIA -> Ptr AllocationCallbacks -> IO ()) -> Ptr Device_T -> BufferCollectionFUCHSIA -> Ptr AllocationCallbacks -> IO ()
destroyBufferCollectionFUCHSIA :: forall io
. (MonadIO io)
=>
Device
->
BufferCollectionFUCHSIA
->
("allocator" ::: Maybe AllocationCallbacks)
-> io ()
destroyBufferCollectionFUCHSIA :: Device
-> BufferCollectionFUCHSIA
-> ("allocator" ::: Maybe AllocationCallbacks)
-> io ()
destroyBufferCollectionFUCHSIA Device
device BufferCollectionFUCHSIA
collection "allocator" ::: Maybe AllocationCallbacks
allocator = IO () -> io ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> io ())
-> (ContT () IO () -> IO ()) -> ContT () IO () -> io ()
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ContT () IO () -> IO ()
forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT (ContT () IO () -> io ()) -> ContT () IO () -> io ()
forall a b. (a -> b) -> a -> b
$ do
let vkDestroyBufferCollectionFUCHSIAPtr :: FunPtr
(Ptr Device_T
-> BufferCollectionFUCHSIA
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> IO ())
vkDestroyBufferCollectionFUCHSIAPtr = DeviceCmds
-> FunPtr
(Ptr Device_T
-> BufferCollectionFUCHSIA
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> IO ())
pVkDestroyBufferCollectionFUCHSIA (case Device
device of Device{DeviceCmds
deviceCmds :: DeviceCmds
$sel:deviceCmds:Device :: Device -> DeviceCmds
deviceCmds} -> DeviceCmds
deviceCmds)
IO () -> ContT () IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT () IO ()) -> IO () -> ContT () IO ()
forall a b. (a -> b) -> a -> b
$ Bool -> IO () -> IO ()
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless (FunPtr
(Ptr Device_T
-> BufferCollectionFUCHSIA
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> IO ())
vkDestroyBufferCollectionFUCHSIAPtr FunPtr
(Ptr Device_T
-> BufferCollectionFUCHSIA
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> IO ())
-> FunPtr
(Ptr Device_T
-> BufferCollectionFUCHSIA
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> IO ())
-> Bool
forall a. Eq a => a -> a -> Bool
/= FunPtr
(Ptr Device_T
-> BufferCollectionFUCHSIA
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> 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 vkDestroyBufferCollectionFUCHSIA is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let vkDestroyBufferCollectionFUCHSIA' :: Ptr Device_T
-> BufferCollectionFUCHSIA
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> IO ()
vkDestroyBufferCollectionFUCHSIA' = FunPtr
(Ptr Device_T
-> BufferCollectionFUCHSIA
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> IO ())
-> Ptr Device_T
-> BufferCollectionFUCHSIA
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> IO ()
mkVkDestroyBufferCollectionFUCHSIA FunPtr
(Ptr Device_T
-> BufferCollectionFUCHSIA
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> IO ())
vkDestroyBufferCollectionFUCHSIAPtr
"pAllocator" ::: Ptr AllocationCallbacks
pAllocator <- case ("allocator" ::: Maybe AllocationCallbacks
allocator) of
"allocator" ::: Maybe AllocationCallbacks
Nothing -> ("pAllocator" ::: Ptr AllocationCallbacks)
-> ContT () IO ("pAllocator" ::: Ptr AllocationCallbacks)
forall (f :: * -> *) a. Applicative f => a -> f a
pure "pAllocator" ::: Ptr AllocationCallbacks
forall a. Ptr a
nullPtr
Just AllocationCallbacks
j -> ((("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> IO ())
-> ContT () IO ("pAllocator" ::: Ptr AllocationCallbacks)
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> IO ())
-> ContT () IO ("pAllocator" ::: Ptr AllocationCallbacks))
-> ((("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> IO ())
-> ContT () IO ("pAllocator" ::: Ptr AllocationCallbacks)
forall a b. (a -> b) -> a -> b
$ AllocationCallbacks
-> (("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> IO ()
forall a b. ToCStruct a => a -> (Ptr a -> IO b) -> IO b
withCStruct (AllocationCallbacks
j)
IO () -> ContT () IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT () IO ()) -> IO () -> ContT () IO ()
forall a b. (a -> b) -> a -> b
$ String -> IO () -> IO ()
forall a. String -> IO a -> IO a
traceAroundEvent String
"vkDestroyBufferCollectionFUCHSIA" (Ptr Device_T
-> BufferCollectionFUCHSIA
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> IO ()
vkDestroyBufferCollectionFUCHSIA' (Device -> Ptr Device_T
deviceHandle (Device
device)) (BufferCollectionFUCHSIA
collection) "pAllocator" ::: Ptr AllocationCallbacks
pAllocator)
() -> ContT () IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure (() -> ContT () IO ()) -> () -> ContT () IO ()
forall a b. (a -> b) -> a -> b
$ ()
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
unsafe
#endif
"dynamic" mkVkGetBufferCollectionPropertiesFUCHSIA
:: FunPtr (Ptr Device_T -> BufferCollectionFUCHSIA -> Ptr BufferCollectionPropertiesFUCHSIA -> IO Result) -> Ptr Device_T -> BufferCollectionFUCHSIA -> Ptr BufferCollectionPropertiesFUCHSIA -> IO Result
getBufferCollectionPropertiesFUCHSIA :: forall io
. (MonadIO io)
=>
Device
->
BufferCollectionFUCHSIA
-> io (BufferCollectionPropertiesFUCHSIA)
getBufferCollectionPropertiesFUCHSIA :: Device
-> BufferCollectionFUCHSIA -> io BufferCollectionPropertiesFUCHSIA
getBufferCollectionPropertiesFUCHSIA Device
device BufferCollectionFUCHSIA
collection = IO BufferCollectionPropertiesFUCHSIA
-> io BufferCollectionPropertiesFUCHSIA
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO BufferCollectionPropertiesFUCHSIA
-> io BufferCollectionPropertiesFUCHSIA)
-> (ContT
BufferCollectionPropertiesFUCHSIA
IO
BufferCollectionPropertiesFUCHSIA
-> IO BufferCollectionPropertiesFUCHSIA)
-> ContT
BufferCollectionPropertiesFUCHSIA
IO
BufferCollectionPropertiesFUCHSIA
-> io BufferCollectionPropertiesFUCHSIA
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ContT
BufferCollectionPropertiesFUCHSIA
IO
BufferCollectionPropertiesFUCHSIA
-> IO BufferCollectionPropertiesFUCHSIA
forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT (ContT
BufferCollectionPropertiesFUCHSIA
IO
BufferCollectionPropertiesFUCHSIA
-> io BufferCollectionPropertiesFUCHSIA)
-> ContT
BufferCollectionPropertiesFUCHSIA
IO
BufferCollectionPropertiesFUCHSIA
-> io BufferCollectionPropertiesFUCHSIA
forall a b. (a -> b) -> a -> b
$ do
let vkGetBufferCollectionPropertiesFUCHSIAPtr :: FunPtr
(Ptr Device_T
-> BufferCollectionFUCHSIA
-> ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> IO Result)
vkGetBufferCollectionPropertiesFUCHSIAPtr = DeviceCmds
-> FunPtr
(Ptr Device_T
-> BufferCollectionFUCHSIA
-> ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> IO Result)
pVkGetBufferCollectionPropertiesFUCHSIA (case Device
device of Device{DeviceCmds
deviceCmds :: DeviceCmds
$sel:deviceCmds:Device :: Device -> DeviceCmds
deviceCmds} -> DeviceCmds
deviceCmds)
IO () -> ContT BufferCollectionPropertiesFUCHSIA IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT BufferCollectionPropertiesFUCHSIA IO ())
-> IO () -> ContT BufferCollectionPropertiesFUCHSIA IO ()
forall a b. (a -> b) -> a -> b
$ Bool -> IO () -> IO ()
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless (FunPtr
(Ptr Device_T
-> BufferCollectionFUCHSIA
-> ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> IO Result)
vkGetBufferCollectionPropertiesFUCHSIAPtr FunPtr
(Ptr Device_T
-> BufferCollectionFUCHSIA
-> ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> IO Result)
-> FunPtr
(Ptr Device_T
-> BufferCollectionFUCHSIA
-> ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> IO Result)
-> Bool
forall a. Eq a => a -> a -> Bool
/= FunPtr
(Ptr Device_T
-> BufferCollectionFUCHSIA
-> ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> IO Result)
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 vkGetBufferCollectionPropertiesFUCHSIA is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let vkGetBufferCollectionPropertiesFUCHSIA' :: Ptr Device_T
-> BufferCollectionFUCHSIA
-> ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> IO Result
vkGetBufferCollectionPropertiesFUCHSIA' = FunPtr
(Ptr Device_T
-> BufferCollectionFUCHSIA
-> ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> IO Result)
-> Ptr Device_T
-> BufferCollectionFUCHSIA
-> ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> IO Result
mkVkGetBufferCollectionPropertiesFUCHSIA FunPtr
(Ptr Device_T
-> BufferCollectionFUCHSIA
-> ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> IO Result)
vkGetBufferCollectionPropertiesFUCHSIAPtr
"pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA
pPProperties <- ((("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> IO BufferCollectionPropertiesFUCHSIA)
-> IO BufferCollectionPropertiesFUCHSIA)
-> ContT
BufferCollectionPropertiesFUCHSIA
IO
("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (forall b.
ToCStruct BufferCollectionPropertiesFUCHSIA =>
(("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA) -> IO b)
-> IO b
forall a b. ToCStruct a => (Ptr a -> IO b) -> IO b
withZeroCStruct @BufferCollectionPropertiesFUCHSIA)
Result
r <- IO Result -> ContT BufferCollectionPropertiesFUCHSIA IO Result
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO Result -> ContT BufferCollectionPropertiesFUCHSIA IO Result)
-> IO Result -> ContT BufferCollectionPropertiesFUCHSIA IO Result
forall a b. (a -> b) -> a -> b
$ String -> IO Result -> IO Result
forall a. String -> IO a -> IO a
traceAroundEvent String
"vkGetBufferCollectionPropertiesFUCHSIA" (Ptr Device_T
-> BufferCollectionFUCHSIA
-> ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> IO Result
vkGetBufferCollectionPropertiesFUCHSIA' (Device -> Ptr Device_T
deviceHandle (Device
device)) (BufferCollectionFUCHSIA
collection) ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA
pPProperties))
IO () -> ContT BufferCollectionPropertiesFUCHSIA IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT BufferCollectionPropertiesFUCHSIA IO ())
-> IO () -> ContT BufferCollectionPropertiesFUCHSIA IO ()
forall a b. (a -> b) -> a -> b
$ Bool -> IO () -> IO ()
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
when (Result
r Result -> Result -> Bool
forall a. Ord a => a -> a -> Bool
< Result
SUCCESS) (VulkanException -> IO ()
forall e a. Exception e => e -> IO a
throwIO (Result -> VulkanException
VulkanException Result
r))
BufferCollectionPropertiesFUCHSIA
pProperties <- IO BufferCollectionPropertiesFUCHSIA
-> ContT
BufferCollectionPropertiesFUCHSIA
IO
BufferCollectionPropertiesFUCHSIA
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO BufferCollectionPropertiesFUCHSIA
-> ContT
BufferCollectionPropertiesFUCHSIA
IO
BufferCollectionPropertiesFUCHSIA)
-> IO BufferCollectionPropertiesFUCHSIA
-> ContT
BufferCollectionPropertiesFUCHSIA
IO
BufferCollectionPropertiesFUCHSIA
forall a b. (a -> b) -> a -> b
$ ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> IO BufferCollectionPropertiesFUCHSIA
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct @BufferCollectionPropertiesFUCHSIA "pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA
pPProperties
BufferCollectionPropertiesFUCHSIA
-> ContT
BufferCollectionPropertiesFUCHSIA
IO
BufferCollectionPropertiesFUCHSIA
forall (f :: * -> *) a. Applicative f => a -> f a
pure (BufferCollectionPropertiesFUCHSIA
-> ContT
BufferCollectionPropertiesFUCHSIA
IO
BufferCollectionPropertiesFUCHSIA)
-> BufferCollectionPropertiesFUCHSIA
-> ContT
BufferCollectionPropertiesFUCHSIA
IO
BufferCollectionPropertiesFUCHSIA
forall a b. (a -> b) -> a -> b
$ (BufferCollectionPropertiesFUCHSIA
pProperties)
data ImportMemoryBufferCollectionFUCHSIA = ImportMemoryBufferCollectionFUCHSIA
{
ImportMemoryBufferCollectionFUCHSIA -> BufferCollectionFUCHSIA
collection :: BufferCollectionFUCHSIA
,
ImportMemoryBufferCollectionFUCHSIA -> Word32
index :: Word32
}
deriving (Typeable, ImportMemoryBufferCollectionFUCHSIA
-> ImportMemoryBufferCollectionFUCHSIA -> Bool
(ImportMemoryBufferCollectionFUCHSIA
-> ImportMemoryBufferCollectionFUCHSIA -> Bool)
-> (ImportMemoryBufferCollectionFUCHSIA
-> ImportMemoryBufferCollectionFUCHSIA -> Bool)
-> Eq ImportMemoryBufferCollectionFUCHSIA
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ImportMemoryBufferCollectionFUCHSIA
-> ImportMemoryBufferCollectionFUCHSIA -> Bool
$c/= :: ImportMemoryBufferCollectionFUCHSIA
-> ImportMemoryBufferCollectionFUCHSIA -> Bool
== :: ImportMemoryBufferCollectionFUCHSIA
-> ImportMemoryBufferCollectionFUCHSIA -> Bool
$c== :: ImportMemoryBufferCollectionFUCHSIA
-> ImportMemoryBufferCollectionFUCHSIA -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (ImportMemoryBufferCollectionFUCHSIA)
#endif
deriving instance Show ImportMemoryBufferCollectionFUCHSIA
instance ToCStruct ImportMemoryBufferCollectionFUCHSIA where
withCStruct :: ImportMemoryBufferCollectionFUCHSIA
-> (Ptr ImportMemoryBufferCollectionFUCHSIA -> IO b) -> IO b
withCStruct ImportMemoryBufferCollectionFUCHSIA
x Ptr ImportMemoryBufferCollectionFUCHSIA -> IO b
f = Int -> (Ptr ImportMemoryBufferCollectionFUCHSIA -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
32 ((Ptr ImportMemoryBufferCollectionFUCHSIA -> IO b) -> IO b)
-> (Ptr ImportMemoryBufferCollectionFUCHSIA -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr ImportMemoryBufferCollectionFUCHSIA
p -> Ptr ImportMemoryBufferCollectionFUCHSIA
-> ImportMemoryBufferCollectionFUCHSIA -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr ImportMemoryBufferCollectionFUCHSIA
p ImportMemoryBufferCollectionFUCHSIA
x (Ptr ImportMemoryBufferCollectionFUCHSIA -> IO b
f Ptr ImportMemoryBufferCollectionFUCHSIA
p)
pokeCStruct :: Ptr ImportMemoryBufferCollectionFUCHSIA
-> ImportMemoryBufferCollectionFUCHSIA -> IO b -> IO b
pokeCStruct Ptr ImportMemoryBufferCollectionFUCHSIA
p ImportMemoryBufferCollectionFUCHSIA{Word32
BufferCollectionFUCHSIA
index :: Word32
collection :: BufferCollectionFUCHSIA
$sel:index:ImportMemoryBufferCollectionFUCHSIA :: ImportMemoryBufferCollectionFUCHSIA -> Word32
$sel:collection:ImportMemoryBufferCollectionFUCHSIA :: ImportMemoryBufferCollectionFUCHSIA -> BufferCollectionFUCHSIA
..} IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr ImportMemoryBufferCollectionFUCHSIA
p Ptr ImportMemoryBufferCollectionFUCHSIA -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr ImportMemoryBufferCollectionFUCHSIA
p Ptr ImportMemoryBufferCollectionFUCHSIA -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
("pCollection" ::: Ptr BufferCollectionFUCHSIA)
-> BufferCollectionFUCHSIA -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr ImportMemoryBufferCollectionFUCHSIA
p Ptr ImportMemoryBufferCollectionFUCHSIA
-> Int -> "pCollection" ::: Ptr BufferCollectionFUCHSIA
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr BufferCollectionFUCHSIA)) (BufferCollectionFUCHSIA
collection)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr ImportMemoryBufferCollectionFUCHSIA
p Ptr ImportMemoryBufferCollectionFUCHSIA -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr Word32)) (Word32
index)
IO b
f
cStructSize :: Int
cStructSize = Int
32
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: Ptr ImportMemoryBufferCollectionFUCHSIA -> IO b -> IO b
pokeZeroCStruct Ptr ImportMemoryBufferCollectionFUCHSIA
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr ImportMemoryBufferCollectionFUCHSIA
p Ptr ImportMemoryBufferCollectionFUCHSIA -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr ImportMemoryBufferCollectionFUCHSIA
p Ptr ImportMemoryBufferCollectionFUCHSIA -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
("pCollection" ::: Ptr BufferCollectionFUCHSIA)
-> BufferCollectionFUCHSIA -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr ImportMemoryBufferCollectionFUCHSIA
p Ptr ImportMemoryBufferCollectionFUCHSIA
-> Int -> "pCollection" ::: Ptr BufferCollectionFUCHSIA
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr BufferCollectionFUCHSIA)) (BufferCollectionFUCHSIA
forall a. Zero a => a
zero)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr ImportMemoryBufferCollectionFUCHSIA
p Ptr ImportMemoryBufferCollectionFUCHSIA -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct ImportMemoryBufferCollectionFUCHSIA where
peekCStruct :: Ptr ImportMemoryBufferCollectionFUCHSIA
-> IO ImportMemoryBufferCollectionFUCHSIA
peekCStruct Ptr ImportMemoryBufferCollectionFUCHSIA
p = do
BufferCollectionFUCHSIA
collection <- ("pCollection" ::: Ptr BufferCollectionFUCHSIA)
-> IO BufferCollectionFUCHSIA
forall a. Storable a => Ptr a -> IO a
peek @BufferCollectionFUCHSIA ((Ptr ImportMemoryBufferCollectionFUCHSIA
p Ptr ImportMemoryBufferCollectionFUCHSIA
-> Int -> "pCollection" ::: Ptr BufferCollectionFUCHSIA
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr BufferCollectionFUCHSIA))
Word32
index <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr ImportMemoryBufferCollectionFUCHSIA
p Ptr ImportMemoryBufferCollectionFUCHSIA -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr Word32))
ImportMemoryBufferCollectionFUCHSIA
-> IO ImportMemoryBufferCollectionFUCHSIA
forall (f :: * -> *) a. Applicative f => a -> f a
pure (ImportMemoryBufferCollectionFUCHSIA
-> IO ImportMemoryBufferCollectionFUCHSIA)
-> ImportMemoryBufferCollectionFUCHSIA
-> IO ImportMemoryBufferCollectionFUCHSIA
forall a b. (a -> b) -> a -> b
$ BufferCollectionFUCHSIA
-> Word32 -> ImportMemoryBufferCollectionFUCHSIA
ImportMemoryBufferCollectionFUCHSIA
BufferCollectionFUCHSIA
collection Word32
index
instance Storable ImportMemoryBufferCollectionFUCHSIA where
sizeOf :: ImportMemoryBufferCollectionFUCHSIA -> Int
sizeOf ~ImportMemoryBufferCollectionFUCHSIA
_ = Int
32
alignment :: ImportMemoryBufferCollectionFUCHSIA -> Int
alignment ~ImportMemoryBufferCollectionFUCHSIA
_ = Int
8
peek :: Ptr ImportMemoryBufferCollectionFUCHSIA
-> IO ImportMemoryBufferCollectionFUCHSIA
peek = Ptr ImportMemoryBufferCollectionFUCHSIA
-> IO ImportMemoryBufferCollectionFUCHSIA
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr ImportMemoryBufferCollectionFUCHSIA
-> ImportMemoryBufferCollectionFUCHSIA -> IO ()
poke Ptr ImportMemoryBufferCollectionFUCHSIA
ptr ImportMemoryBufferCollectionFUCHSIA
poked = Ptr ImportMemoryBufferCollectionFUCHSIA
-> ImportMemoryBufferCollectionFUCHSIA -> IO () -> IO ()
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr ImportMemoryBufferCollectionFUCHSIA
ptr ImportMemoryBufferCollectionFUCHSIA
poked (() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero ImportMemoryBufferCollectionFUCHSIA where
zero :: ImportMemoryBufferCollectionFUCHSIA
zero = BufferCollectionFUCHSIA
-> Word32 -> ImportMemoryBufferCollectionFUCHSIA
ImportMemoryBufferCollectionFUCHSIA
BufferCollectionFUCHSIA
forall a. Zero a => a
zero
Word32
forall a. Zero a => a
zero
data BufferCollectionImageCreateInfoFUCHSIA = BufferCollectionImageCreateInfoFUCHSIA
{
BufferCollectionImageCreateInfoFUCHSIA -> BufferCollectionFUCHSIA
collection :: BufferCollectionFUCHSIA
,
BufferCollectionImageCreateInfoFUCHSIA -> Word32
index :: Word32
}
deriving (Typeable, BufferCollectionImageCreateInfoFUCHSIA
-> BufferCollectionImageCreateInfoFUCHSIA -> Bool
(BufferCollectionImageCreateInfoFUCHSIA
-> BufferCollectionImageCreateInfoFUCHSIA -> Bool)
-> (BufferCollectionImageCreateInfoFUCHSIA
-> BufferCollectionImageCreateInfoFUCHSIA -> Bool)
-> Eq BufferCollectionImageCreateInfoFUCHSIA
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: BufferCollectionImageCreateInfoFUCHSIA
-> BufferCollectionImageCreateInfoFUCHSIA -> Bool
$c/= :: BufferCollectionImageCreateInfoFUCHSIA
-> BufferCollectionImageCreateInfoFUCHSIA -> Bool
== :: BufferCollectionImageCreateInfoFUCHSIA
-> BufferCollectionImageCreateInfoFUCHSIA -> Bool
$c== :: BufferCollectionImageCreateInfoFUCHSIA
-> BufferCollectionImageCreateInfoFUCHSIA -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (BufferCollectionImageCreateInfoFUCHSIA)
#endif
deriving instance Show BufferCollectionImageCreateInfoFUCHSIA
instance ToCStruct BufferCollectionImageCreateInfoFUCHSIA where
withCStruct :: BufferCollectionImageCreateInfoFUCHSIA
-> (Ptr BufferCollectionImageCreateInfoFUCHSIA -> IO b) -> IO b
withCStruct BufferCollectionImageCreateInfoFUCHSIA
x Ptr BufferCollectionImageCreateInfoFUCHSIA -> IO b
f = Int -> (Ptr BufferCollectionImageCreateInfoFUCHSIA -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
32 ((Ptr BufferCollectionImageCreateInfoFUCHSIA -> IO b) -> IO b)
-> (Ptr BufferCollectionImageCreateInfoFUCHSIA -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr BufferCollectionImageCreateInfoFUCHSIA
p -> Ptr BufferCollectionImageCreateInfoFUCHSIA
-> BufferCollectionImageCreateInfoFUCHSIA -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr BufferCollectionImageCreateInfoFUCHSIA
p BufferCollectionImageCreateInfoFUCHSIA
x (Ptr BufferCollectionImageCreateInfoFUCHSIA -> IO b
f Ptr BufferCollectionImageCreateInfoFUCHSIA
p)
pokeCStruct :: Ptr BufferCollectionImageCreateInfoFUCHSIA
-> BufferCollectionImageCreateInfoFUCHSIA -> IO b -> IO b
pokeCStruct Ptr BufferCollectionImageCreateInfoFUCHSIA
p BufferCollectionImageCreateInfoFUCHSIA{Word32
BufferCollectionFUCHSIA
index :: Word32
collection :: BufferCollectionFUCHSIA
$sel:index:BufferCollectionImageCreateInfoFUCHSIA :: BufferCollectionImageCreateInfoFUCHSIA -> Word32
$sel:collection:BufferCollectionImageCreateInfoFUCHSIA :: BufferCollectionImageCreateInfoFUCHSIA -> BufferCollectionFUCHSIA
..} IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferCollectionImageCreateInfoFUCHSIA
p Ptr BufferCollectionImageCreateInfoFUCHSIA
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferCollectionImageCreateInfoFUCHSIA
p Ptr BufferCollectionImageCreateInfoFUCHSIA -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
("pCollection" ::: Ptr BufferCollectionFUCHSIA)
-> BufferCollectionFUCHSIA -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferCollectionImageCreateInfoFUCHSIA
p Ptr BufferCollectionImageCreateInfoFUCHSIA
-> Int -> "pCollection" ::: Ptr BufferCollectionFUCHSIA
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr BufferCollectionFUCHSIA)) (BufferCollectionFUCHSIA
collection)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferCollectionImageCreateInfoFUCHSIA
p Ptr BufferCollectionImageCreateInfoFUCHSIA -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr Word32)) (Word32
index)
IO b
f
cStructSize :: Int
cStructSize = Int
32
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: Ptr BufferCollectionImageCreateInfoFUCHSIA -> IO b -> IO b
pokeZeroCStruct Ptr BufferCollectionImageCreateInfoFUCHSIA
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferCollectionImageCreateInfoFUCHSIA
p Ptr BufferCollectionImageCreateInfoFUCHSIA
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferCollectionImageCreateInfoFUCHSIA
p Ptr BufferCollectionImageCreateInfoFUCHSIA -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
("pCollection" ::: Ptr BufferCollectionFUCHSIA)
-> BufferCollectionFUCHSIA -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferCollectionImageCreateInfoFUCHSIA
p Ptr BufferCollectionImageCreateInfoFUCHSIA
-> Int -> "pCollection" ::: Ptr BufferCollectionFUCHSIA
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr BufferCollectionFUCHSIA)) (BufferCollectionFUCHSIA
forall a. Zero a => a
zero)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferCollectionImageCreateInfoFUCHSIA
p Ptr BufferCollectionImageCreateInfoFUCHSIA -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct BufferCollectionImageCreateInfoFUCHSIA where
peekCStruct :: Ptr BufferCollectionImageCreateInfoFUCHSIA
-> IO BufferCollectionImageCreateInfoFUCHSIA
peekCStruct Ptr BufferCollectionImageCreateInfoFUCHSIA
p = do
BufferCollectionFUCHSIA
collection <- ("pCollection" ::: Ptr BufferCollectionFUCHSIA)
-> IO BufferCollectionFUCHSIA
forall a. Storable a => Ptr a -> IO a
peek @BufferCollectionFUCHSIA ((Ptr BufferCollectionImageCreateInfoFUCHSIA
p Ptr BufferCollectionImageCreateInfoFUCHSIA
-> Int -> "pCollection" ::: Ptr BufferCollectionFUCHSIA
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr BufferCollectionFUCHSIA))
Word32
index <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr BufferCollectionImageCreateInfoFUCHSIA
p Ptr BufferCollectionImageCreateInfoFUCHSIA -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr Word32))
BufferCollectionImageCreateInfoFUCHSIA
-> IO BufferCollectionImageCreateInfoFUCHSIA
forall (f :: * -> *) a. Applicative f => a -> f a
pure (BufferCollectionImageCreateInfoFUCHSIA
-> IO BufferCollectionImageCreateInfoFUCHSIA)
-> BufferCollectionImageCreateInfoFUCHSIA
-> IO BufferCollectionImageCreateInfoFUCHSIA
forall a b. (a -> b) -> a -> b
$ BufferCollectionFUCHSIA
-> Word32 -> BufferCollectionImageCreateInfoFUCHSIA
BufferCollectionImageCreateInfoFUCHSIA
BufferCollectionFUCHSIA
collection Word32
index
instance Storable BufferCollectionImageCreateInfoFUCHSIA where
sizeOf :: BufferCollectionImageCreateInfoFUCHSIA -> Int
sizeOf ~BufferCollectionImageCreateInfoFUCHSIA
_ = Int
32
alignment :: BufferCollectionImageCreateInfoFUCHSIA -> Int
alignment ~BufferCollectionImageCreateInfoFUCHSIA
_ = Int
8
peek :: Ptr BufferCollectionImageCreateInfoFUCHSIA
-> IO BufferCollectionImageCreateInfoFUCHSIA
peek = Ptr BufferCollectionImageCreateInfoFUCHSIA
-> IO BufferCollectionImageCreateInfoFUCHSIA
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr BufferCollectionImageCreateInfoFUCHSIA
-> BufferCollectionImageCreateInfoFUCHSIA -> IO ()
poke Ptr BufferCollectionImageCreateInfoFUCHSIA
ptr BufferCollectionImageCreateInfoFUCHSIA
poked = Ptr BufferCollectionImageCreateInfoFUCHSIA
-> BufferCollectionImageCreateInfoFUCHSIA -> IO () -> IO ()
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr BufferCollectionImageCreateInfoFUCHSIA
ptr BufferCollectionImageCreateInfoFUCHSIA
poked (() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero BufferCollectionImageCreateInfoFUCHSIA where
zero :: BufferCollectionImageCreateInfoFUCHSIA
zero = BufferCollectionFUCHSIA
-> Word32 -> BufferCollectionImageCreateInfoFUCHSIA
BufferCollectionImageCreateInfoFUCHSIA
BufferCollectionFUCHSIA
forall a. Zero a => a
zero
Word32
forall a. Zero a => a
zero
data BufferCollectionBufferCreateInfoFUCHSIA = BufferCollectionBufferCreateInfoFUCHSIA
{
BufferCollectionBufferCreateInfoFUCHSIA -> BufferCollectionFUCHSIA
collection :: BufferCollectionFUCHSIA
,
BufferCollectionBufferCreateInfoFUCHSIA -> Word32
index :: Word32
}
deriving (Typeable, BufferCollectionBufferCreateInfoFUCHSIA
-> BufferCollectionBufferCreateInfoFUCHSIA -> Bool
(BufferCollectionBufferCreateInfoFUCHSIA
-> BufferCollectionBufferCreateInfoFUCHSIA -> Bool)
-> (BufferCollectionBufferCreateInfoFUCHSIA
-> BufferCollectionBufferCreateInfoFUCHSIA -> Bool)
-> Eq BufferCollectionBufferCreateInfoFUCHSIA
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: BufferCollectionBufferCreateInfoFUCHSIA
-> BufferCollectionBufferCreateInfoFUCHSIA -> Bool
$c/= :: BufferCollectionBufferCreateInfoFUCHSIA
-> BufferCollectionBufferCreateInfoFUCHSIA -> Bool
== :: BufferCollectionBufferCreateInfoFUCHSIA
-> BufferCollectionBufferCreateInfoFUCHSIA -> Bool
$c== :: BufferCollectionBufferCreateInfoFUCHSIA
-> BufferCollectionBufferCreateInfoFUCHSIA -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (BufferCollectionBufferCreateInfoFUCHSIA)
#endif
deriving instance Show BufferCollectionBufferCreateInfoFUCHSIA
instance ToCStruct BufferCollectionBufferCreateInfoFUCHSIA where
withCStruct :: BufferCollectionBufferCreateInfoFUCHSIA
-> (Ptr BufferCollectionBufferCreateInfoFUCHSIA -> IO b) -> IO b
withCStruct BufferCollectionBufferCreateInfoFUCHSIA
x Ptr BufferCollectionBufferCreateInfoFUCHSIA -> IO b
f = Int
-> (Ptr BufferCollectionBufferCreateInfoFUCHSIA -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
32 ((Ptr BufferCollectionBufferCreateInfoFUCHSIA -> IO b) -> IO b)
-> (Ptr BufferCollectionBufferCreateInfoFUCHSIA -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr BufferCollectionBufferCreateInfoFUCHSIA
p -> Ptr BufferCollectionBufferCreateInfoFUCHSIA
-> BufferCollectionBufferCreateInfoFUCHSIA -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr BufferCollectionBufferCreateInfoFUCHSIA
p BufferCollectionBufferCreateInfoFUCHSIA
x (Ptr BufferCollectionBufferCreateInfoFUCHSIA -> IO b
f Ptr BufferCollectionBufferCreateInfoFUCHSIA
p)
pokeCStruct :: Ptr BufferCollectionBufferCreateInfoFUCHSIA
-> BufferCollectionBufferCreateInfoFUCHSIA -> IO b -> IO b
pokeCStruct Ptr BufferCollectionBufferCreateInfoFUCHSIA
p BufferCollectionBufferCreateInfoFUCHSIA{Word32
BufferCollectionFUCHSIA
index :: Word32
collection :: BufferCollectionFUCHSIA
$sel:index:BufferCollectionBufferCreateInfoFUCHSIA :: BufferCollectionBufferCreateInfoFUCHSIA -> Word32
$sel:collection:BufferCollectionBufferCreateInfoFUCHSIA :: BufferCollectionBufferCreateInfoFUCHSIA -> BufferCollectionFUCHSIA
..} IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferCollectionBufferCreateInfoFUCHSIA
p Ptr BufferCollectionBufferCreateInfoFUCHSIA
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferCollectionBufferCreateInfoFUCHSIA
p Ptr BufferCollectionBufferCreateInfoFUCHSIA -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
("pCollection" ::: Ptr BufferCollectionFUCHSIA)
-> BufferCollectionFUCHSIA -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferCollectionBufferCreateInfoFUCHSIA
p Ptr BufferCollectionBufferCreateInfoFUCHSIA
-> Int -> "pCollection" ::: Ptr BufferCollectionFUCHSIA
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr BufferCollectionFUCHSIA)) (BufferCollectionFUCHSIA
collection)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferCollectionBufferCreateInfoFUCHSIA
p Ptr BufferCollectionBufferCreateInfoFUCHSIA -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr Word32)) (Word32
index)
IO b
f
cStructSize :: Int
cStructSize = Int
32
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: Ptr BufferCollectionBufferCreateInfoFUCHSIA -> IO b -> IO b
pokeZeroCStruct Ptr BufferCollectionBufferCreateInfoFUCHSIA
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferCollectionBufferCreateInfoFUCHSIA
p Ptr BufferCollectionBufferCreateInfoFUCHSIA
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferCollectionBufferCreateInfoFUCHSIA
p Ptr BufferCollectionBufferCreateInfoFUCHSIA -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
("pCollection" ::: Ptr BufferCollectionFUCHSIA)
-> BufferCollectionFUCHSIA -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferCollectionBufferCreateInfoFUCHSIA
p Ptr BufferCollectionBufferCreateInfoFUCHSIA
-> Int -> "pCollection" ::: Ptr BufferCollectionFUCHSIA
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr BufferCollectionFUCHSIA)) (BufferCollectionFUCHSIA
forall a. Zero a => a
zero)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferCollectionBufferCreateInfoFUCHSIA
p Ptr BufferCollectionBufferCreateInfoFUCHSIA -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct BufferCollectionBufferCreateInfoFUCHSIA where
peekCStruct :: Ptr BufferCollectionBufferCreateInfoFUCHSIA
-> IO BufferCollectionBufferCreateInfoFUCHSIA
peekCStruct Ptr BufferCollectionBufferCreateInfoFUCHSIA
p = do
BufferCollectionFUCHSIA
collection <- ("pCollection" ::: Ptr BufferCollectionFUCHSIA)
-> IO BufferCollectionFUCHSIA
forall a. Storable a => Ptr a -> IO a
peek @BufferCollectionFUCHSIA ((Ptr BufferCollectionBufferCreateInfoFUCHSIA
p Ptr BufferCollectionBufferCreateInfoFUCHSIA
-> Int -> "pCollection" ::: Ptr BufferCollectionFUCHSIA
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr BufferCollectionFUCHSIA))
Word32
index <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr BufferCollectionBufferCreateInfoFUCHSIA
p Ptr BufferCollectionBufferCreateInfoFUCHSIA -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr Word32))
BufferCollectionBufferCreateInfoFUCHSIA
-> IO BufferCollectionBufferCreateInfoFUCHSIA
forall (f :: * -> *) a. Applicative f => a -> f a
pure (BufferCollectionBufferCreateInfoFUCHSIA
-> IO BufferCollectionBufferCreateInfoFUCHSIA)
-> BufferCollectionBufferCreateInfoFUCHSIA
-> IO BufferCollectionBufferCreateInfoFUCHSIA
forall a b. (a -> b) -> a -> b
$ BufferCollectionFUCHSIA
-> Word32 -> BufferCollectionBufferCreateInfoFUCHSIA
BufferCollectionBufferCreateInfoFUCHSIA
BufferCollectionFUCHSIA
collection Word32
index
instance Storable BufferCollectionBufferCreateInfoFUCHSIA where
sizeOf :: BufferCollectionBufferCreateInfoFUCHSIA -> Int
sizeOf ~BufferCollectionBufferCreateInfoFUCHSIA
_ = Int
32
alignment :: BufferCollectionBufferCreateInfoFUCHSIA -> Int
alignment ~BufferCollectionBufferCreateInfoFUCHSIA
_ = Int
8
peek :: Ptr BufferCollectionBufferCreateInfoFUCHSIA
-> IO BufferCollectionBufferCreateInfoFUCHSIA
peek = Ptr BufferCollectionBufferCreateInfoFUCHSIA
-> IO BufferCollectionBufferCreateInfoFUCHSIA
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr BufferCollectionBufferCreateInfoFUCHSIA
-> BufferCollectionBufferCreateInfoFUCHSIA -> IO ()
poke Ptr BufferCollectionBufferCreateInfoFUCHSIA
ptr BufferCollectionBufferCreateInfoFUCHSIA
poked = Ptr BufferCollectionBufferCreateInfoFUCHSIA
-> BufferCollectionBufferCreateInfoFUCHSIA -> IO () -> IO ()
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr BufferCollectionBufferCreateInfoFUCHSIA
ptr BufferCollectionBufferCreateInfoFUCHSIA
poked (() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero BufferCollectionBufferCreateInfoFUCHSIA where
zero :: BufferCollectionBufferCreateInfoFUCHSIA
zero = BufferCollectionFUCHSIA
-> Word32 -> BufferCollectionBufferCreateInfoFUCHSIA
BufferCollectionBufferCreateInfoFUCHSIA
BufferCollectionFUCHSIA
forall a. Zero a => a
zero
Word32
forall a. Zero a => a
zero
data BufferCollectionCreateInfoFUCHSIA = BufferCollectionCreateInfoFUCHSIA
{
BufferCollectionCreateInfoFUCHSIA -> Word32
collectionToken :: Zx_handle_t }
deriving (Typeable, BufferCollectionCreateInfoFUCHSIA
-> BufferCollectionCreateInfoFUCHSIA -> Bool
(BufferCollectionCreateInfoFUCHSIA
-> BufferCollectionCreateInfoFUCHSIA -> Bool)
-> (BufferCollectionCreateInfoFUCHSIA
-> BufferCollectionCreateInfoFUCHSIA -> Bool)
-> Eq BufferCollectionCreateInfoFUCHSIA
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: BufferCollectionCreateInfoFUCHSIA
-> BufferCollectionCreateInfoFUCHSIA -> Bool
$c/= :: BufferCollectionCreateInfoFUCHSIA
-> BufferCollectionCreateInfoFUCHSIA -> Bool
== :: BufferCollectionCreateInfoFUCHSIA
-> BufferCollectionCreateInfoFUCHSIA -> Bool
$c== :: BufferCollectionCreateInfoFUCHSIA
-> BufferCollectionCreateInfoFUCHSIA -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (BufferCollectionCreateInfoFUCHSIA)
#endif
deriving instance Show BufferCollectionCreateInfoFUCHSIA
instance ToCStruct BufferCollectionCreateInfoFUCHSIA where
withCStruct :: BufferCollectionCreateInfoFUCHSIA
-> (("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA)
-> IO b)
-> IO b
withCStruct BufferCollectionCreateInfoFUCHSIA
x ("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA) -> IO b
f = Int
-> (("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA)
-> IO b)
-> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
24 ((("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA)
-> IO b)
-> IO b)
-> (("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA)
-> IO b)
-> IO b
forall a b. (a -> b) -> a -> b
$ \"pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA
p -> ("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA)
-> BufferCollectionCreateInfoFUCHSIA -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct "pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA
p BufferCollectionCreateInfoFUCHSIA
x (("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA) -> IO b
f "pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA
p)
pokeCStruct :: ("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA)
-> BufferCollectionCreateInfoFUCHSIA -> IO b -> IO b
pokeCStruct "pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA
p BufferCollectionCreateInfoFUCHSIA{Word32
collectionToken :: Word32
$sel:collectionToken:BufferCollectionCreateInfoFUCHSIA :: BufferCollectionCreateInfoFUCHSIA -> Word32
..} IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA
p ("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA)
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA
p ("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA)
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA
p ("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA)
-> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Zx_handle_t)) (Word32
collectionToken)
IO b
f
cStructSize :: Int
cStructSize = Int
24
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: ("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA)
-> IO b -> IO b
pokeZeroCStruct "pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA
p ("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA)
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA
p ("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA)
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA
p ("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA)
-> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Zx_handle_t)) (Word32
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct BufferCollectionCreateInfoFUCHSIA where
peekCStruct :: ("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA)
-> IO BufferCollectionCreateInfoFUCHSIA
peekCStruct "pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA
p = do
Word32
collectionToken <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Zx_handle_t (("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA
p ("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA)
-> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Zx_handle_t))
BufferCollectionCreateInfoFUCHSIA
-> IO BufferCollectionCreateInfoFUCHSIA
forall (f :: * -> *) a. Applicative f => a -> f a
pure (BufferCollectionCreateInfoFUCHSIA
-> IO BufferCollectionCreateInfoFUCHSIA)
-> BufferCollectionCreateInfoFUCHSIA
-> IO BufferCollectionCreateInfoFUCHSIA
forall a b. (a -> b) -> a -> b
$ Word32 -> BufferCollectionCreateInfoFUCHSIA
BufferCollectionCreateInfoFUCHSIA
Word32
collectionToken
instance Storable BufferCollectionCreateInfoFUCHSIA where
sizeOf :: BufferCollectionCreateInfoFUCHSIA -> Int
sizeOf ~BufferCollectionCreateInfoFUCHSIA
_ = Int
24
alignment :: BufferCollectionCreateInfoFUCHSIA -> Int
alignment ~BufferCollectionCreateInfoFUCHSIA
_ = Int
8
peek :: ("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA)
-> IO BufferCollectionCreateInfoFUCHSIA
peek = ("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA)
-> IO BufferCollectionCreateInfoFUCHSIA
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: ("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA)
-> BufferCollectionCreateInfoFUCHSIA -> IO ()
poke "pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA
ptr BufferCollectionCreateInfoFUCHSIA
poked = ("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA)
-> BufferCollectionCreateInfoFUCHSIA -> IO () -> IO ()
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct "pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA
ptr BufferCollectionCreateInfoFUCHSIA
poked (() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero BufferCollectionCreateInfoFUCHSIA where
zero :: BufferCollectionCreateInfoFUCHSIA
zero = Word32 -> BufferCollectionCreateInfoFUCHSIA
BufferCollectionCreateInfoFUCHSIA
Word32
forall a. Zero a => a
zero
data BufferCollectionPropertiesFUCHSIA = BufferCollectionPropertiesFUCHSIA
{
BufferCollectionPropertiesFUCHSIA -> Word32
memoryTypeBits :: Word32
,
BufferCollectionPropertiesFUCHSIA -> Word32
bufferCount :: Word32
,
BufferCollectionPropertiesFUCHSIA -> Word32
createInfoIndex :: Word32
,
BufferCollectionPropertiesFUCHSIA -> Word64
sysmemPixelFormat :: Word64
,
BufferCollectionPropertiesFUCHSIA -> FormatFeatureFlags
formatFeatures :: FormatFeatureFlags
,
BufferCollectionPropertiesFUCHSIA -> SysmemColorSpaceFUCHSIA
sysmemColorSpaceIndex :: SysmemColorSpaceFUCHSIA
,
BufferCollectionPropertiesFUCHSIA -> ComponentMapping
samplerYcbcrConversionComponents :: ComponentMapping
,
BufferCollectionPropertiesFUCHSIA -> SamplerYcbcrModelConversion
suggestedYcbcrModel :: SamplerYcbcrModelConversion
,
BufferCollectionPropertiesFUCHSIA -> SamplerYcbcrRange
suggestedYcbcrRange :: SamplerYcbcrRange
,
BufferCollectionPropertiesFUCHSIA -> ChromaLocation
suggestedXChromaOffset :: ChromaLocation
,
BufferCollectionPropertiesFUCHSIA -> ChromaLocation
suggestedYChromaOffset :: ChromaLocation
}
deriving (Typeable)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (BufferCollectionPropertiesFUCHSIA)
#endif
deriving instance Show BufferCollectionPropertiesFUCHSIA
instance ToCStruct BufferCollectionPropertiesFUCHSIA where
withCStruct :: BufferCollectionPropertiesFUCHSIA
-> (("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> IO b)
-> IO b
withCStruct BufferCollectionPropertiesFUCHSIA
x ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA) -> IO b
f = Int
-> (("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> IO b)
-> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
104 ((("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> IO b)
-> IO b)
-> (("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> IO b)
-> IO b
forall a b. (a -> b) -> a -> b
$ \"pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA
p -> ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> BufferCollectionPropertiesFUCHSIA -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct "pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA
p BufferCollectionPropertiesFUCHSIA
x (("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA) -> IO b
f "pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA
p)
pokeCStruct :: ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> BufferCollectionPropertiesFUCHSIA -> IO b -> IO b
pokeCStruct "pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA
p BufferCollectionPropertiesFUCHSIA{Word32
Word64
ComponentMapping
SysmemColorSpaceFUCHSIA
SamplerYcbcrRange
SamplerYcbcrModelConversion
ChromaLocation
FormatFeatureFlags
suggestedYChromaOffset :: ChromaLocation
suggestedXChromaOffset :: ChromaLocation
suggestedYcbcrRange :: SamplerYcbcrRange
suggestedYcbcrModel :: SamplerYcbcrModelConversion
samplerYcbcrConversionComponents :: ComponentMapping
sysmemColorSpaceIndex :: SysmemColorSpaceFUCHSIA
formatFeatures :: FormatFeatureFlags
sysmemPixelFormat :: Word64
createInfoIndex :: Word32
bufferCount :: Word32
memoryTypeBits :: Word32
$sel:suggestedYChromaOffset:BufferCollectionPropertiesFUCHSIA :: BufferCollectionPropertiesFUCHSIA -> ChromaLocation
$sel:suggestedXChromaOffset:BufferCollectionPropertiesFUCHSIA :: BufferCollectionPropertiesFUCHSIA -> ChromaLocation
$sel:suggestedYcbcrRange:BufferCollectionPropertiesFUCHSIA :: BufferCollectionPropertiesFUCHSIA -> SamplerYcbcrRange
$sel:suggestedYcbcrModel:BufferCollectionPropertiesFUCHSIA :: BufferCollectionPropertiesFUCHSIA -> SamplerYcbcrModelConversion
$sel:samplerYcbcrConversionComponents:BufferCollectionPropertiesFUCHSIA :: BufferCollectionPropertiesFUCHSIA -> ComponentMapping
$sel:sysmemColorSpaceIndex:BufferCollectionPropertiesFUCHSIA :: BufferCollectionPropertiesFUCHSIA -> SysmemColorSpaceFUCHSIA
$sel:formatFeatures:BufferCollectionPropertiesFUCHSIA :: BufferCollectionPropertiesFUCHSIA -> FormatFeatureFlags
$sel:sysmemPixelFormat:BufferCollectionPropertiesFUCHSIA :: BufferCollectionPropertiesFUCHSIA -> Word64
$sel:createInfoIndex:BufferCollectionPropertiesFUCHSIA :: BufferCollectionPropertiesFUCHSIA -> Word32
$sel:bufferCount:BufferCollectionPropertiesFUCHSIA :: BufferCollectionPropertiesFUCHSIA -> Word32
$sel:memoryTypeBits:BufferCollectionPropertiesFUCHSIA :: BufferCollectionPropertiesFUCHSIA -> Word32
..} IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA
p ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA
p ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA
p ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Word32)) (Word32
memoryTypeBits)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA
p ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Word32)) (Word32
bufferCount)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA
p ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr Word32)) (Word32
createInfoIndex)
Ptr Word64 -> Word64 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA
p ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> Int -> Ptr Word64
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr Word64)) (Word64
sysmemPixelFormat)
Ptr FormatFeatureFlags -> FormatFeatureFlags -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA
p ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> Int -> Ptr FormatFeatureFlags
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40 :: Ptr FormatFeatureFlags)) (FormatFeatureFlags
formatFeatures)
Ptr SysmemColorSpaceFUCHSIA -> SysmemColorSpaceFUCHSIA -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA
p ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> Int -> Ptr SysmemColorSpaceFUCHSIA
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
48 :: Ptr SysmemColorSpaceFUCHSIA)) (SysmemColorSpaceFUCHSIA
sysmemColorSpaceIndex)
Ptr ComponentMapping -> ComponentMapping -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA
p ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> Int -> Ptr ComponentMapping
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
72 :: Ptr ComponentMapping)) (ComponentMapping
samplerYcbcrConversionComponents)
Ptr SamplerYcbcrModelConversion
-> SamplerYcbcrModelConversion -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA
p ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> Int -> Ptr SamplerYcbcrModelConversion
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
88 :: Ptr SamplerYcbcrModelConversion)) (SamplerYcbcrModelConversion
suggestedYcbcrModel)
Ptr SamplerYcbcrRange -> SamplerYcbcrRange -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA
p ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> Int -> Ptr SamplerYcbcrRange
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
92 :: Ptr SamplerYcbcrRange)) (SamplerYcbcrRange
suggestedYcbcrRange)
Ptr ChromaLocation -> ChromaLocation -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA
p ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> Int -> Ptr ChromaLocation
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
96 :: Ptr ChromaLocation)) (ChromaLocation
suggestedXChromaOffset)
Ptr ChromaLocation -> ChromaLocation -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA
p ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> Int -> Ptr ChromaLocation
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
100 :: Ptr ChromaLocation)) (ChromaLocation
suggestedYChromaOffset)
IO b
f
cStructSize :: Int
cStructSize = Int
104
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> IO b -> IO b
pokeZeroCStruct "pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA
p ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA
p ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA
p ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA
p ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA
p ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
Ptr Word64 -> Word64 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA
p ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> Int -> Ptr Word64
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr Word64)) (Word64
forall a. Zero a => a
zero)
Ptr FormatFeatureFlags -> FormatFeatureFlags -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA
p ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> Int -> Ptr FormatFeatureFlags
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40 :: Ptr FormatFeatureFlags)) (FormatFeatureFlags
forall a. Zero a => a
zero)
Ptr SysmemColorSpaceFUCHSIA -> SysmemColorSpaceFUCHSIA -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA
p ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> Int -> Ptr SysmemColorSpaceFUCHSIA
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
48 :: Ptr SysmemColorSpaceFUCHSIA)) (SysmemColorSpaceFUCHSIA
forall a. Zero a => a
zero)
Ptr ComponentMapping -> ComponentMapping -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA
p ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> Int -> Ptr ComponentMapping
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
72 :: Ptr ComponentMapping)) (ComponentMapping
forall a. Zero a => a
zero)
Ptr SamplerYcbcrModelConversion
-> SamplerYcbcrModelConversion -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA
p ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> Int -> Ptr SamplerYcbcrModelConversion
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
88 :: Ptr SamplerYcbcrModelConversion)) (SamplerYcbcrModelConversion
forall a. Zero a => a
zero)
Ptr SamplerYcbcrRange -> SamplerYcbcrRange -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA
p ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> Int -> Ptr SamplerYcbcrRange
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
92 :: Ptr SamplerYcbcrRange)) (SamplerYcbcrRange
forall a. Zero a => a
zero)
Ptr ChromaLocation -> ChromaLocation -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA
p ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> Int -> Ptr ChromaLocation
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
96 :: Ptr ChromaLocation)) (ChromaLocation
forall a. Zero a => a
zero)
Ptr ChromaLocation -> ChromaLocation -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA
p ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> Int -> Ptr ChromaLocation
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
100 :: Ptr ChromaLocation)) (ChromaLocation
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct BufferCollectionPropertiesFUCHSIA where
peekCStruct :: ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> IO BufferCollectionPropertiesFUCHSIA
peekCStruct "pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA
p = do
Word32
memoryTypeBits <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 (("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA
p ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Word32))
Word32
bufferCount <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 (("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA
p ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Word32))
Word32
createInfoIndex <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 (("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA
p ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr Word32))
Word64
sysmemPixelFormat <- Ptr Word64 -> IO Word64
forall a. Storable a => Ptr a -> IO a
peek @Word64 (("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA
p ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> Int -> Ptr Word64
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr Word64))
FormatFeatureFlags
formatFeatures <- Ptr FormatFeatureFlags -> IO FormatFeatureFlags
forall a. Storable a => Ptr a -> IO a
peek @FormatFeatureFlags (("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA
p ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> Int -> Ptr FormatFeatureFlags
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40 :: Ptr FormatFeatureFlags))
SysmemColorSpaceFUCHSIA
sysmemColorSpaceIndex <- Ptr SysmemColorSpaceFUCHSIA -> IO SysmemColorSpaceFUCHSIA
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct @SysmemColorSpaceFUCHSIA (("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA
p ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> Int -> Ptr SysmemColorSpaceFUCHSIA
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
48 :: Ptr SysmemColorSpaceFUCHSIA))
ComponentMapping
samplerYcbcrConversionComponents <- Ptr ComponentMapping -> IO ComponentMapping
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct @ComponentMapping (("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA
p ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> Int -> Ptr ComponentMapping
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
72 :: Ptr ComponentMapping))
SamplerYcbcrModelConversion
suggestedYcbcrModel <- Ptr SamplerYcbcrModelConversion -> IO SamplerYcbcrModelConversion
forall a. Storable a => Ptr a -> IO a
peek @SamplerYcbcrModelConversion (("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA
p ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> Int -> Ptr SamplerYcbcrModelConversion
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
88 :: Ptr SamplerYcbcrModelConversion))
SamplerYcbcrRange
suggestedYcbcrRange <- Ptr SamplerYcbcrRange -> IO SamplerYcbcrRange
forall a. Storable a => Ptr a -> IO a
peek @SamplerYcbcrRange (("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA
p ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> Int -> Ptr SamplerYcbcrRange
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
92 :: Ptr SamplerYcbcrRange))
ChromaLocation
suggestedXChromaOffset <- Ptr ChromaLocation -> IO ChromaLocation
forall a. Storable a => Ptr a -> IO a
peek @ChromaLocation (("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA
p ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> Int -> Ptr ChromaLocation
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
96 :: Ptr ChromaLocation))
ChromaLocation
suggestedYChromaOffset <- Ptr ChromaLocation -> IO ChromaLocation
forall a. Storable a => Ptr a -> IO a
peek @ChromaLocation (("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA
p ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> Int -> Ptr ChromaLocation
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
100 :: Ptr ChromaLocation))
BufferCollectionPropertiesFUCHSIA
-> IO BufferCollectionPropertiesFUCHSIA
forall (f :: * -> *) a. Applicative f => a -> f a
pure (BufferCollectionPropertiesFUCHSIA
-> IO BufferCollectionPropertiesFUCHSIA)
-> BufferCollectionPropertiesFUCHSIA
-> IO BufferCollectionPropertiesFUCHSIA
forall a b. (a -> b) -> a -> b
$ Word32
-> Word32
-> Word32
-> Word64
-> FormatFeatureFlags
-> SysmemColorSpaceFUCHSIA
-> ComponentMapping
-> SamplerYcbcrModelConversion
-> SamplerYcbcrRange
-> ChromaLocation
-> ChromaLocation
-> BufferCollectionPropertiesFUCHSIA
BufferCollectionPropertiesFUCHSIA
Word32
memoryTypeBits Word32
bufferCount Word32
createInfoIndex Word64
sysmemPixelFormat FormatFeatureFlags
formatFeatures SysmemColorSpaceFUCHSIA
sysmemColorSpaceIndex ComponentMapping
samplerYcbcrConversionComponents SamplerYcbcrModelConversion
suggestedYcbcrModel SamplerYcbcrRange
suggestedYcbcrRange ChromaLocation
suggestedXChromaOffset ChromaLocation
suggestedYChromaOffset
instance Storable BufferCollectionPropertiesFUCHSIA where
sizeOf :: BufferCollectionPropertiesFUCHSIA -> Int
sizeOf ~BufferCollectionPropertiesFUCHSIA
_ = Int
104
alignment :: BufferCollectionPropertiesFUCHSIA -> Int
alignment ~BufferCollectionPropertiesFUCHSIA
_ = Int
8
peek :: ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> IO BufferCollectionPropertiesFUCHSIA
peek = ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> IO BufferCollectionPropertiesFUCHSIA
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> BufferCollectionPropertiesFUCHSIA -> IO ()
poke "pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA
ptr BufferCollectionPropertiesFUCHSIA
poked = ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA)
-> BufferCollectionPropertiesFUCHSIA -> IO () -> IO ()
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct "pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA
ptr BufferCollectionPropertiesFUCHSIA
poked (() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero BufferCollectionPropertiesFUCHSIA where
zero :: BufferCollectionPropertiesFUCHSIA
zero = Word32
-> Word32
-> Word32
-> Word64
-> FormatFeatureFlags
-> SysmemColorSpaceFUCHSIA
-> ComponentMapping
-> SamplerYcbcrModelConversion
-> SamplerYcbcrRange
-> ChromaLocation
-> ChromaLocation
-> BufferCollectionPropertiesFUCHSIA
BufferCollectionPropertiesFUCHSIA
Word32
forall a. Zero a => a
zero
Word32
forall a. Zero a => a
zero
Word32
forall a. Zero a => a
zero
Word64
forall a. Zero a => a
zero
FormatFeatureFlags
forall a. Zero a => a
zero
SysmemColorSpaceFUCHSIA
forall a. Zero a => a
zero
ComponentMapping
forall a. Zero a => a
zero
SamplerYcbcrModelConversion
forall a. Zero a => a
zero
SamplerYcbcrRange
forall a. Zero a => a
zero
ChromaLocation
forall a. Zero a => a
zero
ChromaLocation
forall a. Zero a => a
zero
data BufferConstraintsInfoFUCHSIA = BufferConstraintsInfoFUCHSIA
{
BufferConstraintsInfoFUCHSIA -> SomeStruct BufferCreateInfo
createInfo :: SomeStruct BufferCreateInfo
,
BufferConstraintsInfoFUCHSIA -> FormatFeatureFlags
requiredFormatFeatures :: FormatFeatureFlags
,
BufferConstraintsInfoFUCHSIA
-> BufferCollectionConstraintsInfoFUCHSIA
bufferCollectionConstraints :: BufferCollectionConstraintsInfoFUCHSIA
}
deriving (Typeable)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (BufferConstraintsInfoFUCHSIA)
#endif
deriving instance Show BufferConstraintsInfoFUCHSIA
instance ToCStruct BufferConstraintsInfoFUCHSIA where
withCStruct :: BufferConstraintsInfoFUCHSIA
-> (("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA)
-> IO b)
-> IO b
withCStruct BufferConstraintsInfoFUCHSIA
x ("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA)
-> IO b
f = Int
-> (("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA)
-> IO b)
-> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
120 ((("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA)
-> IO b)
-> IO b)
-> (("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA)
-> IO b)
-> IO b
forall a b. (a -> b) -> a -> b
$ \"pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA
p -> ("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA)
-> BufferConstraintsInfoFUCHSIA -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct "pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA
p BufferConstraintsInfoFUCHSIA
x (("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA)
-> IO b
f "pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA
p)
pokeCStruct :: ("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA)
-> BufferConstraintsInfoFUCHSIA -> IO b -> IO b
pokeCStruct "pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA
p BufferConstraintsInfoFUCHSIA{BufferCollectionConstraintsInfoFUCHSIA
FormatFeatureFlags
SomeStruct BufferCreateInfo
bufferCollectionConstraints :: BufferCollectionConstraintsInfoFUCHSIA
requiredFormatFeatures :: FormatFeatureFlags
createInfo :: SomeStruct BufferCreateInfo
$sel:bufferCollectionConstraints:BufferConstraintsInfoFUCHSIA :: BufferConstraintsInfoFUCHSIA
-> BufferCollectionConstraintsInfoFUCHSIA
$sel:requiredFormatFeatures:BufferConstraintsInfoFUCHSIA :: BufferConstraintsInfoFUCHSIA -> FormatFeatureFlags
$sel:createInfo:BufferConstraintsInfoFUCHSIA :: BufferConstraintsInfoFUCHSIA -> SomeStruct BufferCreateInfo
..} 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 (("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA
p ("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA)
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA)
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 (("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA
p ("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA)
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
((() -> IO b) -> IO b) -> ContT b IO ()
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((() -> IO b) -> IO b) -> ContT b IO ())
-> ((() -> IO b) -> IO b) -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr (SomeStruct BufferCreateInfo)
-> SomeStruct BufferCreateInfo -> IO b -> IO b
forall (a :: [*] -> *) b.
(forall (es :: [*]).
(Extendss a es, PokeChain es) =>
ToCStruct (a es)) =>
Ptr (SomeStruct a) -> SomeStruct a -> IO b -> IO b
pokeSomeCStruct (Ptr (BufferCreateInfo Any) -> Ptr (SomeStruct BufferCreateInfo)
forall (a :: [*] -> *) (es :: [*]).
Ptr (a es) -> Ptr (SomeStruct a)
forgetExtensions (("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA
p ("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA)
-> Int -> Ptr (BufferCreateInfo _)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr (BufferCreateInfo _)))) (SomeStruct BufferCreateInfo
createInfo) (IO b -> IO b) -> ((() -> IO b) -> IO b) -> (() -> IO b) -> IO b
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((() -> IO b) -> () -> IO b
forall a b. (a -> b) -> a -> b
$ ())
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 FormatFeatureFlags -> FormatFeatureFlags -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA
p ("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA)
-> Int -> Ptr FormatFeatureFlags
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
72 :: Ptr FormatFeatureFlags)) (FormatFeatureFlags
requiredFormatFeatures)
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 BufferCollectionConstraintsInfoFUCHSIA
-> BufferCollectionConstraintsInfoFUCHSIA -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA
p ("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA)
-> Int -> Ptr BufferCollectionConstraintsInfoFUCHSIA
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
80 :: Ptr BufferCollectionConstraintsInfoFUCHSIA)) (BufferCollectionConstraintsInfoFUCHSIA
bufferCollectionConstraints)
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
120
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: ("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA)
-> IO b -> IO b
pokeZeroCStruct "pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA
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 (("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA
p ("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA)
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA)
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 (("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA
p ("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA)
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
((() -> IO b) -> IO b) -> ContT b IO ()
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((() -> IO b) -> IO b) -> ContT b IO ())
-> ((() -> IO b) -> IO b) -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr (SomeStruct BufferCreateInfo)
-> SomeStruct BufferCreateInfo -> IO b -> IO b
forall (a :: [*] -> *) b.
(forall (es :: [*]).
(Extendss a es, PokeChain es) =>
ToCStruct (a es)) =>
Ptr (SomeStruct a) -> SomeStruct a -> IO b -> IO b
pokeSomeCStruct (Ptr (BufferCreateInfo Any) -> Ptr (SomeStruct BufferCreateInfo)
forall (a :: [*] -> *) (es :: [*]).
Ptr (a es) -> Ptr (SomeStruct a)
forgetExtensions (("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA
p ("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA)
-> Int -> Ptr (BufferCreateInfo _)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr (BufferCreateInfo _)))) ((BufferCreateInfo '[] -> SomeStruct BufferCreateInfo
forall (a :: [*] -> *) (es :: [*]).
(Extendss a es, PokeChain es, Show (Chain es)) =>
a es -> SomeStruct a
SomeStruct BufferCreateInfo '[]
forall a. Zero a => a
zero)) (IO b -> IO b) -> ((() -> IO b) -> IO b) -> (() -> IO b) -> IO b
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((() -> IO b) -> () -> IO b
forall a b. (a -> b) -> a -> b
$ ())
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 BufferCollectionConstraintsInfoFUCHSIA
-> BufferCollectionConstraintsInfoFUCHSIA -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA
p ("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA)
-> Int -> Ptr BufferCollectionConstraintsInfoFUCHSIA
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
80 :: Ptr BufferCollectionConstraintsInfoFUCHSIA)) (BufferCollectionConstraintsInfoFUCHSIA
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 FromCStruct BufferConstraintsInfoFUCHSIA where
peekCStruct :: ("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA)
-> IO BufferConstraintsInfoFUCHSIA
peekCStruct "pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA
p = do
SomeStruct BufferCreateInfo
createInfo <- Ptr (SomeStruct BufferCreateInfo)
-> IO (SomeStruct BufferCreateInfo)
forall (a :: [*] -> *).
(Extensible a,
forall (es :: [*]).
(Extendss a es, PeekChain es) =>
FromCStruct (a es)) =>
Ptr (SomeStruct a) -> IO (SomeStruct a)
peekSomeCStruct (Ptr (BufferCreateInfo Any) -> Ptr (SomeStruct BufferCreateInfo)
forall (a :: [*] -> *) (es :: [*]).
Ptr (a es) -> Ptr (SomeStruct a)
forgetExtensions (("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA
p ("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA)
-> Int -> Ptr (BufferCreateInfo _)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr (BufferCreateInfo _))))
FormatFeatureFlags
requiredFormatFeatures <- Ptr FormatFeatureFlags -> IO FormatFeatureFlags
forall a. Storable a => Ptr a -> IO a
peek @FormatFeatureFlags (("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA
p ("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA)
-> Int -> Ptr FormatFeatureFlags
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
72 :: Ptr FormatFeatureFlags))
BufferCollectionConstraintsInfoFUCHSIA
bufferCollectionConstraints <- Ptr BufferCollectionConstraintsInfoFUCHSIA
-> IO BufferCollectionConstraintsInfoFUCHSIA
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct @BufferCollectionConstraintsInfoFUCHSIA (("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA
p ("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA)
-> Int -> Ptr BufferCollectionConstraintsInfoFUCHSIA
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
80 :: Ptr BufferCollectionConstraintsInfoFUCHSIA))
BufferConstraintsInfoFUCHSIA -> IO BufferConstraintsInfoFUCHSIA
forall (f :: * -> *) a. Applicative f => a -> f a
pure (BufferConstraintsInfoFUCHSIA -> IO BufferConstraintsInfoFUCHSIA)
-> BufferConstraintsInfoFUCHSIA -> IO BufferConstraintsInfoFUCHSIA
forall a b. (a -> b) -> a -> b
$ SomeStruct BufferCreateInfo
-> FormatFeatureFlags
-> BufferCollectionConstraintsInfoFUCHSIA
-> BufferConstraintsInfoFUCHSIA
BufferConstraintsInfoFUCHSIA
SomeStruct BufferCreateInfo
createInfo FormatFeatureFlags
requiredFormatFeatures BufferCollectionConstraintsInfoFUCHSIA
bufferCollectionConstraints
instance Zero BufferConstraintsInfoFUCHSIA where
zero :: BufferConstraintsInfoFUCHSIA
zero = SomeStruct BufferCreateInfo
-> FormatFeatureFlags
-> BufferCollectionConstraintsInfoFUCHSIA
-> BufferConstraintsInfoFUCHSIA
BufferConstraintsInfoFUCHSIA
(BufferCreateInfo '[] -> SomeStruct BufferCreateInfo
forall (a :: [*] -> *) (es :: [*]).
(Extendss a es, PokeChain es, Show (Chain es)) =>
a es -> SomeStruct a
SomeStruct BufferCreateInfo '[]
forall a. Zero a => a
zero)
FormatFeatureFlags
forall a. Zero a => a
zero
BufferCollectionConstraintsInfoFUCHSIA
forall a. Zero a => a
zero
data SysmemColorSpaceFUCHSIA = SysmemColorSpaceFUCHSIA
{
SysmemColorSpaceFUCHSIA -> Word32
colorSpace :: Word32 }
deriving (Typeable, SysmemColorSpaceFUCHSIA -> SysmemColorSpaceFUCHSIA -> Bool
(SysmemColorSpaceFUCHSIA -> SysmemColorSpaceFUCHSIA -> Bool)
-> (SysmemColorSpaceFUCHSIA -> SysmemColorSpaceFUCHSIA -> Bool)
-> Eq SysmemColorSpaceFUCHSIA
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SysmemColorSpaceFUCHSIA -> SysmemColorSpaceFUCHSIA -> Bool
$c/= :: SysmemColorSpaceFUCHSIA -> SysmemColorSpaceFUCHSIA -> Bool
== :: SysmemColorSpaceFUCHSIA -> SysmemColorSpaceFUCHSIA -> Bool
$c== :: SysmemColorSpaceFUCHSIA -> SysmemColorSpaceFUCHSIA -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (SysmemColorSpaceFUCHSIA)
#endif
deriving instance Show SysmemColorSpaceFUCHSIA
instance ToCStruct SysmemColorSpaceFUCHSIA where
withCStruct :: SysmemColorSpaceFUCHSIA
-> (Ptr SysmemColorSpaceFUCHSIA -> IO b) -> IO b
withCStruct SysmemColorSpaceFUCHSIA
x Ptr SysmemColorSpaceFUCHSIA -> IO b
f = Int -> (Ptr SysmemColorSpaceFUCHSIA -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
24 ((Ptr SysmemColorSpaceFUCHSIA -> IO b) -> IO b)
-> (Ptr SysmemColorSpaceFUCHSIA -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr SysmemColorSpaceFUCHSIA
p -> Ptr SysmemColorSpaceFUCHSIA
-> SysmemColorSpaceFUCHSIA -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr SysmemColorSpaceFUCHSIA
p SysmemColorSpaceFUCHSIA
x (Ptr SysmemColorSpaceFUCHSIA -> IO b
f Ptr SysmemColorSpaceFUCHSIA
p)
pokeCStruct :: Ptr SysmemColorSpaceFUCHSIA
-> SysmemColorSpaceFUCHSIA -> IO b -> IO b
pokeCStruct Ptr SysmemColorSpaceFUCHSIA
p SysmemColorSpaceFUCHSIA{Word32
colorSpace :: Word32
$sel:colorSpace:SysmemColorSpaceFUCHSIA :: SysmemColorSpaceFUCHSIA -> Word32
..} IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr SysmemColorSpaceFUCHSIA
p Ptr SysmemColorSpaceFUCHSIA -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr SysmemColorSpaceFUCHSIA
p Ptr SysmemColorSpaceFUCHSIA -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr SysmemColorSpaceFUCHSIA
p Ptr SysmemColorSpaceFUCHSIA -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Word32)) (Word32
colorSpace)
IO b
f
cStructSize :: Int
cStructSize = Int
24
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: Ptr SysmemColorSpaceFUCHSIA -> IO b -> IO b
pokeZeroCStruct Ptr SysmemColorSpaceFUCHSIA
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr SysmemColorSpaceFUCHSIA
p Ptr SysmemColorSpaceFUCHSIA -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr SysmemColorSpaceFUCHSIA
p Ptr SysmemColorSpaceFUCHSIA -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr SysmemColorSpaceFUCHSIA
p Ptr SysmemColorSpaceFUCHSIA -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct SysmemColorSpaceFUCHSIA where
peekCStruct :: Ptr SysmemColorSpaceFUCHSIA -> IO SysmemColorSpaceFUCHSIA
peekCStruct Ptr SysmemColorSpaceFUCHSIA
p = do
Word32
colorSpace <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr SysmemColorSpaceFUCHSIA
p Ptr SysmemColorSpaceFUCHSIA -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Word32))
SysmemColorSpaceFUCHSIA -> IO SysmemColorSpaceFUCHSIA
forall (f :: * -> *) a. Applicative f => a -> f a
pure (SysmemColorSpaceFUCHSIA -> IO SysmemColorSpaceFUCHSIA)
-> SysmemColorSpaceFUCHSIA -> IO SysmemColorSpaceFUCHSIA
forall a b. (a -> b) -> a -> b
$ Word32 -> SysmemColorSpaceFUCHSIA
SysmemColorSpaceFUCHSIA
Word32
colorSpace
instance Storable SysmemColorSpaceFUCHSIA where
sizeOf :: SysmemColorSpaceFUCHSIA -> Int
sizeOf ~SysmemColorSpaceFUCHSIA
_ = Int
24
alignment :: SysmemColorSpaceFUCHSIA -> Int
alignment ~SysmemColorSpaceFUCHSIA
_ = Int
8
peek :: Ptr SysmemColorSpaceFUCHSIA -> IO SysmemColorSpaceFUCHSIA
peek = Ptr SysmemColorSpaceFUCHSIA -> IO SysmemColorSpaceFUCHSIA
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr SysmemColorSpaceFUCHSIA -> SysmemColorSpaceFUCHSIA -> IO ()
poke Ptr SysmemColorSpaceFUCHSIA
ptr SysmemColorSpaceFUCHSIA
poked = Ptr SysmemColorSpaceFUCHSIA
-> SysmemColorSpaceFUCHSIA -> IO () -> IO ()
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr SysmemColorSpaceFUCHSIA
ptr SysmemColorSpaceFUCHSIA
poked (() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero SysmemColorSpaceFUCHSIA where
zero :: SysmemColorSpaceFUCHSIA
zero = Word32 -> SysmemColorSpaceFUCHSIA
SysmemColorSpaceFUCHSIA
Word32
forall a. Zero a => a
zero
data ImageFormatConstraintsInfoFUCHSIA = ImageFormatConstraintsInfoFUCHSIA
{
ImageFormatConstraintsInfoFUCHSIA -> SomeStruct ImageCreateInfo
imageCreateInfo :: SomeStruct ImageCreateInfo
,
ImageFormatConstraintsInfoFUCHSIA -> FormatFeatureFlags
requiredFormatFeatures :: FormatFeatureFlags
,
ImageFormatConstraintsInfoFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA
flags :: ImageFormatConstraintsFlagsFUCHSIA
,
ImageFormatConstraintsInfoFUCHSIA -> Word64
sysmemPixelFormat :: Word64
,
ImageFormatConstraintsInfoFUCHSIA -> Word32
colorSpaceCount :: Word32
,
ImageFormatConstraintsInfoFUCHSIA -> SysmemColorSpaceFUCHSIA
colorSpaces :: SysmemColorSpaceFUCHSIA
}
deriving (Typeable)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (ImageFormatConstraintsInfoFUCHSIA)
#endif
deriving instance Show ImageFormatConstraintsInfoFUCHSIA
instance ToCStruct ImageFormatConstraintsInfoFUCHSIA where
withCStruct :: ImageFormatConstraintsInfoFUCHSIA
-> (Ptr ImageFormatConstraintsInfoFUCHSIA -> IO b) -> IO b
withCStruct ImageFormatConstraintsInfoFUCHSIA
x Ptr ImageFormatConstraintsInfoFUCHSIA -> IO b
f = Int -> (Ptr ImageFormatConstraintsInfoFUCHSIA -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
136 ((Ptr ImageFormatConstraintsInfoFUCHSIA -> IO b) -> IO b)
-> (Ptr ImageFormatConstraintsInfoFUCHSIA -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr ImageFormatConstraintsInfoFUCHSIA
p -> Ptr ImageFormatConstraintsInfoFUCHSIA
-> ImageFormatConstraintsInfoFUCHSIA -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr ImageFormatConstraintsInfoFUCHSIA
p ImageFormatConstraintsInfoFUCHSIA
x (Ptr ImageFormatConstraintsInfoFUCHSIA -> IO b
f Ptr ImageFormatConstraintsInfoFUCHSIA
p)
pokeCStruct :: Ptr ImageFormatConstraintsInfoFUCHSIA
-> ImageFormatConstraintsInfoFUCHSIA -> IO b -> IO b
pokeCStruct Ptr ImageFormatConstraintsInfoFUCHSIA
p ImageFormatConstraintsInfoFUCHSIA{Word32
Word64
SysmemColorSpaceFUCHSIA
FormatFeatureFlags
SomeStruct ImageCreateInfo
ImageFormatConstraintsFlagsFUCHSIA
colorSpaces :: SysmemColorSpaceFUCHSIA
colorSpaceCount :: Word32
sysmemPixelFormat :: Word64
flags :: ImageFormatConstraintsFlagsFUCHSIA
requiredFormatFeatures :: FormatFeatureFlags
imageCreateInfo :: SomeStruct ImageCreateInfo
$sel:colorSpaces:ImageFormatConstraintsInfoFUCHSIA :: ImageFormatConstraintsInfoFUCHSIA -> SysmemColorSpaceFUCHSIA
$sel:colorSpaceCount:ImageFormatConstraintsInfoFUCHSIA :: ImageFormatConstraintsInfoFUCHSIA -> Word32
$sel:sysmemPixelFormat:ImageFormatConstraintsInfoFUCHSIA :: ImageFormatConstraintsInfoFUCHSIA -> Word64
$sel:flags:ImageFormatConstraintsInfoFUCHSIA :: ImageFormatConstraintsInfoFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA
$sel:requiredFormatFeatures:ImageFormatConstraintsInfoFUCHSIA :: ImageFormatConstraintsInfoFUCHSIA -> FormatFeatureFlags
$sel:imageCreateInfo:ImageFormatConstraintsInfoFUCHSIA :: ImageFormatConstraintsInfoFUCHSIA -> SomeStruct ImageCreateInfo
..} 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 ImageFormatConstraintsInfoFUCHSIA
p Ptr ImageFormatConstraintsInfoFUCHSIA -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA)
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 ImageFormatConstraintsInfoFUCHSIA
p Ptr ImageFormatConstraintsInfoFUCHSIA -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
((() -> IO b) -> IO b) -> ContT b IO ()
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((() -> IO b) -> IO b) -> ContT b IO ())
-> ((() -> IO b) -> IO b) -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr (SomeStruct ImageCreateInfo)
-> SomeStruct ImageCreateInfo -> IO b -> IO b
forall (a :: [*] -> *) b.
(forall (es :: [*]).
(Extendss a es, PokeChain es) =>
ToCStruct (a es)) =>
Ptr (SomeStruct a) -> SomeStruct a -> IO b -> IO b
pokeSomeCStruct (Ptr (ImageCreateInfo Any) -> Ptr (SomeStruct ImageCreateInfo)
forall (a :: [*] -> *) (es :: [*]).
Ptr (a es) -> Ptr (SomeStruct a)
forgetExtensions ((Ptr ImageFormatConstraintsInfoFUCHSIA
p Ptr ImageFormatConstraintsInfoFUCHSIA
-> Int -> Ptr (ImageCreateInfo _)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr (ImageCreateInfo _)))) (SomeStruct ImageCreateInfo
imageCreateInfo) (IO b -> IO b) -> ((() -> IO b) -> IO b) -> (() -> IO b) -> IO b
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((() -> IO b) -> () -> IO b
forall a b. (a -> b) -> a -> b
$ ())
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 FormatFeatureFlags -> FormatFeatureFlags -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr ImageFormatConstraintsInfoFUCHSIA
p Ptr ImageFormatConstraintsInfoFUCHSIA
-> Int -> Ptr FormatFeatureFlags
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
104 :: Ptr FormatFeatureFlags)) (FormatFeatureFlags
requiredFormatFeatures)
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 ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr ImageFormatConstraintsInfoFUCHSIA
p Ptr ImageFormatConstraintsInfoFUCHSIA
-> Int -> Ptr ImageFormatConstraintsFlagsFUCHSIA
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
108 :: Ptr ImageFormatConstraintsFlagsFUCHSIA)) (ImageFormatConstraintsFlagsFUCHSIA
flags)
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 Word64 -> Word64 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr ImageFormatConstraintsInfoFUCHSIA
p Ptr ImageFormatConstraintsInfoFUCHSIA -> Int -> Ptr Word64
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
112 :: Ptr Word64)) (Word64
sysmemPixelFormat)
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 Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr ImageFormatConstraintsInfoFUCHSIA
p Ptr ImageFormatConstraintsInfoFUCHSIA -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
120 :: Ptr Word32)) (Word32
colorSpaceCount)
Ptr SysmemColorSpaceFUCHSIA
pColorSpaces'' <- ((Ptr SysmemColorSpaceFUCHSIA -> IO b) -> IO b)
-> ContT b IO (Ptr SysmemColorSpaceFUCHSIA)
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr SysmemColorSpaceFUCHSIA -> IO b) -> IO b)
-> ContT b IO (Ptr SysmemColorSpaceFUCHSIA))
-> ((Ptr SysmemColorSpaceFUCHSIA -> IO b) -> IO b)
-> ContT b IO (Ptr SysmemColorSpaceFUCHSIA)
forall a b. (a -> b) -> a -> b
$ SysmemColorSpaceFUCHSIA
-> (Ptr SysmemColorSpaceFUCHSIA -> IO b) -> IO b
forall a b. ToCStruct a => a -> (Ptr a -> IO b) -> IO b
withCStruct (SysmemColorSpaceFUCHSIA
colorSpaces)
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 SysmemColorSpaceFUCHSIA)
-> Ptr SysmemColorSpaceFUCHSIA -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr ImageFormatConstraintsInfoFUCHSIA
p Ptr ImageFormatConstraintsInfoFUCHSIA
-> Int -> Ptr (Ptr SysmemColorSpaceFUCHSIA)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
128 :: Ptr (Ptr SysmemColorSpaceFUCHSIA))) Ptr SysmemColorSpaceFUCHSIA
pColorSpaces''
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
136
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: Ptr ImageFormatConstraintsInfoFUCHSIA -> IO b -> IO b
pokeZeroCStruct Ptr ImageFormatConstraintsInfoFUCHSIA
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 ImageFormatConstraintsInfoFUCHSIA
p Ptr ImageFormatConstraintsInfoFUCHSIA -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA)
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 ImageFormatConstraintsInfoFUCHSIA
p Ptr ImageFormatConstraintsInfoFUCHSIA -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
((() -> IO b) -> IO b) -> ContT b IO ()
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((() -> IO b) -> IO b) -> ContT b IO ())
-> ((() -> IO b) -> IO b) -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr (SomeStruct ImageCreateInfo)
-> SomeStruct ImageCreateInfo -> IO b -> IO b
forall (a :: [*] -> *) b.
(forall (es :: [*]).
(Extendss a es, PokeChain es) =>
ToCStruct (a es)) =>
Ptr (SomeStruct a) -> SomeStruct a -> IO b -> IO b
pokeSomeCStruct (Ptr (ImageCreateInfo Any) -> Ptr (SomeStruct ImageCreateInfo)
forall (a :: [*] -> *) (es :: [*]).
Ptr (a es) -> Ptr (SomeStruct a)
forgetExtensions ((Ptr ImageFormatConstraintsInfoFUCHSIA
p Ptr ImageFormatConstraintsInfoFUCHSIA
-> Int -> Ptr (ImageCreateInfo _)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr (ImageCreateInfo _)))) ((ImageCreateInfo '[] -> SomeStruct ImageCreateInfo
forall (a :: [*] -> *) (es :: [*]).
(Extendss a es, PokeChain es, Show (Chain es)) =>
a es -> SomeStruct a
SomeStruct ImageCreateInfo '[]
forall a. Zero a => a
zero)) (IO b -> IO b) -> ((() -> IO b) -> IO b) -> (() -> IO b) -> IO b
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((() -> IO b) -> () -> IO b
forall a b. (a -> b) -> a -> b
$ ())
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 FormatFeatureFlags -> FormatFeatureFlags -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr ImageFormatConstraintsInfoFUCHSIA
p Ptr ImageFormatConstraintsInfoFUCHSIA
-> Int -> Ptr FormatFeatureFlags
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
104 :: Ptr FormatFeatureFlags)) (FormatFeatureFlags
forall a. Zero a => a
zero)
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 Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr ImageFormatConstraintsInfoFUCHSIA
p Ptr ImageFormatConstraintsInfoFUCHSIA -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
120 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
Ptr SysmemColorSpaceFUCHSIA
pColorSpaces'' <- ((Ptr SysmemColorSpaceFUCHSIA -> IO b) -> IO b)
-> ContT b IO (Ptr SysmemColorSpaceFUCHSIA)
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr SysmemColorSpaceFUCHSIA -> IO b) -> IO b)
-> ContT b IO (Ptr SysmemColorSpaceFUCHSIA))
-> ((Ptr SysmemColorSpaceFUCHSIA -> IO b) -> IO b)
-> ContT b IO (Ptr SysmemColorSpaceFUCHSIA)
forall a b. (a -> b) -> a -> b
$ SysmemColorSpaceFUCHSIA
-> (Ptr SysmemColorSpaceFUCHSIA -> IO b) -> IO b
forall a b. ToCStruct a => a -> (Ptr a -> IO b) -> IO b
withCStruct (SysmemColorSpaceFUCHSIA
forall a. Zero a => a
zero)
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 SysmemColorSpaceFUCHSIA)
-> Ptr SysmemColorSpaceFUCHSIA -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr ImageFormatConstraintsInfoFUCHSIA
p Ptr ImageFormatConstraintsInfoFUCHSIA
-> Int -> Ptr (Ptr SysmemColorSpaceFUCHSIA)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
128 :: Ptr (Ptr SysmemColorSpaceFUCHSIA))) Ptr SysmemColorSpaceFUCHSIA
pColorSpaces''
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 FromCStruct ImageFormatConstraintsInfoFUCHSIA where
peekCStruct :: Ptr ImageFormatConstraintsInfoFUCHSIA
-> IO ImageFormatConstraintsInfoFUCHSIA
peekCStruct Ptr ImageFormatConstraintsInfoFUCHSIA
p = do
SomeStruct ImageCreateInfo
imageCreateInfo <- Ptr (SomeStruct ImageCreateInfo) -> IO (SomeStruct ImageCreateInfo)
forall (a :: [*] -> *).
(Extensible a,
forall (es :: [*]).
(Extendss a es, PeekChain es) =>
FromCStruct (a es)) =>
Ptr (SomeStruct a) -> IO (SomeStruct a)
peekSomeCStruct (Ptr (ImageCreateInfo Any) -> Ptr (SomeStruct ImageCreateInfo)
forall (a :: [*] -> *) (es :: [*]).
Ptr (a es) -> Ptr (SomeStruct a)
forgetExtensions ((Ptr ImageFormatConstraintsInfoFUCHSIA
p Ptr ImageFormatConstraintsInfoFUCHSIA
-> Int -> Ptr (ImageCreateInfo _)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr (ImageCreateInfo _))))
FormatFeatureFlags
requiredFormatFeatures <- Ptr FormatFeatureFlags -> IO FormatFeatureFlags
forall a. Storable a => Ptr a -> IO a
peek @FormatFeatureFlags ((Ptr ImageFormatConstraintsInfoFUCHSIA
p Ptr ImageFormatConstraintsInfoFUCHSIA
-> Int -> Ptr FormatFeatureFlags
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
104 :: Ptr FormatFeatureFlags))
ImageFormatConstraintsFlagsFUCHSIA
flags <- Ptr ImageFormatConstraintsFlagsFUCHSIA
-> IO ImageFormatConstraintsFlagsFUCHSIA
forall a. Storable a => Ptr a -> IO a
peek @ImageFormatConstraintsFlagsFUCHSIA ((Ptr ImageFormatConstraintsInfoFUCHSIA
p Ptr ImageFormatConstraintsInfoFUCHSIA
-> Int -> Ptr ImageFormatConstraintsFlagsFUCHSIA
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
108 :: Ptr ImageFormatConstraintsFlagsFUCHSIA))
Word64
sysmemPixelFormat <- Ptr Word64 -> IO Word64
forall a. Storable a => Ptr a -> IO a
peek @Word64 ((Ptr ImageFormatConstraintsInfoFUCHSIA
p Ptr ImageFormatConstraintsInfoFUCHSIA -> Int -> Ptr Word64
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
112 :: Ptr Word64))
Word32
colorSpaceCount <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr ImageFormatConstraintsInfoFUCHSIA
p Ptr ImageFormatConstraintsInfoFUCHSIA -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
120 :: Ptr Word32))
SysmemColorSpaceFUCHSIA
pColorSpaces <- FromCStruct SysmemColorSpaceFUCHSIA =>
Ptr SysmemColorSpaceFUCHSIA -> IO SysmemColorSpaceFUCHSIA
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct @SysmemColorSpaceFUCHSIA (Ptr SysmemColorSpaceFUCHSIA -> IO SysmemColorSpaceFUCHSIA)
-> IO (Ptr SysmemColorSpaceFUCHSIA) -> IO SysmemColorSpaceFUCHSIA
forall (m :: * -> *) a b. Monad m => (a -> m b) -> m a -> m b
=<< Ptr (Ptr SysmemColorSpaceFUCHSIA)
-> IO (Ptr SysmemColorSpaceFUCHSIA)
forall a. Storable a => Ptr a -> IO a
peek ((Ptr ImageFormatConstraintsInfoFUCHSIA
p Ptr ImageFormatConstraintsInfoFUCHSIA
-> Int -> Ptr (Ptr SysmemColorSpaceFUCHSIA)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
128 :: Ptr (Ptr SysmemColorSpaceFUCHSIA)))
ImageFormatConstraintsInfoFUCHSIA
-> IO ImageFormatConstraintsInfoFUCHSIA
forall (f :: * -> *) a. Applicative f => a -> f a
pure (ImageFormatConstraintsInfoFUCHSIA
-> IO ImageFormatConstraintsInfoFUCHSIA)
-> ImageFormatConstraintsInfoFUCHSIA
-> IO ImageFormatConstraintsInfoFUCHSIA
forall a b. (a -> b) -> a -> b
$ SomeStruct ImageCreateInfo
-> FormatFeatureFlags
-> ImageFormatConstraintsFlagsFUCHSIA
-> Word64
-> Word32
-> SysmemColorSpaceFUCHSIA
-> ImageFormatConstraintsInfoFUCHSIA
ImageFormatConstraintsInfoFUCHSIA
SomeStruct ImageCreateInfo
imageCreateInfo FormatFeatureFlags
requiredFormatFeatures ImageFormatConstraintsFlagsFUCHSIA
flags Word64
sysmemPixelFormat Word32
colorSpaceCount SysmemColorSpaceFUCHSIA
pColorSpaces
instance Zero ImageFormatConstraintsInfoFUCHSIA where
zero :: ImageFormatConstraintsInfoFUCHSIA
zero = SomeStruct ImageCreateInfo
-> FormatFeatureFlags
-> ImageFormatConstraintsFlagsFUCHSIA
-> Word64
-> Word32
-> SysmemColorSpaceFUCHSIA
-> ImageFormatConstraintsInfoFUCHSIA
ImageFormatConstraintsInfoFUCHSIA
(ImageCreateInfo '[] -> SomeStruct ImageCreateInfo
forall (a :: [*] -> *) (es :: [*]).
(Extendss a es, PokeChain es, Show (Chain es)) =>
a es -> SomeStruct a
SomeStruct ImageCreateInfo '[]
forall a. Zero a => a
zero)
FormatFeatureFlags
forall a. Zero a => a
zero
ImageFormatConstraintsFlagsFUCHSIA
forall a. Zero a => a
zero
Word64
forall a. Zero a => a
zero
Word32
forall a. Zero a => a
zero
SysmemColorSpaceFUCHSIA
forall a. Zero a => a
zero
data ImageConstraintsInfoFUCHSIA = ImageConstraintsInfoFUCHSIA
{
ImageConstraintsInfoFUCHSIA
-> Vector ImageFormatConstraintsInfoFUCHSIA
formatConstraints :: Vector ImageFormatConstraintsInfoFUCHSIA
,
ImageConstraintsInfoFUCHSIA
-> BufferCollectionConstraintsInfoFUCHSIA
bufferCollectionConstraints :: BufferCollectionConstraintsInfoFUCHSIA
,
ImageConstraintsInfoFUCHSIA -> ImageConstraintsInfoFlagsFUCHSIA
flags :: ImageConstraintsInfoFlagsFUCHSIA
}
deriving (Typeable)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (ImageConstraintsInfoFUCHSIA)
#endif
deriving instance Show ImageConstraintsInfoFUCHSIA
instance ToCStruct ImageConstraintsInfoFUCHSIA where
withCStruct :: ImageConstraintsInfoFUCHSIA
-> (("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA)
-> IO b)
-> IO b
withCStruct ImageConstraintsInfoFUCHSIA
x ("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA)
-> IO b
f = Int
-> (("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA)
-> IO b)
-> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
80 ((("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA)
-> IO b)
-> IO b)
-> (("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA)
-> IO b)
-> IO b
forall a b. (a -> b) -> a -> b
$ \"pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA
p -> ("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA)
-> ImageConstraintsInfoFUCHSIA -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct "pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA
p ImageConstraintsInfoFUCHSIA
x (("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA)
-> IO b
f "pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA
p)
pokeCStruct :: ("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA)
-> ImageConstraintsInfoFUCHSIA -> IO b -> IO b
pokeCStruct "pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA
p ImageConstraintsInfoFUCHSIA{Vector ImageFormatConstraintsInfoFUCHSIA
BufferCollectionConstraintsInfoFUCHSIA
ImageConstraintsInfoFlagsFUCHSIA
flags :: ImageConstraintsInfoFlagsFUCHSIA
bufferCollectionConstraints :: BufferCollectionConstraintsInfoFUCHSIA
formatConstraints :: Vector ImageFormatConstraintsInfoFUCHSIA
$sel:flags:ImageConstraintsInfoFUCHSIA :: ImageConstraintsInfoFUCHSIA -> ImageConstraintsInfoFlagsFUCHSIA
$sel:bufferCollectionConstraints:ImageConstraintsInfoFUCHSIA :: ImageConstraintsInfoFUCHSIA
-> BufferCollectionConstraintsInfoFUCHSIA
$sel:formatConstraints:ImageConstraintsInfoFUCHSIA :: ImageConstraintsInfoFUCHSIA
-> Vector ImageFormatConstraintsInfoFUCHSIA
..} 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 (("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA
p ("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA)
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA)
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 (("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA
p ("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA)
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
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 Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA
p ("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA)
-> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Word32)) ((Int -> Word32
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Vector ImageFormatConstraintsInfoFUCHSIA -> Int
forall a. Vector a -> Int
Data.Vector.length (Vector ImageFormatConstraintsInfoFUCHSIA -> Int)
-> Vector ImageFormatConstraintsInfoFUCHSIA -> Int
forall a b. (a -> b) -> a -> b
$ (Vector ImageFormatConstraintsInfoFUCHSIA
formatConstraints)) :: Word32))
Ptr ImageFormatConstraintsInfoFUCHSIA
pPFormatConstraints' <- ((Ptr ImageFormatConstraintsInfoFUCHSIA -> IO b) -> IO b)
-> ContT b IO (Ptr ImageFormatConstraintsInfoFUCHSIA)
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr ImageFormatConstraintsInfoFUCHSIA -> IO b) -> IO b)
-> ContT b IO (Ptr ImageFormatConstraintsInfoFUCHSIA))
-> ((Ptr ImageFormatConstraintsInfoFUCHSIA -> IO b) -> IO b)
-> ContT b IO (Ptr ImageFormatConstraintsInfoFUCHSIA)
forall a b. (a -> b) -> a -> b
$ Int -> (Ptr ImageFormatConstraintsInfoFUCHSIA -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes @ImageFormatConstraintsInfoFUCHSIA ((Vector ImageFormatConstraintsInfoFUCHSIA -> Int
forall a. Vector a -> Int
Data.Vector.length (Vector ImageFormatConstraintsInfoFUCHSIA
formatConstraints)) Int -> Int -> Int
forall a. Num a => a -> a -> a
* Int
136)
(Int -> ImageFormatConstraintsInfoFUCHSIA -> ContT b IO ())
-> Vector ImageFormatConstraintsInfoFUCHSIA -> ContT b IO ()
forall (m :: * -> *) a b.
Monad m =>
(Int -> a -> m b) -> Vector a -> m ()
Data.Vector.imapM_ (\Int
i ImageFormatConstraintsInfoFUCHSIA
e -> ((() -> IO b) -> IO b) -> ContT b IO ()
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((() -> IO b) -> IO b) -> ContT b IO ())
-> ((() -> IO b) -> IO b) -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr ImageFormatConstraintsInfoFUCHSIA
-> ImageFormatConstraintsInfoFUCHSIA -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct (Ptr ImageFormatConstraintsInfoFUCHSIA
pPFormatConstraints' Ptr ImageFormatConstraintsInfoFUCHSIA
-> Int -> Ptr ImageFormatConstraintsInfoFUCHSIA
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` (Int
136 Int -> Int -> Int
forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr ImageFormatConstraintsInfoFUCHSIA) (ImageFormatConstraintsInfoFUCHSIA
e) (IO b -> IO b) -> ((() -> IO b) -> IO b) -> (() -> IO b) -> IO b
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((() -> IO b) -> () -> IO b
forall a b. (a -> b) -> a -> b
$ ())) (Vector ImageFormatConstraintsInfoFUCHSIA
formatConstraints)
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 ImageFormatConstraintsInfoFUCHSIA)
-> Ptr ImageFormatConstraintsInfoFUCHSIA -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA
p ("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA)
-> Int -> Ptr (Ptr ImageFormatConstraintsInfoFUCHSIA)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr (Ptr ImageFormatConstraintsInfoFUCHSIA))) (Ptr ImageFormatConstraintsInfoFUCHSIA
pPFormatConstraints')
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 BufferCollectionConstraintsInfoFUCHSIA
-> BufferCollectionConstraintsInfoFUCHSIA -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA
p ("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA)
-> Int -> Ptr BufferCollectionConstraintsInfoFUCHSIA
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr BufferCollectionConstraintsInfoFUCHSIA)) (BufferCollectionConstraintsInfoFUCHSIA
bufferCollectionConstraints)
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 ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA
p ("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA)
-> Int -> Ptr ImageConstraintsInfoFlagsFUCHSIA
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
72 :: Ptr ImageConstraintsInfoFlagsFUCHSIA)) (ImageConstraintsInfoFlagsFUCHSIA
flags)
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
80
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: ("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA)
-> IO b -> IO b
pokeZeroCStruct "pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA
p ("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA)
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA
p ("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA)
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr BufferCollectionConstraintsInfoFUCHSIA
-> BufferCollectionConstraintsInfoFUCHSIA -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA
p ("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA)
-> Int -> Ptr BufferCollectionConstraintsInfoFUCHSIA
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr BufferCollectionConstraintsInfoFUCHSIA)) (BufferCollectionConstraintsInfoFUCHSIA
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct ImageConstraintsInfoFUCHSIA where
peekCStruct :: ("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA)
-> IO ImageConstraintsInfoFUCHSIA
peekCStruct "pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA
p = do
Word32
formatConstraintsCount <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 (("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA
p ("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA)
-> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Word32))
Ptr ImageFormatConstraintsInfoFUCHSIA
pFormatConstraints <- Ptr (Ptr ImageFormatConstraintsInfoFUCHSIA)
-> IO (Ptr ImageFormatConstraintsInfoFUCHSIA)
forall a. Storable a => Ptr a -> IO a
peek @(Ptr ImageFormatConstraintsInfoFUCHSIA) (("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA
p ("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA)
-> Int -> Ptr (Ptr ImageFormatConstraintsInfoFUCHSIA)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr (Ptr ImageFormatConstraintsInfoFUCHSIA)))
Vector ImageFormatConstraintsInfoFUCHSIA
pFormatConstraints' <- Int
-> (Int -> IO ImageFormatConstraintsInfoFUCHSIA)
-> IO (Vector ImageFormatConstraintsInfoFUCHSIA)
forall (m :: * -> *) a.
Monad m =>
Int -> (Int -> m a) -> m (Vector a)
generateM (Word32 -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral Word32
formatConstraintsCount) (\Int
i -> Ptr ImageFormatConstraintsInfoFUCHSIA
-> IO ImageFormatConstraintsInfoFUCHSIA
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct @ImageFormatConstraintsInfoFUCHSIA ((Ptr ImageFormatConstraintsInfoFUCHSIA
pFormatConstraints Ptr ImageFormatConstraintsInfoFUCHSIA
-> Int -> Ptr ImageFormatConstraintsInfoFUCHSIA
forall a. Ptr a -> Int -> Ptr a
`advancePtrBytes` (Int
136 Int -> Int -> Int
forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr ImageFormatConstraintsInfoFUCHSIA)))
BufferCollectionConstraintsInfoFUCHSIA
bufferCollectionConstraints <- Ptr BufferCollectionConstraintsInfoFUCHSIA
-> IO BufferCollectionConstraintsInfoFUCHSIA
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct @BufferCollectionConstraintsInfoFUCHSIA (("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA
p ("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA)
-> Int -> Ptr BufferCollectionConstraintsInfoFUCHSIA
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr BufferCollectionConstraintsInfoFUCHSIA))
ImageConstraintsInfoFlagsFUCHSIA
flags <- Ptr ImageConstraintsInfoFlagsFUCHSIA
-> IO ImageConstraintsInfoFlagsFUCHSIA
forall a. Storable a => Ptr a -> IO a
peek @ImageConstraintsInfoFlagsFUCHSIA (("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA
p ("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA)
-> Int -> Ptr ImageConstraintsInfoFlagsFUCHSIA
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
72 :: Ptr ImageConstraintsInfoFlagsFUCHSIA))
ImageConstraintsInfoFUCHSIA -> IO ImageConstraintsInfoFUCHSIA
forall (f :: * -> *) a. Applicative f => a -> f a
pure (ImageConstraintsInfoFUCHSIA -> IO ImageConstraintsInfoFUCHSIA)
-> ImageConstraintsInfoFUCHSIA -> IO ImageConstraintsInfoFUCHSIA
forall a b. (a -> b) -> a -> b
$ Vector ImageFormatConstraintsInfoFUCHSIA
-> BufferCollectionConstraintsInfoFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFUCHSIA
ImageConstraintsInfoFUCHSIA
Vector ImageFormatConstraintsInfoFUCHSIA
pFormatConstraints' BufferCollectionConstraintsInfoFUCHSIA
bufferCollectionConstraints ImageConstraintsInfoFlagsFUCHSIA
flags
instance Zero ImageConstraintsInfoFUCHSIA where
zero :: ImageConstraintsInfoFUCHSIA
zero = Vector ImageFormatConstraintsInfoFUCHSIA
-> BufferCollectionConstraintsInfoFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFUCHSIA
ImageConstraintsInfoFUCHSIA
Vector ImageFormatConstraintsInfoFUCHSIA
forall a. Monoid a => a
mempty
BufferCollectionConstraintsInfoFUCHSIA
forall a. Zero a => a
zero
ImageConstraintsInfoFlagsFUCHSIA
forall a. Zero a => a
zero
data BufferCollectionConstraintsInfoFUCHSIA = BufferCollectionConstraintsInfoFUCHSIA
{
BufferCollectionConstraintsInfoFUCHSIA -> Word32
minBufferCount :: Word32
,
BufferCollectionConstraintsInfoFUCHSIA -> Word32
maxBufferCount :: Word32
,
BufferCollectionConstraintsInfoFUCHSIA -> Word32
minBufferCountForCamping :: Word32
,
BufferCollectionConstraintsInfoFUCHSIA -> Word32
minBufferCountForDedicatedSlack :: Word32
,
BufferCollectionConstraintsInfoFUCHSIA -> Word32
minBufferCountForSharedSlack :: Word32
}
deriving (Typeable, BufferCollectionConstraintsInfoFUCHSIA
-> BufferCollectionConstraintsInfoFUCHSIA -> Bool
(BufferCollectionConstraintsInfoFUCHSIA
-> BufferCollectionConstraintsInfoFUCHSIA -> Bool)
-> (BufferCollectionConstraintsInfoFUCHSIA
-> BufferCollectionConstraintsInfoFUCHSIA -> Bool)
-> Eq BufferCollectionConstraintsInfoFUCHSIA
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: BufferCollectionConstraintsInfoFUCHSIA
-> BufferCollectionConstraintsInfoFUCHSIA -> Bool
$c/= :: BufferCollectionConstraintsInfoFUCHSIA
-> BufferCollectionConstraintsInfoFUCHSIA -> Bool
== :: BufferCollectionConstraintsInfoFUCHSIA
-> BufferCollectionConstraintsInfoFUCHSIA -> Bool
$c== :: BufferCollectionConstraintsInfoFUCHSIA
-> BufferCollectionConstraintsInfoFUCHSIA -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (BufferCollectionConstraintsInfoFUCHSIA)
#endif
deriving instance Show BufferCollectionConstraintsInfoFUCHSIA
instance ToCStruct BufferCollectionConstraintsInfoFUCHSIA where
withCStruct :: BufferCollectionConstraintsInfoFUCHSIA
-> (Ptr BufferCollectionConstraintsInfoFUCHSIA -> IO b) -> IO b
withCStruct BufferCollectionConstraintsInfoFUCHSIA
x Ptr BufferCollectionConstraintsInfoFUCHSIA -> IO b
f = Int -> (Ptr BufferCollectionConstraintsInfoFUCHSIA -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
40 ((Ptr BufferCollectionConstraintsInfoFUCHSIA -> IO b) -> IO b)
-> (Ptr BufferCollectionConstraintsInfoFUCHSIA -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr BufferCollectionConstraintsInfoFUCHSIA
p -> Ptr BufferCollectionConstraintsInfoFUCHSIA
-> BufferCollectionConstraintsInfoFUCHSIA -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr BufferCollectionConstraintsInfoFUCHSIA
p BufferCollectionConstraintsInfoFUCHSIA
x (Ptr BufferCollectionConstraintsInfoFUCHSIA -> IO b
f Ptr BufferCollectionConstraintsInfoFUCHSIA
p)
pokeCStruct :: Ptr BufferCollectionConstraintsInfoFUCHSIA
-> BufferCollectionConstraintsInfoFUCHSIA -> IO b -> IO b
pokeCStruct Ptr BufferCollectionConstraintsInfoFUCHSIA
p BufferCollectionConstraintsInfoFUCHSIA{Word32
minBufferCountForSharedSlack :: Word32
minBufferCountForDedicatedSlack :: Word32
minBufferCountForCamping :: Word32
maxBufferCount :: Word32
minBufferCount :: Word32
$sel:minBufferCountForSharedSlack:BufferCollectionConstraintsInfoFUCHSIA :: BufferCollectionConstraintsInfoFUCHSIA -> Word32
$sel:minBufferCountForDedicatedSlack:BufferCollectionConstraintsInfoFUCHSIA :: BufferCollectionConstraintsInfoFUCHSIA -> Word32
$sel:minBufferCountForCamping:BufferCollectionConstraintsInfoFUCHSIA :: BufferCollectionConstraintsInfoFUCHSIA -> Word32
$sel:maxBufferCount:BufferCollectionConstraintsInfoFUCHSIA :: BufferCollectionConstraintsInfoFUCHSIA -> Word32
$sel:minBufferCount:BufferCollectionConstraintsInfoFUCHSIA :: BufferCollectionConstraintsInfoFUCHSIA -> Word32
..} IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferCollectionConstraintsInfoFUCHSIA
p Ptr BufferCollectionConstraintsInfoFUCHSIA
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferCollectionConstraintsInfoFUCHSIA
p Ptr BufferCollectionConstraintsInfoFUCHSIA -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferCollectionConstraintsInfoFUCHSIA
p Ptr BufferCollectionConstraintsInfoFUCHSIA -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Word32)) (Word32
minBufferCount)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferCollectionConstraintsInfoFUCHSIA
p Ptr BufferCollectionConstraintsInfoFUCHSIA -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Word32)) (Word32
maxBufferCount)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferCollectionConstraintsInfoFUCHSIA
p Ptr BufferCollectionConstraintsInfoFUCHSIA -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr Word32)) (Word32
minBufferCountForCamping)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferCollectionConstraintsInfoFUCHSIA
p Ptr BufferCollectionConstraintsInfoFUCHSIA -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
28 :: Ptr Word32)) (Word32
minBufferCountForDedicatedSlack)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferCollectionConstraintsInfoFUCHSIA
p Ptr BufferCollectionConstraintsInfoFUCHSIA -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr Word32)) (Word32
minBufferCountForSharedSlack)
IO b
f
cStructSize :: Int
cStructSize = Int
40
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: Ptr BufferCollectionConstraintsInfoFUCHSIA -> IO b -> IO b
pokeZeroCStruct Ptr BufferCollectionConstraintsInfoFUCHSIA
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferCollectionConstraintsInfoFUCHSIA
p Ptr BufferCollectionConstraintsInfoFUCHSIA
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferCollectionConstraintsInfoFUCHSIA
p Ptr BufferCollectionConstraintsInfoFUCHSIA -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferCollectionConstraintsInfoFUCHSIA
p Ptr BufferCollectionConstraintsInfoFUCHSIA -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferCollectionConstraintsInfoFUCHSIA
p Ptr BufferCollectionConstraintsInfoFUCHSIA -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferCollectionConstraintsInfoFUCHSIA
p Ptr BufferCollectionConstraintsInfoFUCHSIA -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferCollectionConstraintsInfoFUCHSIA
p Ptr BufferCollectionConstraintsInfoFUCHSIA -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
28 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferCollectionConstraintsInfoFUCHSIA
p Ptr BufferCollectionConstraintsInfoFUCHSIA -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct BufferCollectionConstraintsInfoFUCHSIA where
peekCStruct :: Ptr BufferCollectionConstraintsInfoFUCHSIA
-> IO BufferCollectionConstraintsInfoFUCHSIA
peekCStruct Ptr BufferCollectionConstraintsInfoFUCHSIA
p = do
Word32
minBufferCount <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr BufferCollectionConstraintsInfoFUCHSIA
p Ptr BufferCollectionConstraintsInfoFUCHSIA -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Word32))
Word32
maxBufferCount <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr BufferCollectionConstraintsInfoFUCHSIA
p Ptr BufferCollectionConstraintsInfoFUCHSIA -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Word32))
Word32
minBufferCountForCamping <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr BufferCollectionConstraintsInfoFUCHSIA
p Ptr BufferCollectionConstraintsInfoFUCHSIA -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr Word32))
Word32
minBufferCountForDedicatedSlack <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr BufferCollectionConstraintsInfoFUCHSIA
p Ptr BufferCollectionConstraintsInfoFUCHSIA -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
28 :: Ptr Word32))
Word32
minBufferCountForSharedSlack <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr BufferCollectionConstraintsInfoFUCHSIA
p Ptr BufferCollectionConstraintsInfoFUCHSIA -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr Word32))
BufferCollectionConstraintsInfoFUCHSIA
-> IO BufferCollectionConstraintsInfoFUCHSIA
forall (f :: * -> *) a. Applicative f => a -> f a
pure (BufferCollectionConstraintsInfoFUCHSIA
-> IO BufferCollectionConstraintsInfoFUCHSIA)
-> BufferCollectionConstraintsInfoFUCHSIA
-> IO BufferCollectionConstraintsInfoFUCHSIA
forall a b. (a -> b) -> a -> b
$ Word32
-> Word32
-> Word32
-> Word32
-> Word32
-> BufferCollectionConstraintsInfoFUCHSIA
BufferCollectionConstraintsInfoFUCHSIA
Word32
minBufferCount Word32
maxBufferCount Word32
minBufferCountForCamping Word32
minBufferCountForDedicatedSlack Word32
minBufferCountForSharedSlack
instance Storable BufferCollectionConstraintsInfoFUCHSIA where
sizeOf :: BufferCollectionConstraintsInfoFUCHSIA -> Int
sizeOf ~BufferCollectionConstraintsInfoFUCHSIA
_ = Int
40
alignment :: BufferCollectionConstraintsInfoFUCHSIA -> Int
alignment ~BufferCollectionConstraintsInfoFUCHSIA
_ = Int
8
peek :: Ptr BufferCollectionConstraintsInfoFUCHSIA
-> IO BufferCollectionConstraintsInfoFUCHSIA
peek = Ptr BufferCollectionConstraintsInfoFUCHSIA
-> IO BufferCollectionConstraintsInfoFUCHSIA
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr BufferCollectionConstraintsInfoFUCHSIA
-> BufferCollectionConstraintsInfoFUCHSIA -> IO ()
poke Ptr BufferCollectionConstraintsInfoFUCHSIA
ptr BufferCollectionConstraintsInfoFUCHSIA
poked = Ptr BufferCollectionConstraintsInfoFUCHSIA
-> BufferCollectionConstraintsInfoFUCHSIA -> IO () -> IO ()
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr BufferCollectionConstraintsInfoFUCHSIA
ptr BufferCollectionConstraintsInfoFUCHSIA
poked (() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero BufferCollectionConstraintsInfoFUCHSIA where
zero :: BufferCollectionConstraintsInfoFUCHSIA
zero = Word32
-> Word32
-> Word32
-> Word32
-> Word32
-> BufferCollectionConstraintsInfoFUCHSIA
BufferCollectionConstraintsInfoFUCHSIA
Word32
forall a. Zero a => a
zero
Word32
forall a. Zero a => a
zero
Word32
forall a. Zero a => a
zero
Word32
forall a. Zero a => a
zero
Word32
forall a. Zero a => a
zero
newtype ImageFormatConstraintsFlagsFUCHSIA = ImageFormatConstraintsFlagsFUCHSIA Flags
deriving newtype (ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA -> Bool
(ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA -> Bool)
-> (ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA -> Bool)
-> Eq ImageFormatConstraintsFlagsFUCHSIA
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA -> Bool
$c/= :: ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA -> Bool
== :: ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA -> Bool
$c== :: ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA -> Bool
Eq, Eq ImageFormatConstraintsFlagsFUCHSIA
Eq ImageFormatConstraintsFlagsFUCHSIA
-> (ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA -> Ordering)
-> (ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA -> Bool)
-> (ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA -> Bool)
-> (ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA -> Bool)
-> (ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA -> Bool)
-> (ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA)
-> (ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA)
-> Ord ImageFormatConstraintsFlagsFUCHSIA
ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA -> Bool
ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA -> Ordering
ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA
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 :: ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA
$cmin :: ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA
max :: ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA
$cmax :: ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA
>= :: ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA -> Bool
$c>= :: ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA -> Bool
> :: ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA -> Bool
$c> :: ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA -> Bool
<= :: ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA -> Bool
$c<= :: ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA -> Bool
< :: ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA -> Bool
$c< :: ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA -> Bool
compare :: ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA -> Ordering
$ccompare :: ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA -> Ordering
$cp1Ord :: Eq ImageFormatConstraintsFlagsFUCHSIA
Ord, Ptr b -> Int -> IO ImageFormatConstraintsFlagsFUCHSIA
Ptr b -> Int -> ImageFormatConstraintsFlagsFUCHSIA -> IO ()
Ptr ImageFormatConstraintsFlagsFUCHSIA
-> IO ImageFormatConstraintsFlagsFUCHSIA
Ptr ImageFormatConstraintsFlagsFUCHSIA
-> Int -> IO ImageFormatConstraintsFlagsFUCHSIA
Ptr ImageFormatConstraintsFlagsFUCHSIA
-> Int -> ImageFormatConstraintsFlagsFUCHSIA -> IO ()
Ptr ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA -> IO ()
ImageFormatConstraintsFlagsFUCHSIA -> Int
(ImageFormatConstraintsFlagsFUCHSIA -> Int)
-> (ImageFormatConstraintsFlagsFUCHSIA -> Int)
-> (Ptr ImageFormatConstraintsFlagsFUCHSIA
-> Int -> IO ImageFormatConstraintsFlagsFUCHSIA)
-> (Ptr ImageFormatConstraintsFlagsFUCHSIA
-> Int -> ImageFormatConstraintsFlagsFUCHSIA -> IO ())
-> (forall b.
Ptr b -> Int -> IO ImageFormatConstraintsFlagsFUCHSIA)
-> (forall b.
Ptr b -> Int -> ImageFormatConstraintsFlagsFUCHSIA -> IO ())
-> (Ptr ImageFormatConstraintsFlagsFUCHSIA
-> IO ImageFormatConstraintsFlagsFUCHSIA)
-> (Ptr ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA -> IO ())
-> Storable ImageFormatConstraintsFlagsFUCHSIA
forall b. Ptr b -> Int -> IO ImageFormatConstraintsFlagsFUCHSIA
forall b.
Ptr b -> Int -> ImageFormatConstraintsFlagsFUCHSIA -> 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 ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA -> IO ()
$cpoke :: Ptr ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA -> IO ()
peek :: Ptr ImageFormatConstraintsFlagsFUCHSIA
-> IO ImageFormatConstraintsFlagsFUCHSIA
$cpeek :: Ptr ImageFormatConstraintsFlagsFUCHSIA
-> IO ImageFormatConstraintsFlagsFUCHSIA
pokeByteOff :: Ptr b -> Int -> ImageFormatConstraintsFlagsFUCHSIA -> IO ()
$cpokeByteOff :: forall b.
Ptr b -> Int -> ImageFormatConstraintsFlagsFUCHSIA -> IO ()
peekByteOff :: Ptr b -> Int -> IO ImageFormatConstraintsFlagsFUCHSIA
$cpeekByteOff :: forall b. Ptr b -> Int -> IO ImageFormatConstraintsFlagsFUCHSIA
pokeElemOff :: Ptr ImageFormatConstraintsFlagsFUCHSIA
-> Int -> ImageFormatConstraintsFlagsFUCHSIA -> IO ()
$cpokeElemOff :: Ptr ImageFormatConstraintsFlagsFUCHSIA
-> Int -> ImageFormatConstraintsFlagsFUCHSIA -> IO ()
peekElemOff :: Ptr ImageFormatConstraintsFlagsFUCHSIA
-> Int -> IO ImageFormatConstraintsFlagsFUCHSIA
$cpeekElemOff :: Ptr ImageFormatConstraintsFlagsFUCHSIA
-> Int -> IO ImageFormatConstraintsFlagsFUCHSIA
alignment :: ImageFormatConstraintsFlagsFUCHSIA -> Int
$calignment :: ImageFormatConstraintsFlagsFUCHSIA -> Int
sizeOf :: ImageFormatConstraintsFlagsFUCHSIA -> Int
$csizeOf :: ImageFormatConstraintsFlagsFUCHSIA -> Int
Storable, ImageFormatConstraintsFlagsFUCHSIA
ImageFormatConstraintsFlagsFUCHSIA
-> Zero ImageFormatConstraintsFlagsFUCHSIA
forall a. a -> Zero a
zero :: ImageFormatConstraintsFlagsFUCHSIA
$czero :: ImageFormatConstraintsFlagsFUCHSIA
Zero, Eq ImageFormatConstraintsFlagsFUCHSIA
ImageFormatConstraintsFlagsFUCHSIA
Eq ImageFormatConstraintsFlagsFUCHSIA
-> (ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA)
-> (ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA)
-> (ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA)
-> (ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA)
-> (ImageFormatConstraintsFlagsFUCHSIA
-> Int -> ImageFormatConstraintsFlagsFUCHSIA)
-> (ImageFormatConstraintsFlagsFUCHSIA
-> Int -> ImageFormatConstraintsFlagsFUCHSIA)
-> ImageFormatConstraintsFlagsFUCHSIA
-> (Int -> ImageFormatConstraintsFlagsFUCHSIA)
-> (ImageFormatConstraintsFlagsFUCHSIA
-> Int -> ImageFormatConstraintsFlagsFUCHSIA)
-> (ImageFormatConstraintsFlagsFUCHSIA
-> Int -> ImageFormatConstraintsFlagsFUCHSIA)
-> (ImageFormatConstraintsFlagsFUCHSIA
-> Int -> ImageFormatConstraintsFlagsFUCHSIA)
-> (ImageFormatConstraintsFlagsFUCHSIA -> Int -> Bool)
-> (ImageFormatConstraintsFlagsFUCHSIA -> Maybe Int)
-> (ImageFormatConstraintsFlagsFUCHSIA -> Int)
-> (ImageFormatConstraintsFlagsFUCHSIA -> Bool)
-> (ImageFormatConstraintsFlagsFUCHSIA
-> Int -> ImageFormatConstraintsFlagsFUCHSIA)
-> (ImageFormatConstraintsFlagsFUCHSIA
-> Int -> ImageFormatConstraintsFlagsFUCHSIA)
-> (ImageFormatConstraintsFlagsFUCHSIA
-> Int -> ImageFormatConstraintsFlagsFUCHSIA)
-> (ImageFormatConstraintsFlagsFUCHSIA
-> Int -> ImageFormatConstraintsFlagsFUCHSIA)
-> (ImageFormatConstraintsFlagsFUCHSIA
-> Int -> ImageFormatConstraintsFlagsFUCHSIA)
-> (ImageFormatConstraintsFlagsFUCHSIA
-> Int -> ImageFormatConstraintsFlagsFUCHSIA)
-> (ImageFormatConstraintsFlagsFUCHSIA -> Int)
-> Bits ImageFormatConstraintsFlagsFUCHSIA
Int -> ImageFormatConstraintsFlagsFUCHSIA
ImageFormatConstraintsFlagsFUCHSIA -> Bool
ImageFormatConstraintsFlagsFUCHSIA -> Int
ImageFormatConstraintsFlagsFUCHSIA -> Maybe Int
ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA
ImageFormatConstraintsFlagsFUCHSIA -> Int -> Bool
ImageFormatConstraintsFlagsFUCHSIA
-> Int -> ImageFormatConstraintsFlagsFUCHSIA
ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA
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 :: ImageFormatConstraintsFlagsFUCHSIA -> Int
$cpopCount :: ImageFormatConstraintsFlagsFUCHSIA -> Int
rotateR :: ImageFormatConstraintsFlagsFUCHSIA
-> Int -> ImageFormatConstraintsFlagsFUCHSIA
$crotateR :: ImageFormatConstraintsFlagsFUCHSIA
-> Int -> ImageFormatConstraintsFlagsFUCHSIA
rotateL :: ImageFormatConstraintsFlagsFUCHSIA
-> Int -> ImageFormatConstraintsFlagsFUCHSIA
$crotateL :: ImageFormatConstraintsFlagsFUCHSIA
-> Int -> ImageFormatConstraintsFlagsFUCHSIA
unsafeShiftR :: ImageFormatConstraintsFlagsFUCHSIA
-> Int -> ImageFormatConstraintsFlagsFUCHSIA
$cunsafeShiftR :: ImageFormatConstraintsFlagsFUCHSIA
-> Int -> ImageFormatConstraintsFlagsFUCHSIA
shiftR :: ImageFormatConstraintsFlagsFUCHSIA
-> Int -> ImageFormatConstraintsFlagsFUCHSIA
$cshiftR :: ImageFormatConstraintsFlagsFUCHSIA
-> Int -> ImageFormatConstraintsFlagsFUCHSIA
unsafeShiftL :: ImageFormatConstraintsFlagsFUCHSIA
-> Int -> ImageFormatConstraintsFlagsFUCHSIA
$cunsafeShiftL :: ImageFormatConstraintsFlagsFUCHSIA
-> Int -> ImageFormatConstraintsFlagsFUCHSIA
shiftL :: ImageFormatConstraintsFlagsFUCHSIA
-> Int -> ImageFormatConstraintsFlagsFUCHSIA
$cshiftL :: ImageFormatConstraintsFlagsFUCHSIA
-> Int -> ImageFormatConstraintsFlagsFUCHSIA
isSigned :: ImageFormatConstraintsFlagsFUCHSIA -> Bool
$cisSigned :: ImageFormatConstraintsFlagsFUCHSIA -> Bool
bitSize :: ImageFormatConstraintsFlagsFUCHSIA -> Int
$cbitSize :: ImageFormatConstraintsFlagsFUCHSIA -> Int
bitSizeMaybe :: ImageFormatConstraintsFlagsFUCHSIA -> Maybe Int
$cbitSizeMaybe :: ImageFormatConstraintsFlagsFUCHSIA -> Maybe Int
testBit :: ImageFormatConstraintsFlagsFUCHSIA -> Int -> Bool
$ctestBit :: ImageFormatConstraintsFlagsFUCHSIA -> Int -> Bool
complementBit :: ImageFormatConstraintsFlagsFUCHSIA
-> Int -> ImageFormatConstraintsFlagsFUCHSIA
$ccomplementBit :: ImageFormatConstraintsFlagsFUCHSIA
-> Int -> ImageFormatConstraintsFlagsFUCHSIA
clearBit :: ImageFormatConstraintsFlagsFUCHSIA
-> Int -> ImageFormatConstraintsFlagsFUCHSIA
$cclearBit :: ImageFormatConstraintsFlagsFUCHSIA
-> Int -> ImageFormatConstraintsFlagsFUCHSIA
setBit :: ImageFormatConstraintsFlagsFUCHSIA
-> Int -> ImageFormatConstraintsFlagsFUCHSIA
$csetBit :: ImageFormatConstraintsFlagsFUCHSIA
-> Int -> ImageFormatConstraintsFlagsFUCHSIA
bit :: Int -> ImageFormatConstraintsFlagsFUCHSIA
$cbit :: Int -> ImageFormatConstraintsFlagsFUCHSIA
zeroBits :: ImageFormatConstraintsFlagsFUCHSIA
$czeroBits :: ImageFormatConstraintsFlagsFUCHSIA
rotate :: ImageFormatConstraintsFlagsFUCHSIA
-> Int -> ImageFormatConstraintsFlagsFUCHSIA
$crotate :: ImageFormatConstraintsFlagsFUCHSIA
-> Int -> ImageFormatConstraintsFlagsFUCHSIA
shift :: ImageFormatConstraintsFlagsFUCHSIA
-> Int -> ImageFormatConstraintsFlagsFUCHSIA
$cshift :: ImageFormatConstraintsFlagsFUCHSIA
-> Int -> ImageFormatConstraintsFlagsFUCHSIA
complement :: ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA
$ccomplement :: ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA
xor :: ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA
$cxor :: ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA
.|. :: ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA
$c.|. :: ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA
.&. :: ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA
$c.&. :: ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA
-> ImageFormatConstraintsFlagsFUCHSIA
$cp1Bits :: Eq ImageFormatConstraintsFlagsFUCHSIA
Bits, Bits ImageFormatConstraintsFlagsFUCHSIA
Bits ImageFormatConstraintsFlagsFUCHSIA
-> (ImageFormatConstraintsFlagsFUCHSIA -> Int)
-> (ImageFormatConstraintsFlagsFUCHSIA -> Int)
-> (ImageFormatConstraintsFlagsFUCHSIA -> Int)
-> FiniteBits ImageFormatConstraintsFlagsFUCHSIA
ImageFormatConstraintsFlagsFUCHSIA -> Int
forall b.
Bits b -> (b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
countTrailingZeros :: ImageFormatConstraintsFlagsFUCHSIA -> Int
$ccountTrailingZeros :: ImageFormatConstraintsFlagsFUCHSIA -> Int
countLeadingZeros :: ImageFormatConstraintsFlagsFUCHSIA -> Int
$ccountLeadingZeros :: ImageFormatConstraintsFlagsFUCHSIA -> Int
finiteBitSize :: ImageFormatConstraintsFlagsFUCHSIA -> Int
$cfiniteBitSize :: ImageFormatConstraintsFlagsFUCHSIA -> Int
$cp1FiniteBits :: Bits ImageFormatConstraintsFlagsFUCHSIA
FiniteBits)
conNameImageFormatConstraintsFlagsFUCHSIA :: String
conNameImageFormatConstraintsFlagsFUCHSIA :: String
conNameImageFormatConstraintsFlagsFUCHSIA = String
"ImageFormatConstraintsFlagsFUCHSIA"
enumPrefixImageFormatConstraintsFlagsFUCHSIA :: String
enumPrefixImageFormatConstraintsFlagsFUCHSIA :: String
enumPrefixImageFormatConstraintsFlagsFUCHSIA = String
""
showTableImageFormatConstraintsFlagsFUCHSIA :: [(ImageFormatConstraintsFlagsFUCHSIA, String)]
showTableImageFormatConstraintsFlagsFUCHSIA :: [(ImageFormatConstraintsFlagsFUCHSIA, String)]
showTableImageFormatConstraintsFlagsFUCHSIA = []
instance Show ImageFormatConstraintsFlagsFUCHSIA where
showsPrec :: Int -> ImageFormatConstraintsFlagsFUCHSIA -> ShowS
showsPrec = String
-> [(ImageFormatConstraintsFlagsFUCHSIA, String)]
-> String
-> (ImageFormatConstraintsFlagsFUCHSIA -> Word32)
-> (Word32 -> ShowS)
-> Int
-> ImageFormatConstraintsFlagsFUCHSIA
-> ShowS
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec String
enumPrefixImageFormatConstraintsFlagsFUCHSIA
[(ImageFormatConstraintsFlagsFUCHSIA, String)]
showTableImageFormatConstraintsFlagsFUCHSIA
String
conNameImageFormatConstraintsFlagsFUCHSIA
(\(ImageFormatConstraintsFlagsFUCHSIA Word32
x) -> Word32
x)
(\Word32
x -> String -> ShowS
showString String
"0x" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word32 -> ShowS
forall a. (Integral a, Show a) => a -> ShowS
showHex Word32
x)
instance Read ImageFormatConstraintsFlagsFUCHSIA where
readPrec :: ReadPrec ImageFormatConstraintsFlagsFUCHSIA
readPrec = String
-> [(ImageFormatConstraintsFlagsFUCHSIA, String)]
-> String
-> (Word32 -> ImageFormatConstraintsFlagsFUCHSIA)
-> ReadPrec ImageFormatConstraintsFlagsFUCHSIA
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec String
enumPrefixImageFormatConstraintsFlagsFUCHSIA
[(ImageFormatConstraintsFlagsFUCHSIA, String)]
showTableImageFormatConstraintsFlagsFUCHSIA
String
conNameImageFormatConstraintsFlagsFUCHSIA
Word32 -> ImageFormatConstraintsFlagsFUCHSIA
ImageFormatConstraintsFlagsFUCHSIA
type ImageConstraintsInfoFlagsFUCHSIA = ImageConstraintsInfoFlagBitsFUCHSIA
newtype ImageConstraintsInfoFlagBitsFUCHSIA = ImageConstraintsInfoFlagBitsFUCHSIA Flags
deriving newtype (ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA -> Bool
(ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA -> Bool)
-> (ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA -> Bool)
-> Eq ImageConstraintsInfoFlagsFUCHSIA
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA -> Bool
$c/= :: ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA -> Bool
== :: ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA -> Bool
$c== :: ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA -> Bool
Eq, Eq ImageConstraintsInfoFlagsFUCHSIA
Eq ImageConstraintsInfoFlagsFUCHSIA
-> (ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA -> Ordering)
-> (ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA -> Bool)
-> (ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA -> Bool)
-> (ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA -> Bool)
-> (ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA -> Bool)
-> (ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA)
-> (ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA)
-> Ord ImageConstraintsInfoFlagsFUCHSIA
ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA -> Bool
ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA -> Ordering
ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA
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 :: ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA
$cmin :: ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA
max :: ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA
$cmax :: ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA
>= :: ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA -> Bool
$c>= :: ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA -> Bool
> :: ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA -> Bool
$c> :: ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA -> Bool
<= :: ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA -> Bool
$c<= :: ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA -> Bool
< :: ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA -> Bool
$c< :: ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA -> Bool
compare :: ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA -> Ordering
$ccompare :: ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA -> Ordering
$cp1Ord :: Eq ImageConstraintsInfoFlagsFUCHSIA
Ord, Ptr b -> Int -> IO ImageConstraintsInfoFlagsFUCHSIA
Ptr b -> Int -> ImageConstraintsInfoFlagsFUCHSIA -> IO ()
Ptr ImageConstraintsInfoFlagsFUCHSIA
-> IO ImageConstraintsInfoFlagsFUCHSIA
Ptr ImageConstraintsInfoFlagsFUCHSIA
-> Int -> IO ImageConstraintsInfoFlagsFUCHSIA
Ptr ImageConstraintsInfoFlagsFUCHSIA
-> Int -> ImageConstraintsInfoFlagsFUCHSIA -> IO ()
Ptr ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA -> IO ()
ImageConstraintsInfoFlagsFUCHSIA -> Int
(ImageConstraintsInfoFlagsFUCHSIA -> Int)
-> (ImageConstraintsInfoFlagsFUCHSIA -> Int)
-> (Ptr ImageConstraintsInfoFlagsFUCHSIA
-> Int -> IO ImageConstraintsInfoFlagsFUCHSIA)
-> (Ptr ImageConstraintsInfoFlagsFUCHSIA
-> Int -> ImageConstraintsInfoFlagsFUCHSIA -> IO ())
-> (forall b. Ptr b -> Int -> IO ImageConstraintsInfoFlagsFUCHSIA)
-> (forall b.
Ptr b -> Int -> ImageConstraintsInfoFlagsFUCHSIA -> IO ())
-> (Ptr ImageConstraintsInfoFlagsFUCHSIA
-> IO ImageConstraintsInfoFlagsFUCHSIA)
-> (Ptr ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA -> IO ())
-> Storable ImageConstraintsInfoFlagsFUCHSIA
forall b. Ptr b -> Int -> IO ImageConstraintsInfoFlagsFUCHSIA
forall b. Ptr b -> Int -> ImageConstraintsInfoFlagsFUCHSIA -> 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 ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA -> IO ()
$cpoke :: Ptr ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA -> IO ()
peek :: Ptr ImageConstraintsInfoFlagsFUCHSIA
-> IO ImageConstraintsInfoFlagsFUCHSIA
$cpeek :: Ptr ImageConstraintsInfoFlagsFUCHSIA
-> IO ImageConstraintsInfoFlagsFUCHSIA
pokeByteOff :: Ptr b -> Int -> ImageConstraintsInfoFlagsFUCHSIA -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> ImageConstraintsInfoFlagsFUCHSIA -> IO ()
peekByteOff :: Ptr b -> Int -> IO ImageConstraintsInfoFlagsFUCHSIA
$cpeekByteOff :: forall b. Ptr b -> Int -> IO ImageConstraintsInfoFlagsFUCHSIA
pokeElemOff :: Ptr ImageConstraintsInfoFlagsFUCHSIA
-> Int -> ImageConstraintsInfoFlagsFUCHSIA -> IO ()
$cpokeElemOff :: Ptr ImageConstraintsInfoFlagsFUCHSIA
-> Int -> ImageConstraintsInfoFlagsFUCHSIA -> IO ()
peekElemOff :: Ptr ImageConstraintsInfoFlagsFUCHSIA
-> Int -> IO ImageConstraintsInfoFlagsFUCHSIA
$cpeekElemOff :: Ptr ImageConstraintsInfoFlagsFUCHSIA
-> Int -> IO ImageConstraintsInfoFlagsFUCHSIA
alignment :: ImageConstraintsInfoFlagsFUCHSIA -> Int
$calignment :: ImageConstraintsInfoFlagsFUCHSIA -> Int
sizeOf :: ImageConstraintsInfoFlagsFUCHSIA -> Int
$csizeOf :: ImageConstraintsInfoFlagsFUCHSIA -> Int
Storable, ImageConstraintsInfoFlagsFUCHSIA
ImageConstraintsInfoFlagsFUCHSIA
-> Zero ImageConstraintsInfoFlagsFUCHSIA
forall a. a -> Zero a
zero :: ImageConstraintsInfoFlagsFUCHSIA
$czero :: ImageConstraintsInfoFlagsFUCHSIA
Zero, Eq ImageConstraintsInfoFlagsFUCHSIA
ImageConstraintsInfoFlagsFUCHSIA
Eq ImageConstraintsInfoFlagsFUCHSIA
-> (ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA)
-> (ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA)
-> (ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA)
-> (ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA)
-> (ImageConstraintsInfoFlagsFUCHSIA
-> Int -> ImageConstraintsInfoFlagsFUCHSIA)
-> (ImageConstraintsInfoFlagsFUCHSIA
-> Int -> ImageConstraintsInfoFlagsFUCHSIA)
-> ImageConstraintsInfoFlagsFUCHSIA
-> (Int -> ImageConstraintsInfoFlagsFUCHSIA)
-> (ImageConstraintsInfoFlagsFUCHSIA
-> Int -> ImageConstraintsInfoFlagsFUCHSIA)
-> (ImageConstraintsInfoFlagsFUCHSIA
-> Int -> ImageConstraintsInfoFlagsFUCHSIA)
-> (ImageConstraintsInfoFlagsFUCHSIA
-> Int -> ImageConstraintsInfoFlagsFUCHSIA)
-> (ImageConstraintsInfoFlagsFUCHSIA -> Int -> Bool)
-> (ImageConstraintsInfoFlagsFUCHSIA -> Maybe Int)
-> (ImageConstraintsInfoFlagsFUCHSIA -> Int)
-> (ImageConstraintsInfoFlagsFUCHSIA -> Bool)
-> (ImageConstraintsInfoFlagsFUCHSIA
-> Int -> ImageConstraintsInfoFlagsFUCHSIA)
-> (ImageConstraintsInfoFlagsFUCHSIA
-> Int -> ImageConstraintsInfoFlagsFUCHSIA)
-> (ImageConstraintsInfoFlagsFUCHSIA
-> Int -> ImageConstraintsInfoFlagsFUCHSIA)
-> (ImageConstraintsInfoFlagsFUCHSIA
-> Int -> ImageConstraintsInfoFlagsFUCHSIA)
-> (ImageConstraintsInfoFlagsFUCHSIA
-> Int -> ImageConstraintsInfoFlagsFUCHSIA)
-> (ImageConstraintsInfoFlagsFUCHSIA
-> Int -> ImageConstraintsInfoFlagsFUCHSIA)
-> (ImageConstraintsInfoFlagsFUCHSIA -> Int)
-> Bits ImageConstraintsInfoFlagsFUCHSIA
Int -> ImageConstraintsInfoFlagsFUCHSIA
ImageConstraintsInfoFlagsFUCHSIA -> Bool
ImageConstraintsInfoFlagsFUCHSIA -> Int
ImageConstraintsInfoFlagsFUCHSIA -> Maybe Int
ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA
ImageConstraintsInfoFlagsFUCHSIA -> Int -> Bool
ImageConstraintsInfoFlagsFUCHSIA
-> Int -> ImageConstraintsInfoFlagsFUCHSIA
ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA
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 :: ImageConstraintsInfoFlagsFUCHSIA -> Int
$cpopCount :: ImageConstraintsInfoFlagsFUCHSIA -> Int
rotateR :: ImageConstraintsInfoFlagsFUCHSIA
-> Int -> ImageConstraintsInfoFlagsFUCHSIA
$crotateR :: ImageConstraintsInfoFlagsFUCHSIA
-> Int -> ImageConstraintsInfoFlagsFUCHSIA
rotateL :: ImageConstraintsInfoFlagsFUCHSIA
-> Int -> ImageConstraintsInfoFlagsFUCHSIA
$crotateL :: ImageConstraintsInfoFlagsFUCHSIA
-> Int -> ImageConstraintsInfoFlagsFUCHSIA
unsafeShiftR :: ImageConstraintsInfoFlagsFUCHSIA
-> Int -> ImageConstraintsInfoFlagsFUCHSIA
$cunsafeShiftR :: ImageConstraintsInfoFlagsFUCHSIA
-> Int -> ImageConstraintsInfoFlagsFUCHSIA
shiftR :: ImageConstraintsInfoFlagsFUCHSIA
-> Int -> ImageConstraintsInfoFlagsFUCHSIA
$cshiftR :: ImageConstraintsInfoFlagsFUCHSIA
-> Int -> ImageConstraintsInfoFlagsFUCHSIA
unsafeShiftL :: ImageConstraintsInfoFlagsFUCHSIA
-> Int -> ImageConstraintsInfoFlagsFUCHSIA
$cunsafeShiftL :: ImageConstraintsInfoFlagsFUCHSIA
-> Int -> ImageConstraintsInfoFlagsFUCHSIA
shiftL :: ImageConstraintsInfoFlagsFUCHSIA
-> Int -> ImageConstraintsInfoFlagsFUCHSIA
$cshiftL :: ImageConstraintsInfoFlagsFUCHSIA
-> Int -> ImageConstraintsInfoFlagsFUCHSIA
isSigned :: ImageConstraintsInfoFlagsFUCHSIA -> Bool
$cisSigned :: ImageConstraintsInfoFlagsFUCHSIA -> Bool
bitSize :: ImageConstraintsInfoFlagsFUCHSIA -> Int
$cbitSize :: ImageConstraintsInfoFlagsFUCHSIA -> Int
bitSizeMaybe :: ImageConstraintsInfoFlagsFUCHSIA -> Maybe Int
$cbitSizeMaybe :: ImageConstraintsInfoFlagsFUCHSIA -> Maybe Int
testBit :: ImageConstraintsInfoFlagsFUCHSIA -> Int -> Bool
$ctestBit :: ImageConstraintsInfoFlagsFUCHSIA -> Int -> Bool
complementBit :: ImageConstraintsInfoFlagsFUCHSIA
-> Int -> ImageConstraintsInfoFlagsFUCHSIA
$ccomplementBit :: ImageConstraintsInfoFlagsFUCHSIA
-> Int -> ImageConstraintsInfoFlagsFUCHSIA
clearBit :: ImageConstraintsInfoFlagsFUCHSIA
-> Int -> ImageConstraintsInfoFlagsFUCHSIA
$cclearBit :: ImageConstraintsInfoFlagsFUCHSIA
-> Int -> ImageConstraintsInfoFlagsFUCHSIA
setBit :: ImageConstraintsInfoFlagsFUCHSIA
-> Int -> ImageConstraintsInfoFlagsFUCHSIA
$csetBit :: ImageConstraintsInfoFlagsFUCHSIA
-> Int -> ImageConstraintsInfoFlagsFUCHSIA
bit :: Int -> ImageConstraintsInfoFlagsFUCHSIA
$cbit :: Int -> ImageConstraintsInfoFlagsFUCHSIA
zeroBits :: ImageConstraintsInfoFlagsFUCHSIA
$czeroBits :: ImageConstraintsInfoFlagsFUCHSIA
rotate :: ImageConstraintsInfoFlagsFUCHSIA
-> Int -> ImageConstraintsInfoFlagsFUCHSIA
$crotate :: ImageConstraintsInfoFlagsFUCHSIA
-> Int -> ImageConstraintsInfoFlagsFUCHSIA
shift :: ImageConstraintsInfoFlagsFUCHSIA
-> Int -> ImageConstraintsInfoFlagsFUCHSIA
$cshift :: ImageConstraintsInfoFlagsFUCHSIA
-> Int -> ImageConstraintsInfoFlagsFUCHSIA
complement :: ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA
$ccomplement :: ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA
xor :: ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA
$cxor :: ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA
.|. :: ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA
$c.|. :: ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA
.&. :: ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA
$c.&. :: ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA
-> ImageConstraintsInfoFlagsFUCHSIA
$cp1Bits :: Eq ImageConstraintsInfoFlagsFUCHSIA
Bits, Bits ImageConstraintsInfoFlagsFUCHSIA
Bits ImageConstraintsInfoFlagsFUCHSIA
-> (ImageConstraintsInfoFlagsFUCHSIA -> Int)
-> (ImageConstraintsInfoFlagsFUCHSIA -> Int)
-> (ImageConstraintsInfoFlagsFUCHSIA -> Int)
-> FiniteBits ImageConstraintsInfoFlagsFUCHSIA
ImageConstraintsInfoFlagsFUCHSIA -> Int
forall b.
Bits b -> (b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
countTrailingZeros :: ImageConstraintsInfoFlagsFUCHSIA -> Int
$ccountTrailingZeros :: ImageConstraintsInfoFlagsFUCHSIA -> Int
countLeadingZeros :: ImageConstraintsInfoFlagsFUCHSIA -> Int
$ccountLeadingZeros :: ImageConstraintsInfoFlagsFUCHSIA -> Int
finiteBitSize :: ImageConstraintsInfoFlagsFUCHSIA -> Int
$cfiniteBitSize :: ImageConstraintsInfoFlagsFUCHSIA -> Int
$cp1FiniteBits :: Bits ImageConstraintsInfoFlagsFUCHSIA
FiniteBits)
pattern $bIMAGE_CONSTRAINTS_INFO_CPU_READ_RARELY_FUCHSIA :: ImageConstraintsInfoFlagsFUCHSIA
$mIMAGE_CONSTRAINTS_INFO_CPU_READ_RARELY_FUCHSIA :: forall r.
ImageConstraintsInfoFlagsFUCHSIA
-> (Void# -> r) -> (Void# -> r) -> r
IMAGE_CONSTRAINTS_INFO_CPU_READ_RARELY_FUCHSIA = ImageConstraintsInfoFlagBitsFUCHSIA 0x00000001
pattern $bIMAGE_CONSTRAINTS_INFO_CPU_READ_OFTEN_FUCHSIA :: ImageConstraintsInfoFlagsFUCHSIA
$mIMAGE_CONSTRAINTS_INFO_CPU_READ_OFTEN_FUCHSIA :: forall r.
ImageConstraintsInfoFlagsFUCHSIA
-> (Void# -> r) -> (Void# -> r) -> r
IMAGE_CONSTRAINTS_INFO_CPU_READ_OFTEN_FUCHSIA = ImageConstraintsInfoFlagBitsFUCHSIA 0x00000002
pattern $bIMAGE_CONSTRAINTS_INFO_CPU_WRITE_RARELY_FUCHSIA :: ImageConstraintsInfoFlagsFUCHSIA
$mIMAGE_CONSTRAINTS_INFO_CPU_WRITE_RARELY_FUCHSIA :: forall r.
ImageConstraintsInfoFlagsFUCHSIA
-> (Void# -> r) -> (Void# -> r) -> r
IMAGE_CONSTRAINTS_INFO_CPU_WRITE_RARELY_FUCHSIA = ImageConstraintsInfoFlagBitsFUCHSIA 0x00000004
pattern $bIMAGE_CONSTRAINTS_INFO_CPU_WRITE_OFTEN_FUCHSIA :: ImageConstraintsInfoFlagsFUCHSIA
$mIMAGE_CONSTRAINTS_INFO_CPU_WRITE_OFTEN_FUCHSIA :: forall r.
ImageConstraintsInfoFlagsFUCHSIA
-> (Void# -> r) -> (Void# -> r) -> r
IMAGE_CONSTRAINTS_INFO_CPU_WRITE_OFTEN_FUCHSIA = ImageConstraintsInfoFlagBitsFUCHSIA 0x00000008
pattern $bIMAGE_CONSTRAINTS_INFO_PROTECTED_OPTIONAL_FUCHSIA :: ImageConstraintsInfoFlagsFUCHSIA
$mIMAGE_CONSTRAINTS_INFO_PROTECTED_OPTIONAL_FUCHSIA :: forall r.
ImageConstraintsInfoFlagsFUCHSIA
-> (Void# -> r) -> (Void# -> r) -> r
IMAGE_CONSTRAINTS_INFO_PROTECTED_OPTIONAL_FUCHSIA = ImageConstraintsInfoFlagBitsFUCHSIA 0x00000010
conNameImageConstraintsInfoFlagBitsFUCHSIA :: String
conNameImageConstraintsInfoFlagBitsFUCHSIA :: String
conNameImageConstraintsInfoFlagBitsFUCHSIA = String
"ImageConstraintsInfoFlagBitsFUCHSIA"
enumPrefixImageConstraintsInfoFlagBitsFUCHSIA :: String
enumPrefixImageConstraintsInfoFlagBitsFUCHSIA :: String
enumPrefixImageConstraintsInfoFlagBitsFUCHSIA = String
"IMAGE_CONSTRAINTS_INFO_"
showTableImageConstraintsInfoFlagBitsFUCHSIA :: [(ImageConstraintsInfoFlagBitsFUCHSIA, String)]
showTableImageConstraintsInfoFlagBitsFUCHSIA :: [(ImageConstraintsInfoFlagsFUCHSIA, String)]
showTableImageConstraintsInfoFlagBitsFUCHSIA =
[ (ImageConstraintsInfoFlagsFUCHSIA
IMAGE_CONSTRAINTS_INFO_CPU_READ_RARELY_FUCHSIA , String
"CPU_READ_RARELY_FUCHSIA")
, (ImageConstraintsInfoFlagsFUCHSIA
IMAGE_CONSTRAINTS_INFO_CPU_READ_OFTEN_FUCHSIA , String
"CPU_READ_OFTEN_FUCHSIA")
, (ImageConstraintsInfoFlagsFUCHSIA
IMAGE_CONSTRAINTS_INFO_CPU_WRITE_RARELY_FUCHSIA , String
"CPU_WRITE_RARELY_FUCHSIA")
, (ImageConstraintsInfoFlagsFUCHSIA
IMAGE_CONSTRAINTS_INFO_CPU_WRITE_OFTEN_FUCHSIA , String
"CPU_WRITE_OFTEN_FUCHSIA")
, (ImageConstraintsInfoFlagsFUCHSIA
IMAGE_CONSTRAINTS_INFO_PROTECTED_OPTIONAL_FUCHSIA, String
"PROTECTED_OPTIONAL_FUCHSIA")
]
instance Show ImageConstraintsInfoFlagBitsFUCHSIA where
showsPrec :: Int -> ImageConstraintsInfoFlagsFUCHSIA -> ShowS
showsPrec = String
-> [(ImageConstraintsInfoFlagsFUCHSIA, String)]
-> String
-> (ImageConstraintsInfoFlagsFUCHSIA -> Word32)
-> (Word32 -> ShowS)
-> Int
-> ImageConstraintsInfoFlagsFUCHSIA
-> ShowS
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec String
enumPrefixImageConstraintsInfoFlagBitsFUCHSIA
[(ImageConstraintsInfoFlagsFUCHSIA, String)]
showTableImageConstraintsInfoFlagBitsFUCHSIA
String
conNameImageConstraintsInfoFlagBitsFUCHSIA
(\(ImageConstraintsInfoFlagBitsFUCHSIA Word32
x) -> Word32
x)
(\Word32
x -> String -> ShowS
showString String
"0x" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word32 -> ShowS
forall a. (Integral a, Show a) => a -> ShowS
showHex Word32
x)
instance Read ImageConstraintsInfoFlagBitsFUCHSIA where
readPrec :: ReadPrec ImageConstraintsInfoFlagsFUCHSIA
readPrec = String
-> [(ImageConstraintsInfoFlagsFUCHSIA, String)]
-> String
-> (Word32 -> ImageConstraintsInfoFlagsFUCHSIA)
-> ReadPrec ImageConstraintsInfoFlagsFUCHSIA
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec String
enumPrefixImageConstraintsInfoFlagBitsFUCHSIA
[(ImageConstraintsInfoFlagsFUCHSIA, String)]
showTableImageConstraintsInfoFlagBitsFUCHSIA
String
conNameImageConstraintsInfoFlagBitsFUCHSIA
Word32 -> ImageConstraintsInfoFlagsFUCHSIA
ImageConstraintsInfoFlagBitsFUCHSIA
type FUCHSIA_BUFFER_COLLECTION_SPEC_VERSION = 2
pattern FUCHSIA_BUFFER_COLLECTION_SPEC_VERSION :: forall a . Integral a => a
pattern $bFUCHSIA_BUFFER_COLLECTION_SPEC_VERSION :: a
$mFUCHSIA_BUFFER_COLLECTION_SPEC_VERSION :: forall r a. Integral a => a -> (Void# -> r) -> (Void# -> r) -> r
FUCHSIA_BUFFER_COLLECTION_SPEC_VERSION = 2
type FUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME = "VK_FUCHSIA_buffer_collection"
pattern FUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
pattern $bFUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME :: a
$mFUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME :: forall r a.
(Eq a, IsString a) =>
a -> (Void# -> r) -> (Void# -> r) -> r
FUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME = "VK_FUCHSIA_buffer_collection"