{-# language CPP #-}
module Vulkan.Extensions.VK_KHR_maintenance5 ( getRenderingAreaGranularityKHR
, cmdBindIndexBuffer2KHR
, getImageSubresourceLayout2KHR
, getDeviceImageSubresourceLayoutKHR
, pattern BUFFER_USAGE_2_RAY_TRACING_BIT_NV
, BufferUsageFlags2CreateInfoKHR(..)
, PipelineCreateFlags2CreateInfoKHR(..)
, PhysicalDeviceMaintenance5FeaturesKHR(..)
, PhysicalDeviceMaintenance5PropertiesKHR(..)
, RenderingAreaInfoKHR(..)
, ImageSubresource2KHR(..)
, SubresourceLayout2KHR(..)
, DeviceImageSubresourceInfoKHR(..)
, PipelineCreateFlags2KHR
, PipelineCreateFlagBits2KHR( PIPELINE_CREATE_2_DISABLE_OPTIMIZATION_BIT_KHR
, PIPELINE_CREATE_2_ALLOW_DERIVATIVES_BIT_KHR
, PIPELINE_CREATE_2_DERIVATIVE_BIT_KHR
, PIPELINE_CREATE_2_DESCRIPTOR_BUFFER_BIT_EXT
, PIPELINE_CREATE_2_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV
, PIPELINE_CREATE_2_PROTECTED_ACCESS_ONLY_BIT_EXT
, PIPELINE_CREATE_2_NO_PROTECTED_ACCESS_BIT_EXT
, PIPELINE_CREATE_2_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT
, PIPELINE_CREATE_2_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT
, PIPELINE_CREATE_2_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT
, PIPELINE_CREATE_2_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT
, PIPELINE_CREATE_2_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
, PIPELINE_CREATE_2_RAY_TRACING_ALLOW_MOTION_BIT_NV
, PIPELINE_CREATE_2_INDIRECT_BINDABLE_BIT_NV
, PIPELINE_CREATE_2_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR
, PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR
, PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR
, PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR
, PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR
, PIPELINE_CREATE_2_RAY_TRACING_SKIP_AABBS_BIT_KHR
, PIPELINE_CREATE_2_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR
, PIPELINE_CREATE_2_LIBRARY_BIT_KHR
, PIPELINE_CREATE_2_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT
, PIPELINE_CREATE_2_LINK_TIME_OPTIMIZATION_BIT_EXT
, PIPELINE_CREATE_2_EARLY_RETURN_ON_FAILURE_BIT_KHR
, PIPELINE_CREATE_2_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_KHR
, PIPELINE_CREATE_2_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR
, PIPELINE_CREATE_2_CAPTURE_STATISTICS_BIT_KHR
, PIPELINE_CREATE_2_DEFER_COMPILE_BIT_NV
, PIPELINE_CREATE_2_DISPATCH_BASE_BIT_KHR
, PIPELINE_CREATE_2_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR
, ..
)
, KHR_MAINTENANCE_5_SPEC_VERSION
, pattern KHR_MAINTENANCE_5_SPEC_VERSION
, KHR_MAINTENANCE_5_EXTENSION_NAME
, pattern KHR_MAINTENANCE_5_EXTENSION_NAME
, BufferUsageFlagBits2KHR(..)
, BufferUsageFlags2KHR
) where
import Data.Bits (Bits)
import Data.Bits (FiniteBits)
import Vulkan.Internal.Utils (enumReadPrec)
import Vulkan.Internal.Utils (enumShowsPrec)
import Vulkan.Internal.Utils (traceAroundEvent)
import Control.Monad (unless)
import Control.Monad.IO.Class (liftIO)
import Data.Typeable (eqT)
import Foreign.Marshal.Alloc (allocaBytes)
import GHC.IO (throwIO)
import GHC.Ptr (castPtr)
import GHC.Ptr (nullFunPtr)
import Foreign.Ptr (nullPtr)
import Foreign.Ptr (plusPtr)
import GHC.Show (showString)
import Numeric (showHex)
import Control.Monad.Trans.Class (lift)
import Control.Monad.Trans.Cont (evalContT)
import 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.String (IsString)
import Data.Type.Equality ((:~:)(Refl))
import Data.Typeable (Typeable)
import Foreign.Storable (Storable)
import Foreign.Storable (Storable(peek))
import Foreign.Storable (Storable(poke))
import qualified Foreign.Storable (Storable(..))
import GHC.Generics (Generic)
import GHC.IO.Exception (IOErrorType(..))
import GHC.IO.Exception (IOException(..))
import Foreign.Ptr (FunPtr)
import Foreign.Ptr (Ptr)
import GHC.Read (Read(readPrec))
import GHC.Show (Show(showsPrec))
import Data.Word (Word32)
import Data.Kind (Type)
import Control.Monad.Trans.Cont (ContT(..))
import Data.Vector (Vector)
import Vulkan.CStruct.Utils (advancePtrBytes)
import Vulkan.Core10.FundamentalTypes (bool32ToBool)
import Vulkan.Core10.FundamentalTypes (boolToBool32)
import Vulkan.CStruct.Extends (forgetExtensions)
import Vulkan.CStruct.Extends (peekSomeCStruct)
import Vulkan.CStruct.Extends (withSomeCStruct)
import Vulkan.NamedType ((:::))
import Vulkan.Core10.FundamentalTypes (Bool32)
import Vulkan.Core10.Handles (Buffer)
import Vulkan.Core10.Handles (Buffer(..))
import Vulkan.Extensions.VK_AMDX_shader_enqueue (BufferUsageFlags2KHR)
import Vulkan.CStruct.Extends (Chain)
import Vulkan.Core10.Handles (CommandBuffer)
import Vulkan.Core10.Handles (CommandBuffer(..))
import Vulkan.Core10.Handles (CommandBuffer(CommandBuffer))
import Vulkan.Core10.Handles (CommandBuffer_T)
import Vulkan.Core10.Handles (Device)
import Vulkan.Core10.Handles (Device(..))
import Vulkan.Core10.Handles (Device(Device))
import Vulkan.Dynamic (DeviceCmds(pVkCmdBindIndexBuffer2KHR))
import Vulkan.Dynamic (DeviceCmds(pVkGetDeviceImageSubresourceLayoutKHR))
import Vulkan.Dynamic (DeviceCmds(pVkGetImageSubresourceLayout2KHR))
import Vulkan.Dynamic (DeviceCmds(pVkGetRenderingAreaGranularityKHR))
import Vulkan.Core10.FundamentalTypes (DeviceSize)
import Vulkan.Core10.Handles (Device_T)
import Vulkan.CStruct.Extends (Extends)
import Vulkan.CStruct.Extends (Extendss)
import Vulkan.CStruct.Extends (Extensible(..))
import Vulkan.Core10.FundamentalTypes (Extent2D)
import Vulkan.Core10.FundamentalTypes (Flags64)
import Vulkan.Core10.Enums.Format (Format)
import Vulkan.Core10.Handles (Image)
import Vulkan.Core10.Handles (Image(..))
import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_image_compression_control (ImageCompressionPropertiesEXT)
import Vulkan.Core10.Image (ImageCreateInfo)
import Vulkan.Core10.SparseResourceMemoryManagement (ImageSubresource)
import Vulkan.Core10.Enums.IndexType (IndexType)
import Vulkan.Core10.Enums.IndexType (IndexType(..))
import Vulkan.CStruct.Extends (PeekChain)
import Vulkan.CStruct.Extends (PeekChain(..))
import Vulkan.CStruct.Extends (PokeChain)
import Vulkan.CStruct.Extends (PokeChain(..))
import Vulkan.CStruct.Extends (SomeStruct)
import Vulkan.CStruct.Extends (SomeStruct(..))
import Vulkan.Core10.Enums.StructureType (StructureType)
import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_host_image_copy (SubresourceHostMemcpySizeEXT)
import Vulkan.Core10.Image (SubresourceLayout)
import Vulkan.Extensions.VK_AMDX_shader_enqueue (BufferUsageFlags2KHR)
import Vulkan.Extensions.VK_AMDX_shader_enqueue (BufferUsageFlagBits2KHR(BUFFER_USAGE_2_SHADER_BINDING_TABLE_BIT_KHR))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHR))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_DEVICE_IMAGE_SUBRESOURCE_INFO_KHR))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_KHR))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES_KHR))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_RENDERING_AREA_INFO_KHR))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_KHR))
import Vulkan.Extensions.VK_AMDX_shader_enqueue (BufferUsageFlagBits2KHR(..))
import Vulkan.Extensions.VK_AMDX_shader_enqueue (BufferUsageFlags2KHR)
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
unsafe
#endif
"dynamic" mkVkGetRenderingAreaGranularityKHR
:: FunPtr (Ptr Device_T -> Ptr RenderingAreaInfoKHR -> Ptr Extent2D -> IO ()) -> Ptr Device_T -> Ptr RenderingAreaInfoKHR -> Ptr Extent2D -> IO ()
getRenderingAreaGranularityKHR :: forall io
. (MonadIO io)
=>
Device
->
RenderingAreaInfoKHR
-> io (("granularity" ::: Extent2D))
getRenderingAreaGranularityKHR :: forall (io :: * -> *).
MonadIO io =>
Device -> RenderingAreaInfoKHR -> io ("granularity" ::: Extent2D)
getRenderingAreaGranularityKHR Device
device
RenderingAreaInfoKHR
renderingAreaInfo = IO ("granularity" ::: Extent2D) -> io ("granularity" ::: Extent2D)
forall a. IO a -> io a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO ("granularity" ::: Extent2D)
-> io ("granularity" ::: Extent2D))
-> (ContT
("granularity" ::: Extent2D) IO ("granularity" ::: Extent2D)
-> IO ("granularity" ::: Extent2D))
-> ContT
("granularity" ::: Extent2D) IO ("granularity" ::: Extent2D)
-> io ("granularity" ::: Extent2D)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ContT ("granularity" ::: Extent2D) IO ("granularity" ::: Extent2D)
-> IO ("granularity" ::: Extent2D)
forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT (ContT ("granularity" ::: Extent2D) IO ("granularity" ::: Extent2D)
-> io ("granularity" ::: Extent2D))
-> ContT
("granularity" ::: Extent2D) IO ("granularity" ::: Extent2D)
-> io ("granularity" ::: Extent2D)
forall a b. (a -> b) -> a -> b
$ do
let vkGetRenderingAreaGranularityKHRPtr :: FunPtr
(Ptr Device_T
-> Ptr RenderingAreaInfoKHR
-> Ptr ("granularity" ::: Extent2D)
-> IO ())
vkGetRenderingAreaGranularityKHRPtr = DeviceCmds
-> FunPtr
(Ptr Device_T
-> Ptr RenderingAreaInfoKHR
-> Ptr ("granularity" ::: Extent2D)
-> IO ())
pVkGetRenderingAreaGranularityKHR (case Device
device of Device{DeviceCmds
deviceCmds :: DeviceCmds
$sel:deviceCmds:Device :: Device -> DeviceCmds
deviceCmds} -> DeviceCmds
deviceCmds)
IO () -> ContT ("granularity" ::: Extent2D) IO ()
forall (m :: * -> *) a.
Monad m =>
m a -> ContT ("granularity" ::: Extent2D) m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT ("granularity" ::: Extent2D) IO ())
-> IO () -> ContT ("granularity" ::: Extent2D) IO ()
forall a b. (a -> b) -> a -> b
$ Bool -> IO () -> IO ()
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless (FunPtr
(Ptr Device_T
-> Ptr RenderingAreaInfoKHR
-> Ptr ("granularity" ::: Extent2D)
-> IO ())
vkGetRenderingAreaGranularityKHRPtr FunPtr
(Ptr Device_T
-> Ptr RenderingAreaInfoKHR
-> Ptr ("granularity" ::: Extent2D)
-> IO ())
-> FunPtr
(Ptr Device_T
-> Ptr RenderingAreaInfoKHR
-> Ptr ("granularity" ::: Extent2D)
-> IO ())
-> Bool
forall a. Eq a => a -> a -> Bool
/= FunPtr
(Ptr Device_T
-> Ptr RenderingAreaInfoKHR
-> Ptr ("granularity" ::: Extent2D)
-> 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 vkGetRenderingAreaGranularityKHR is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let vkGetRenderingAreaGranularityKHR' :: Ptr Device_T
-> Ptr RenderingAreaInfoKHR
-> Ptr ("granularity" ::: Extent2D)
-> IO ()
vkGetRenderingAreaGranularityKHR' = FunPtr
(Ptr Device_T
-> Ptr RenderingAreaInfoKHR
-> Ptr ("granularity" ::: Extent2D)
-> IO ())
-> Ptr Device_T
-> Ptr RenderingAreaInfoKHR
-> Ptr ("granularity" ::: Extent2D)
-> IO ()
mkVkGetRenderingAreaGranularityKHR FunPtr
(Ptr Device_T
-> Ptr RenderingAreaInfoKHR
-> Ptr ("granularity" ::: Extent2D)
-> IO ())
vkGetRenderingAreaGranularityKHRPtr
Ptr RenderingAreaInfoKHR
pRenderingAreaInfo <- ((Ptr RenderingAreaInfoKHR -> IO ("granularity" ::: Extent2D))
-> IO ("granularity" ::: Extent2D))
-> ContT ("granularity" ::: Extent2D) IO (Ptr RenderingAreaInfoKHR)
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr RenderingAreaInfoKHR -> IO ("granularity" ::: Extent2D))
-> IO ("granularity" ::: Extent2D))
-> ContT
("granularity" ::: Extent2D) IO (Ptr RenderingAreaInfoKHR))
-> ((Ptr RenderingAreaInfoKHR -> IO ("granularity" ::: Extent2D))
-> IO ("granularity" ::: Extent2D))
-> ContT ("granularity" ::: Extent2D) IO (Ptr RenderingAreaInfoKHR)
forall a b. (a -> b) -> a -> b
$ RenderingAreaInfoKHR
-> (Ptr RenderingAreaInfoKHR -> IO ("granularity" ::: Extent2D))
-> IO ("granularity" ::: Extent2D)
forall a b. ToCStruct a => a -> (Ptr a -> IO b) -> IO b
forall b.
RenderingAreaInfoKHR -> (Ptr RenderingAreaInfoKHR -> IO b) -> IO b
withCStruct (RenderingAreaInfoKHR
renderingAreaInfo)
Ptr ("granularity" ::: Extent2D)
pPGranularity <- ((Ptr ("granularity" ::: Extent2D)
-> IO ("granularity" ::: Extent2D))
-> IO ("granularity" ::: Extent2D))
-> ContT
("granularity" ::: Extent2D) IO (Ptr ("granularity" ::: Extent2D))
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (forall a b. ToCStruct a => (Ptr a -> IO b) -> IO b
withZeroCStruct @Extent2D)
IO () -> ContT ("granularity" ::: Extent2D) IO ()
forall (m :: * -> *) a.
Monad m =>
m a -> ContT ("granularity" ::: Extent2D) m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT ("granularity" ::: Extent2D) IO ())
-> IO () -> ContT ("granularity" ::: Extent2D) IO ()
forall a b. (a -> b) -> a -> b
$ String -> IO () -> IO ()
forall a. String -> IO a -> IO a
traceAroundEvent String
"vkGetRenderingAreaGranularityKHR" (Ptr Device_T
-> Ptr RenderingAreaInfoKHR
-> Ptr ("granularity" ::: Extent2D)
-> IO ()
vkGetRenderingAreaGranularityKHR'
(Device -> Ptr Device_T
deviceHandle (Device
device))
Ptr RenderingAreaInfoKHR
pRenderingAreaInfo
(Ptr ("granularity" ::: Extent2D)
pPGranularity))
"granularity" ::: Extent2D
pGranularity <- IO ("granularity" ::: Extent2D)
-> ContT
("granularity" ::: Extent2D) IO ("granularity" ::: Extent2D)
forall (m :: * -> *) a.
Monad m =>
m a -> ContT ("granularity" ::: Extent2D) m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO ("granularity" ::: Extent2D)
-> ContT
("granularity" ::: Extent2D) IO ("granularity" ::: Extent2D))
-> IO ("granularity" ::: Extent2D)
-> ContT
("granularity" ::: Extent2D) IO ("granularity" ::: Extent2D)
forall a b. (a -> b) -> a -> b
$ forall a. FromCStruct a => Ptr a -> IO a
peekCStruct @Extent2D Ptr ("granularity" ::: Extent2D)
pPGranularity
("granularity" ::: Extent2D)
-> ContT
("granularity" ::: Extent2D) IO ("granularity" ::: Extent2D)
forall a. a -> ContT ("granularity" ::: Extent2D) IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (("granularity" ::: Extent2D)
-> ContT
("granularity" ::: Extent2D) IO ("granularity" ::: Extent2D))
-> ("granularity" ::: Extent2D)
-> ContT
("granularity" ::: Extent2D) IO ("granularity" ::: Extent2D)
forall a b. (a -> b) -> a -> b
$ ("granularity" ::: Extent2D
pGranularity)
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
unsafe
#endif
"dynamic" mkVkCmdBindIndexBuffer2KHR
:: FunPtr (Ptr CommandBuffer_T -> Buffer -> DeviceSize -> DeviceSize -> IndexType -> IO ()) -> Ptr CommandBuffer_T -> Buffer -> DeviceSize -> DeviceSize -> IndexType -> IO ()
cmdBindIndexBuffer2KHR :: forall io
. (MonadIO io)
=>
CommandBuffer
->
Buffer
->
("offset" ::: DeviceSize)
->
DeviceSize
->
IndexType
-> io ()
cmdBindIndexBuffer2KHR :: forall (io :: * -> *).
MonadIO io =>
CommandBuffer -> Buffer -> Flags64 -> Flags64 -> IndexType -> io ()
cmdBindIndexBuffer2KHR CommandBuffer
commandBuffer Buffer
buffer Flags64
offset Flags64
size IndexType
indexType = IO () -> io ()
forall a. IO a -> io a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> io ()) -> IO () -> io ()
forall a b. (a -> b) -> a -> b
$ do
let vkCmdBindIndexBuffer2KHRPtr :: FunPtr
(Ptr CommandBuffer_T
-> Buffer -> Flags64 -> Flags64 -> IndexType -> IO ())
vkCmdBindIndexBuffer2KHRPtr = DeviceCmds
-> FunPtr
(Ptr CommandBuffer_T
-> Buffer -> Flags64 -> Flags64 -> IndexType -> IO ())
pVkCmdBindIndexBuffer2KHR (case CommandBuffer
commandBuffer of CommandBuffer{DeviceCmds
deviceCmds :: DeviceCmds
$sel:deviceCmds:CommandBuffer :: CommandBuffer -> DeviceCmds
deviceCmds} -> DeviceCmds
deviceCmds)
Bool -> IO () -> IO ()
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless (FunPtr
(Ptr CommandBuffer_T
-> Buffer -> Flags64 -> Flags64 -> IndexType -> IO ())
vkCmdBindIndexBuffer2KHRPtr FunPtr
(Ptr CommandBuffer_T
-> Buffer -> Flags64 -> Flags64 -> IndexType -> IO ())
-> FunPtr
(Ptr CommandBuffer_T
-> Buffer -> Flags64 -> Flags64 -> IndexType -> IO ())
-> Bool
forall a. Eq a => a -> a -> Bool
/= FunPtr
(Ptr CommandBuffer_T
-> Buffer -> Flags64 -> Flags64 -> IndexType -> 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 vkCmdBindIndexBuffer2KHR is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let vkCmdBindIndexBuffer2KHR' :: Ptr CommandBuffer_T
-> Buffer -> Flags64 -> Flags64 -> IndexType -> IO ()
vkCmdBindIndexBuffer2KHR' = FunPtr
(Ptr CommandBuffer_T
-> Buffer -> Flags64 -> Flags64 -> IndexType -> IO ())
-> Ptr CommandBuffer_T
-> Buffer
-> Flags64
-> Flags64
-> IndexType
-> IO ()
mkVkCmdBindIndexBuffer2KHR FunPtr
(Ptr CommandBuffer_T
-> Buffer -> Flags64 -> Flags64 -> IndexType -> IO ())
vkCmdBindIndexBuffer2KHRPtr
String -> IO () -> IO ()
forall a. String -> IO a -> IO a
traceAroundEvent String
"vkCmdBindIndexBuffer2KHR" (Ptr CommandBuffer_T
-> Buffer -> Flags64 -> Flags64 -> IndexType -> IO ()
vkCmdBindIndexBuffer2KHR'
(CommandBuffer -> Ptr CommandBuffer_T
commandBufferHandle (CommandBuffer
commandBuffer))
(Buffer
buffer)
(Flags64
offset)
(Flags64
size)
(IndexType
indexType))
() -> IO ()
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (() -> IO ()) -> () -> IO ()
forall a b. (a -> b) -> a -> b
$ ()
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
unsafe
#endif
"dynamic" mkVkGetImageSubresourceLayout2KHR
:: FunPtr (Ptr Device_T -> Image -> Ptr ImageSubresource2KHR -> Ptr (SomeStruct SubresourceLayout2KHR) -> IO ()) -> Ptr Device_T -> Image -> Ptr ImageSubresource2KHR -> Ptr (SomeStruct SubresourceLayout2KHR) -> IO ()
getImageSubresourceLayout2KHR :: forall a io
. ( Extendss SubresourceLayout2KHR a
, PokeChain a
, PeekChain a
, MonadIO io )
=>
Device
->
Image
->
ImageSubresource2KHR
-> io (SubresourceLayout2KHR a)
getImageSubresourceLayout2KHR :: forall (a :: [*]) (io :: * -> *).
(Extendss SubresourceLayout2KHR a, PokeChain a, PeekChain a,
MonadIO io) =>
Device
-> Image -> ImageSubresource2KHR -> io (SubresourceLayout2KHR a)
getImageSubresourceLayout2KHR Device
device Image
image ImageSubresource2KHR
subresource = IO (SubresourceLayout2KHR a) -> io (SubresourceLayout2KHR a)
forall a. IO a -> io a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (SubresourceLayout2KHR a) -> io (SubresourceLayout2KHR a))
-> (ContT (SubresourceLayout2KHR a) IO (SubresourceLayout2KHR a)
-> IO (SubresourceLayout2KHR a))
-> ContT (SubresourceLayout2KHR a) IO (SubresourceLayout2KHR a)
-> io (SubresourceLayout2KHR a)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ContT (SubresourceLayout2KHR a) IO (SubresourceLayout2KHR a)
-> IO (SubresourceLayout2KHR a)
forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT (ContT (SubresourceLayout2KHR a) IO (SubresourceLayout2KHR a)
-> io (SubresourceLayout2KHR a))
-> ContT (SubresourceLayout2KHR a) IO (SubresourceLayout2KHR a)
-> io (SubresourceLayout2KHR a)
forall a b. (a -> b) -> a -> b
$ do
let vkGetImageSubresourceLayout2KHRPtr :: FunPtr
(Ptr Device_T
-> Image
-> Ptr ImageSubresource2KHR
-> Ptr (SomeStruct SubresourceLayout2KHR)
-> IO ())
vkGetImageSubresourceLayout2KHRPtr = DeviceCmds
-> FunPtr
(Ptr Device_T
-> Image
-> Ptr ImageSubresource2KHR
-> Ptr (SomeStruct SubresourceLayout2KHR)
-> IO ())
pVkGetImageSubresourceLayout2KHR (case Device
device of Device{DeviceCmds
$sel:deviceCmds:Device :: Device -> DeviceCmds
deviceCmds :: DeviceCmds
deviceCmds} -> DeviceCmds
deviceCmds)
IO () -> ContT (SubresourceLayout2KHR a) IO ()
forall (m :: * -> *) a.
Monad m =>
m a -> ContT (SubresourceLayout2KHR a) m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT (SubresourceLayout2KHR a) IO ())
-> IO () -> ContT (SubresourceLayout2KHR a) IO ()
forall a b. (a -> b) -> a -> b
$ Bool -> IO () -> IO ()
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless (FunPtr
(Ptr Device_T
-> Image
-> Ptr ImageSubresource2KHR
-> Ptr (SomeStruct SubresourceLayout2KHR)
-> IO ())
vkGetImageSubresourceLayout2KHRPtr FunPtr
(Ptr Device_T
-> Image
-> Ptr ImageSubresource2KHR
-> Ptr (SomeStruct SubresourceLayout2KHR)
-> IO ())
-> FunPtr
(Ptr Device_T
-> Image
-> Ptr ImageSubresource2KHR
-> Ptr (SomeStruct SubresourceLayout2KHR)
-> IO ())
-> Bool
forall a. Eq a => a -> a -> Bool
/= FunPtr
(Ptr Device_T
-> Image
-> Ptr ImageSubresource2KHR
-> Ptr (SomeStruct SubresourceLayout2KHR)
-> 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 vkGetImageSubresourceLayout2KHR is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let vkGetImageSubresourceLayout2KHR' :: Ptr Device_T
-> Image
-> Ptr ImageSubresource2KHR
-> Ptr (SomeStruct SubresourceLayout2KHR)
-> IO ()
vkGetImageSubresourceLayout2KHR' = FunPtr
(Ptr Device_T
-> Image
-> Ptr ImageSubresource2KHR
-> Ptr (SomeStruct SubresourceLayout2KHR)
-> IO ())
-> Ptr Device_T
-> Image
-> Ptr ImageSubresource2KHR
-> Ptr (SomeStruct SubresourceLayout2KHR)
-> IO ()
mkVkGetImageSubresourceLayout2KHR FunPtr
(Ptr Device_T
-> Image
-> Ptr ImageSubresource2KHR
-> Ptr (SomeStruct SubresourceLayout2KHR)
-> IO ())
vkGetImageSubresourceLayout2KHRPtr
Ptr ImageSubresource2KHR
pSubresource <- ((Ptr ImageSubresource2KHR -> IO (SubresourceLayout2KHR a))
-> IO (SubresourceLayout2KHR a))
-> ContT (SubresourceLayout2KHR a) IO (Ptr ImageSubresource2KHR)
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr ImageSubresource2KHR -> IO (SubresourceLayout2KHR a))
-> IO (SubresourceLayout2KHR a))
-> ContT (SubresourceLayout2KHR a) IO (Ptr ImageSubresource2KHR))
-> ((Ptr ImageSubresource2KHR -> IO (SubresourceLayout2KHR a))
-> IO (SubresourceLayout2KHR a))
-> ContT (SubresourceLayout2KHR a) IO (Ptr ImageSubresource2KHR)
forall a b. (a -> b) -> a -> b
$ ImageSubresource2KHR
-> (Ptr ImageSubresource2KHR -> IO (SubresourceLayout2KHR a))
-> IO (SubresourceLayout2KHR a)
forall a b. ToCStruct a => a -> (Ptr a -> IO b) -> IO b
forall b.
ImageSubresource2KHR -> (Ptr ImageSubresource2KHR -> IO b) -> IO b
withCStruct (ImageSubresource2KHR
subresource)
Ptr (SubresourceLayout2KHR a)
pPLayout <- ((Ptr (SubresourceLayout2KHR a) -> IO (SubresourceLayout2KHR a))
-> IO (SubresourceLayout2KHR a))
-> ContT
(SubresourceLayout2KHR a) IO (Ptr (SubresourceLayout2KHR a))
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (forall a b. ToCStruct a => (Ptr a -> IO b) -> IO b
withZeroCStruct @(SubresourceLayout2KHR _))
IO () -> ContT (SubresourceLayout2KHR a) IO ()
forall (m :: * -> *) a.
Monad m =>
m a -> ContT (SubresourceLayout2KHR a) m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT (SubresourceLayout2KHR a) IO ())
-> IO () -> ContT (SubresourceLayout2KHR a) IO ()
forall a b. (a -> b) -> a -> b
$ String -> IO () -> IO ()
forall a. String -> IO a -> IO a
traceAroundEvent String
"vkGetImageSubresourceLayout2KHR" (Ptr Device_T
-> Image
-> Ptr ImageSubresource2KHR
-> Ptr (SomeStruct SubresourceLayout2KHR)
-> IO ()
vkGetImageSubresourceLayout2KHR'
(Device -> Ptr Device_T
deviceHandle (Device
device))
(Image
image)
Ptr ImageSubresource2KHR
pSubresource
(Ptr (SubresourceLayout2KHR a)
-> Ptr (SomeStruct SubresourceLayout2KHR)
forall (a :: [*] -> *) (es :: [*]).
Ptr (a es) -> Ptr (SomeStruct a)
forgetExtensions (Ptr (SubresourceLayout2KHR a)
pPLayout)))
SubresourceLayout2KHR a
pLayout <- IO (SubresourceLayout2KHR a)
-> ContT (SubresourceLayout2KHR a) IO (SubresourceLayout2KHR a)
forall (m :: * -> *) a.
Monad m =>
m a -> ContT (SubresourceLayout2KHR a) m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO (SubresourceLayout2KHR a)
-> ContT (SubresourceLayout2KHR a) IO (SubresourceLayout2KHR a))
-> IO (SubresourceLayout2KHR a)
-> ContT (SubresourceLayout2KHR a) IO (SubresourceLayout2KHR a)
forall a b. (a -> b) -> a -> b
$ forall a. FromCStruct a => Ptr a -> IO a
peekCStruct @(SubresourceLayout2KHR _) Ptr (SubresourceLayout2KHR a)
pPLayout
SubresourceLayout2KHR a
-> ContT (SubresourceLayout2KHR a) IO (SubresourceLayout2KHR a)
forall a. a -> ContT (SubresourceLayout2KHR a) IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (SubresourceLayout2KHR a
-> ContT (SubresourceLayout2KHR a) IO (SubresourceLayout2KHR a))
-> SubresourceLayout2KHR a
-> ContT (SubresourceLayout2KHR a) IO (SubresourceLayout2KHR a)
forall a b. (a -> b) -> a -> b
$ (SubresourceLayout2KHR a
pLayout)
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
unsafe
#endif
"dynamic" mkVkGetDeviceImageSubresourceLayoutKHR
:: FunPtr (Ptr Device_T -> Ptr DeviceImageSubresourceInfoKHR -> Ptr (SomeStruct SubresourceLayout2KHR) -> IO ()) -> Ptr Device_T -> Ptr DeviceImageSubresourceInfoKHR -> Ptr (SomeStruct SubresourceLayout2KHR) -> IO ()
getDeviceImageSubresourceLayoutKHR :: forall a io
. ( Extendss SubresourceLayout2KHR a
, PokeChain a
, PeekChain a
, MonadIO io )
=>
Device
->
DeviceImageSubresourceInfoKHR
-> io (SubresourceLayout2KHR a)
getDeviceImageSubresourceLayoutKHR :: forall (a :: [*]) (io :: * -> *).
(Extendss SubresourceLayout2KHR a, PokeChain a, PeekChain a,
MonadIO io) =>
Device
-> DeviceImageSubresourceInfoKHR -> io (SubresourceLayout2KHR a)
getDeviceImageSubresourceLayoutKHR Device
device DeviceImageSubresourceInfoKHR
info = IO (SubresourceLayout2KHR a) -> io (SubresourceLayout2KHR a)
forall a. IO a -> io a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (SubresourceLayout2KHR a) -> io (SubresourceLayout2KHR a))
-> (ContT (SubresourceLayout2KHR a) IO (SubresourceLayout2KHR a)
-> IO (SubresourceLayout2KHR a))
-> ContT (SubresourceLayout2KHR a) IO (SubresourceLayout2KHR a)
-> io (SubresourceLayout2KHR a)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ContT (SubresourceLayout2KHR a) IO (SubresourceLayout2KHR a)
-> IO (SubresourceLayout2KHR a)
forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT (ContT (SubresourceLayout2KHR a) IO (SubresourceLayout2KHR a)
-> io (SubresourceLayout2KHR a))
-> ContT (SubresourceLayout2KHR a) IO (SubresourceLayout2KHR a)
-> io (SubresourceLayout2KHR a)
forall a b. (a -> b) -> a -> b
$ do
let vkGetDeviceImageSubresourceLayoutKHRPtr :: FunPtr
(Ptr Device_T
-> Ptr DeviceImageSubresourceInfoKHR
-> Ptr (SomeStruct SubresourceLayout2KHR)
-> IO ())
vkGetDeviceImageSubresourceLayoutKHRPtr = DeviceCmds
-> FunPtr
(Ptr Device_T
-> Ptr DeviceImageSubresourceInfoKHR
-> Ptr (SomeStruct SubresourceLayout2KHR)
-> IO ())
pVkGetDeviceImageSubresourceLayoutKHR (case Device
device of Device{DeviceCmds
$sel:deviceCmds:Device :: Device -> DeviceCmds
deviceCmds :: DeviceCmds
deviceCmds} -> DeviceCmds
deviceCmds)
IO () -> ContT (SubresourceLayout2KHR a) IO ()
forall (m :: * -> *) a.
Monad m =>
m a -> ContT (SubresourceLayout2KHR a) m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT (SubresourceLayout2KHR a) IO ())
-> IO () -> ContT (SubresourceLayout2KHR a) IO ()
forall a b. (a -> b) -> a -> b
$ Bool -> IO () -> IO ()
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless (FunPtr
(Ptr Device_T
-> Ptr DeviceImageSubresourceInfoKHR
-> Ptr (SomeStruct SubresourceLayout2KHR)
-> IO ())
vkGetDeviceImageSubresourceLayoutKHRPtr FunPtr
(Ptr Device_T
-> Ptr DeviceImageSubresourceInfoKHR
-> Ptr (SomeStruct SubresourceLayout2KHR)
-> IO ())
-> FunPtr
(Ptr Device_T
-> Ptr DeviceImageSubresourceInfoKHR
-> Ptr (SomeStruct SubresourceLayout2KHR)
-> IO ())
-> Bool
forall a. Eq a => a -> a -> Bool
/= FunPtr
(Ptr Device_T
-> Ptr DeviceImageSubresourceInfoKHR
-> Ptr (SomeStruct SubresourceLayout2KHR)
-> 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 vkGetDeviceImageSubresourceLayoutKHR is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let vkGetDeviceImageSubresourceLayoutKHR' :: Ptr Device_T
-> Ptr DeviceImageSubresourceInfoKHR
-> Ptr (SomeStruct SubresourceLayout2KHR)
-> IO ()
vkGetDeviceImageSubresourceLayoutKHR' = FunPtr
(Ptr Device_T
-> Ptr DeviceImageSubresourceInfoKHR
-> Ptr (SomeStruct SubresourceLayout2KHR)
-> IO ())
-> Ptr Device_T
-> Ptr DeviceImageSubresourceInfoKHR
-> Ptr (SomeStruct SubresourceLayout2KHR)
-> IO ()
mkVkGetDeviceImageSubresourceLayoutKHR FunPtr
(Ptr Device_T
-> Ptr DeviceImageSubresourceInfoKHR
-> Ptr (SomeStruct SubresourceLayout2KHR)
-> IO ())
vkGetDeviceImageSubresourceLayoutKHRPtr
Ptr DeviceImageSubresourceInfoKHR
pInfo <- ((Ptr DeviceImageSubresourceInfoKHR
-> IO (SubresourceLayout2KHR a))
-> IO (SubresourceLayout2KHR a))
-> ContT
(SubresourceLayout2KHR a) IO (Ptr DeviceImageSubresourceInfoKHR)
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr DeviceImageSubresourceInfoKHR
-> IO (SubresourceLayout2KHR a))
-> IO (SubresourceLayout2KHR a))
-> ContT
(SubresourceLayout2KHR a) IO (Ptr DeviceImageSubresourceInfoKHR))
-> ((Ptr DeviceImageSubresourceInfoKHR
-> IO (SubresourceLayout2KHR a))
-> IO (SubresourceLayout2KHR a))
-> ContT
(SubresourceLayout2KHR a) IO (Ptr DeviceImageSubresourceInfoKHR)
forall a b. (a -> b) -> a -> b
$ DeviceImageSubresourceInfoKHR
-> (Ptr DeviceImageSubresourceInfoKHR
-> IO (SubresourceLayout2KHR a))
-> IO (SubresourceLayout2KHR a)
forall a b. ToCStruct a => a -> (Ptr a -> IO b) -> IO b
forall b.
DeviceImageSubresourceInfoKHR
-> (Ptr DeviceImageSubresourceInfoKHR -> IO b) -> IO b
withCStruct (DeviceImageSubresourceInfoKHR
info)
Ptr (SubresourceLayout2KHR a)
pPLayout <- ((Ptr (SubresourceLayout2KHR a) -> IO (SubresourceLayout2KHR a))
-> IO (SubresourceLayout2KHR a))
-> ContT
(SubresourceLayout2KHR a) IO (Ptr (SubresourceLayout2KHR a))
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (forall a b. ToCStruct a => (Ptr a -> IO b) -> IO b
withZeroCStruct @(SubresourceLayout2KHR _))
IO () -> ContT (SubresourceLayout2KHR a) IO ()
forall (m :: * -> *) a.
Monad m =>
m a -> ContT (SubresourceLayout2KHR a) m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT (SubresourceLayout2KHR a) IO ())
-> IO () -> ContT (SubresourceLayout2KHR a) IO ()
forall a b. (a -> b) -> a -> b
$ String -> IO () -> IO ()
forall a. String -> IO a -> IO a
traceAroundEvent String
"vkGetDeviceImageSubresourceLayoutKHR" (Ptr Device_T
-> Ptr DeviceImageSubresourceInfoKHR
-> Ptr (SomeStruct SubresourceLayout2KHR)
-> IO ()
vkGetDeviceImageSubresourceLayoutKHR'
(Device -> Ptr Device_T
deviceHandle (Device
device))
Ptr DeviceImageSubresourceInfoKHR
pInfo
(Ptr (SubresourceLayout2KHR a)
-> Ptr (SomeStruct SubresourceLayout2KHR)
forall (a :: [*] -> *) (es :: [*]).
Ptr (a es) -> Ptr (SomeStruct a)
forgetExtensions (Ptr (SubresourceLayout2KHR a)
pPLayout)))
SubresourceLayout2KHR a
pLayout <- IO (SubresourceLayout2KHR a)
-> ContT (SubresourceLayout2KHR a) IO (SubresourceLayout2KHR a)
forall (m :: * -> *) a.
Monad m =>
m a -> ContT (SubresourceLayout2KHR a) m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO (SubresourceLayout2KHR a)
-> ContT (SubresourceLayout2KHR a) IO (SubresourceLayout2KHR a))
-> IO (SubresourceLayout2KHR a)
-> ContT (SubresourceLayout2KHR a) IO (SubresourceLayout2KHR a)
forall a b. (a -> b) -> a -> b
$ forall a. FromCStruct a => Ptr a -> IO a
peekCStruct @(SubresourceLayout2KHR _) Ptr (SubresourceLayout2KHR a)
pPLayout
SubresourceLayout2KHR a
-> ContT (SubresourceLayout2KHR a) IO (SubresourceLayout2KHR a)
forall a. a -> ContT (SubresourceLayout2KHR a) IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (SubresourceLayout2KHR a
-> ContT (SubresourceLayout2KHR a) IO (SubresourceLayout2KHR a))
-> SubresourceLayout2KHR a
-> ContT (SubresourceLayout2KHR a) IO (SubresourceLayout2KHR a)
forall a b. (a -> b) -> a -> b
$ (SubresourceLayout2KHR a
pLayout)
pattern $bBUFFER_USAGE_2_RAY_TRACING_BIT_NV :: BufferUsageFlagBits2KHR
$mBUFFER_USAGE_2_RAY_TRACING_BIT_NV :: forall {r}.
BufferUsageFlagBits2KHR -> ((# #) -> r) -> ((# #) -> r) -> r
BUFFER_USAGE_2_RAY_TRACING_BIT_NV = BUFFER_USAGE_2_SHADER_BINDING_TABLE_BIT_KHR
data BufferUsageFlags2CreateInfoKHR = BufferUsageFlags2CreateInfoKHR
{
BufferUsageFlags2CreateInfoKHR -> BufferUsageFlagBits2KHR
usage :: BufferUsageFlags2KHR }
deriving (Typeable, BufferUsageFlags2CreateInfoKHR
-> BufferUsageFlags2CreateInfoKHR -> Bool
(BufferUsageFlags2CreateInfoKHR
-> BufferUsageFlags2CreateInfoKHR -> Bool)
-> (BufferUsageFlags2CreateInfoKHR
-> BufferUsageFlags2CreateInfoKHR -> Bool)
-> Eq BufferUsageFlags2CreateInfoKHR
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: BufferUsageFlags2CreateInfoKHR
-> BufferUsageFlags2CreateInfoKHR -> Bool
== :: BufferUsageFlags2CreateInfoKHR
-> BufferUsageFlags2CreateInfoKHR -> Bool
$c/= :: BufferUsageFlags2CreateInfoKHR
-> BufferUsageFlags2CreateInfoKHR -> Bool
/= :: BufferUsageFlags2CreateInfoKHR
-> BufferUsageFlags2CreateInfoKHR -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (BufferUsageFlags2CreateInfoKHR)
#endif
deriving instance Show BufferUsageFlags2CreateInfoKHR
instance ToCStruct BufferUsageFlags2CreateInfoKHR where
withCStruct :: forall b.
BufferUsageFlags2CreateInfoKHR
-> (Ptr BufferUsageFlags2CreateInfoKHR -> IO b) -> IO b
withCStruct BufferUsageFlags2CreateInfoKHR
x Ptr BufferUsageFlags2CreateInfoKHR -> IO b
f = Int -> (Ptr BufferUsageFlags2CreateInfoKHR -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
24 ((Ptr BufferUsageFlags2CreateInfoKHR -> IO b) -> IO b)
-> (Ptr BufferUsageFlags2CreateInfoKHR -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr BufferUsageFlags2CreateInfoKHR
p -> Ptr BufferUsageFlags2CreateInfoKHR
-> BufferUsageFlags2CreateInfoKHR -> IO b -> IO b
forall b.
Ptr BufferUsageFlags2CreateInfoKHR
-> BufferUsageFlags2CreateInfoKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr BufferUsageFlags2CreateInfoKHR
p BufferUsageFlags2CreateInfoKHR
x (Ptr BufferUsageFlags2CreateInfoKHR -> IO b
f Ptr BufferUsageFlags2CreateInfoKHR
p)
pokeCStruct :: forall b.
Ptr BufferUsageFlags2CreateInfoKHR
-> BufferUsageFlags2CreateInfoKHR -> IO b -> IO b
pokeCStruct Ptr BufferUsageFlags2CreateInfoKHR
p BufferUsageFlags2CreateInfoKHR{BufferUsageFlagBits2KHR
$sel:usage:BufferUsageFlags2CreateInfoKHR :: BufferUsageFlags2CreateInfoKHR -> BufferUsageFlagBits2KHR
usage :: BufferUsageFlagBits2KHR
..} IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferUsageFlags2CreateInfoKHR
p Ptr BufferUsageFlags2CreateInfoKHR -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHR)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferUsageFlags2CreateInfoKHR
p Ptr BufferUsageFlags2CreateInfoKHR -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr BufferUsageFlagBits2KHR -> BufferUsageFlagBits2KHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferUsageFlags2CreateInfoKHR
p Ptr BufferUsageFlags2CreateInfoKHR
-> Int -> Ptr BufferUsageFlagBits2KHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr BufferUsageFlags2KHR)) (BufferUsageFlagBits2KHR
usage)
IO b
f
cStructSize :: Int
cStructSize = Int
24
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b. Ptr BufferUsageFlags2CreateInfoKHR -> IO b -> IO b
pokeZeroCStruct Ptr BufferUsageFlags2CreateInfoKHR
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferUsageFlags2CreateInfoKHR
p Ptr BufferUsageFlags2CreateInfoKHR -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHR)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferUsageFlags2CreateInfoKHR
p Ptr BufferUsageFlags2CreateInfoKHR -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr BufferUsageFlagBits2KHR -> BufferUsageFlagBits2KHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferUsageFlags2CreateInfoKHR
p Ptr BufferUsageFlags2CreateInfoKHR
-> Int -> Ptr BufferUsageFlagBits2KHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr BufferUsageFlags2KHR)) (BufferUsageFlagBits2KHR
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct BufferUsageFlags2CreateInfoKHR where
peekCStruct :: Ptr BufferUsageFlags2CreateInfoKHR
-> IO BufferUsageFlags2CreateInfoKHR
peekCStruct Ptr BufferUsageFlags2CreateInfoKHR
p = do
BufferUsageFlagBits2KHR
usage <- forall a. Storable a => Ptr a -> IO a
peek @BufferUsageFlags2KHR ((Ptr BufferUsageFlags2CreateInfoKHR
p Ptr BufferUsageFlags2CreateInfoKHR
-> Int -> Ptr BufferUsageFlagBits2KHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr BufferUsageFlags2KHR))
BufferUsageFlags2CreateInfoKHR -> IO BufferUsageFlags2CreateInfoKHR
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (BufferUsageFlags2CreateInfoKHR
-> IO BufferUsageFlags2CreateInfoKHR)
-> BufferUsageFlags2CreateInfoKHR
-> IO BufferUsageFlags2CreateInfoKHR
forall a b. (a -> b) -> a -> b
$ BufferUsageFlagBits2KHR -> BufferUsageFlags2CreateInfoKHR
BufferUsageFlags2CreateInfoKHR
BufferUsageFlagBits2KHR
usage
instance Storable BufferUsageFlags2CreateInfoKHR where
sizeOf :: BufferUsageFlags2CreateInfoKHR -> Int
sizeOf ~BufferUsageFlags2CreateInfoKHR
_ = Int
24
alignment :: BufferUsageFlags2CreateInfoKHR -> Int
alignment ~BufferUsageFlags2CreateInfoKHR
_ = Int
8
peek :: Ptr BufferUsageFlags2CreateInfoKHR
-> IO BufferUsageFlags2CreateInfoKHR
peek = Ptr BufferUsageFlags2CreateInfoKHR
-> IO BufferUsageFlags2CreateInfoKHR
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr BufferUsageFlags2CreateInfoKHR
-> BufferUsageFlags2CreateInfoKHR -> IO ()
poke Ptr BufferUsageFlags2CreateInfoKHR
ptr BufferUsageFlags2CreateInfoKHR
poked = Ptr BufferUsageFlags2CreateInfoKHR
-> BufferUsageFlags2CreateInfoKHR -> IO () -> IO ()
forall b.
Ptr BufferUsageFlags2CreateInfoKHR
-> BufferUsageFlags2CreateInfoKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr BufferUsageFlags2CreateInfoKHR
ptr BufferUsageFlags2CreateInfoKHR
poked (() -> IO ()
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero BufferUsageFlags2CreateInfoKHR where
zero :: BufferUsageFlags2CreateInfoKHR
zero = BufferUsageFlagBits2KHR -> BufferUsageFlags2CreateInfoKHR
BufferUsageFlags2CreateInfoKHR
BufferUsageFlagBits2KHR
forall a. Zero a => a
zero
data PipelineCreateFlags2CreateInfoKHR = PipelineCreateFlags2CreateInfoKHR
{
PipelineCreateFlags2CreateInfoKHR -> PipelineCreateFlags2KHR
flags :: PipelineCreateFlags2KHR }
deriving (Typeable, PipelineCreateFlags2CreateInfoKHR
-> PipelineCreateFlags2CreateInfoKHR -> Bool
(PipelineCreateFlags2CreateInfoKHR
-> PipelineCreateFlags2CreateInfoKHR -> Bool)
-> (PipelineCreateFlags2CreateInfoKHR
-> PipelineCreateFlags2CreateInfoKHR -> Bool)
-> Eq PipelineCreateFlags2CreateInfoKHR
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PipelineCreateFlags2CreateInfoKHR
-> PipelineCreateFlags2CreateInfoKHR -> Bool
== :: PipelineCreateFlags2CreateInfoKHR
-> PipelineCreateFlags2CreateInfoKHR -> Bool
$c/= :: PipelineCreateFlags2CreateInfoKHR
-> PipelineCreateFlags2CreateInfoKHR -> Bool
/= :: PipelineCreateFlags2CreateInfoKHR
-> PipelineCreateFlags2CreateInfoKHR -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (PipelineCreateFlags2CreateInfoKHR)
#endif
deriving instance Show PipelineCreateFlags2CreateInfoKHR
instance ToCStruct PipelineCreateFlags2CreateInfoKHR where
withCStruct :: forall b.
PipelineCreateFlags2CreateInfoKHR
-> (Ptr PipelineCreateFlags2CreateInfoKHR -> IO b) -> IO b
withCStruct PipelineCreateFlags2CreateInfoKHR
x Ptr PipelineCreateFlags2CreateInfoKHR -> IO b
f = Int -> (Ptr PipelineCreateFlags2CreateInfoKHR -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
24 ((Ptr PipelineCreateFlags2CreateInfoKHR -> IO b) -> IO b)
-> (Ptr PipelineCreateFlags2CreateInfoKHR -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr PipelineCreateFlags2CreateInfoKHR
p -> Ptr PipelineCreateFlags2CreateInfoKHR
-> PipelineCreateFlags2CreateInfoKHR -> IO b -> IO b
forall b.
Ptr PipelineCreateFlags2CreateInfoKHR
-> PipelineCreateFlags2CreateInfoKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PipelineCreateFlags2CreateInfoKHR
p PipelineCreateFlags2CreateInfoKHR
x (Ptr PipelineCreateFlags2CreateInfoKHR -> IO b
f Ptr PipelineCreateFlags2CreateInfoKHR
p)
pokeCStruct :: forall b.
Ptr PipelineCreateFlags2CreateInfoKHR
-> PipelineCreateFlags2CreateInfoKHR -> IO b -> IO b
pokeCStruct Ptr PipelineCreateFlags2CreateInfoKHR
p PipelineCreateFlags2CreateInfoKHR{PipelineCreateFlags2KHR
$sel:flags:PipelineCreateFlags2CreateInfoKHR :: PipelineCreateFlags2CreateInfoKHR -> PipelineCreateFlags2KHR
flags :: PipelineCreateFlags2KHR
..} IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineCreateFlags2CreateInfoKHR
p Ptr PipelineCreateFlags2CreateInfoKHR -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineCreateFlags2CreateInfoKHR
p Ptr PipelineCreateFlags2CreateInfoKHR -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr PipelineCreateFlags2KHR -> PipelineCreateFlags2KHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineCreateFlags2CreateInfoKHR
p Ptr PipelineCreateFlags2CreateInfoKHR
-> Int -> Ptr PipelineCreateFlags2KHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr PipelineCreateFlags2KHR)) (PipelineCreateFlags2KHR
flags)
IO b
f
cStructSize :: Int
cStructSize = Int
24
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b. Ptr PipelineCreateFlags2CreateInfoKHR -> IO b -> IO b
pokeZeroCStruct Ptr PipelineCreateFlags2CreateInfoKHR
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineCreateFlags2CreateInfoKHR
p Ptr PipelineCreateFlags2CreateInfoKHR -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineCreateFlags2CreateInfoKHR
p Ptr PipelineCreateFlags2CreateInfoKHR -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr PipelineCreateFlags2KHR -> PipelineCreateFlags2KHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineCreateFlags2CreateInfoKHR
p Ptr PipelineCreateFlags2CreateInfoKHR
-> Int -> Ptr PipelineCreateFlags2KHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr PipelineCreateFlags2KHR)) (PipelineCreateFlags2KHR
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct PipelineCreateFlags2CreateInfoKHR where
peekCStruct :: Ptr PipelineCreateFlags2CreateInfoKHR
-> IO PipelineCreateFlags2CreateInfoKHR
peekCStruct Ptr PipelineCreateFlags2CreateInfoKHR
p = do
PipelineCreateFlags2KHR
flags <- forall a. Storable a => Ptr a -> IO a
peek @PipelineCreateFlags2KHR ((Ptr PipelineCreateFlags2CreateInfoKHR
p Ptr PipelineCreateFlags2CreateInfoKHR
-> Int -> Ptr PipelineCreateFlags2KHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr PipelineCreateFlags2KHR))
PipelineCreateFlags2CreateInfoKHR
-> IO PipelineCreateFlags2CreateInfoKHR
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PipelineCreateFlags2CreateInfoKHR
-> IO PipelineCreateFlags2CreateInfoKHR)
-> PipelineCreateFlags2CreateInfoKHR
-> IO PipelineCreateFlags2CreateInfoKHR
forall a b. (a -> b) -> a -> b
$ PipelineCreateFlags2KHR -> PipelineCreateFlags2CreateInfoKHR
PipelineCreateFlags2CreateInfoKHR
PipelineCreateFlags2KHR
flags
instance Storable PipelineCreateFlags2CreateInfoKHR where
sizeOf :: PipelineCreateFlags2CreateInfoKHR -> Int
sizeOf ~PipelineCreateFlags2CreateInfoKHR
_ = Int
24
alignment :: PipelineCreateFlags2CreateInfoKHR -> Int
alignment ~PipelineCreateFlags2CreateInfoKHR
_ = Int
8
peek :: Ptr PipelineCreateFlags2CreateInfoKHR
-> IO PipelineCreateFlags2CreateInfoKHR
peek = Ptr PipelineCreateFlags2CreateInfoKHR
-> IO PipelineCreateFlags2CreateInfoKHR
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr PipelineCreateFlags2CreateInfoKHR
-> PipelineCreateFlags2CreateInfoKHR -> IO ()
poke Ptr PipelineCreateFlags2CreateInfoKHR
ptr PipelineCreateFlags2CreateInfoKHR
poked = Ptr PipelineCreateFlags2CreateInfoKHR
-> PipelineCreateFlags2CreateInfoKHR -> IO () -> IO ()
forall b.
Ptr PipelineCreateFlags2CreateInfoKHR
-> PipelineCreateFlags2CreateInfoKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PipelineCreateFlags2CreateInfoKHR
ptr PipelineCreateFlags2CreateInfoKHR
poked (() -> IO ()
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero PipelineCreateFlags2CreateInfoKHR where
zero :: PipelineCreateFlags2CreateInfoKHR
zero = PipelineCreateFlags2KHR -> PipelineCreateFlags2CreateInfoKHR
PipelineCreateFlags2CreateInfoKHR
PipelineCreateFlags2KHR
forall a. Zero a => a
zero
data PhysicalDeviceMaintenance5FeaturesKHR = PhysicalDeviceMaintenance5FeaturesKHR
{
PhysicalDeviceMaintenance5FeaturesKHR -> Bool
maintenance5 :: Bool }
deriving (Typeable, PhysicalDeviceMaintenance5FeaturesKHR
-> PhysicalDeviceMaintenance5FeaturesKHR -> Bool
(PhysicalDeviceMaintenance5FeaturesKHR
-> PhysicalDeviceMaintenance5FeaturesKHR -> Bool)
-> (PhysicalDeviceMaintenance5FeaturesKHR
-> PhysicalDeviceMaintenance5FeaturesKHR -> Bool)
-> Eq PhysicalDeviceMaintenance5FeaturesKHR
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PhysicalDeviceMaintenance5FeaturesKHR
-> PhysicalDeviceMaintenance5FeaturesKHR -> Bool
== :: PhysicalDeviceMaintenance5FeaturesKHR
-> PhysicalDeviceMaintenance5FeaturesKHR -> Bool
$c/= :: PhysicalDeviceMaintenance5FeaturesKHR
-> PhysicalDeviceMaintenance5FeaturesKHR -> Bool
/= :: PhysicalDeviceMaintenance5FeaturesKHR
-> PhysicalDeviceMaintenance5FeaturesKHR -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (PhysicalDeviceMaintenance5FeaturesKHR)
#endif
deriving instance Show PhysicalDeviceMaintenance5FeaturesKHR
instance ToCStruct PhysicalDeviceMaintenance5FeaturesKHR where
withCStruct :: forall b.
PhysicalDeviceMaintenance5FeaturesKHR
-> (Ptr PhysicalDeviceMaintenance5FeaturesKHR -> IO b) -> IO b
withCStruct PhysicalDeviceMaintenance5FeaturesKHR
x Ptr PhysicalDeviceMaintenance5FeaturesKHR -> IO b
f = Int -> (Ptr PhysicalDeviceMaintenance5FeaturesKHR -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
24 ((Ptr PhysicalDeviceMaintenance5FeaturesKHR -> IO b) -> IO b)
-> (Ptr PhysicalDeviceMaintenance5FeaturesKHR -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr PhysicalDeviceMaintenance5FeaturesKHR
p -> Ptr PhysicalDeviceMaintenance5FeaturesKHR
-> PhysicalDeviceMaintenance5FeaturesKHR -> IO b -> IO b
forall b.
Ptr PhysicalDeviceMaintenance5FeaturesKHR
-> PhysicalDeviceMaintenance5FeaturesKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceMaintenance5FeaturesKHR
p PhysicalDeviceMaintenance5FeaturesKHR
x (Ptr PhysicalDeviceMaintenance5FeaturesKHR -> IO b
f Ptr PhysicalDeviceMaintenance5FeaturesKHR
p)
pokeCStruct :: forall b.
Ptr PhysicalDeviceMaintenance5FeaturesKHR
-> PhysicalDeviceMaintenance5FeaturesKHR -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceMaintenance5FeaturesKHR
p PhysicalDeviceMaintenance5FeaturesKHR{Bool
$sel:maintenance5:PhysicalDeviceMaintenance5FeaturesKHR :: PhysicalDeviceMaintenance5FeaturesKHR -> Bool
maintenance5 :: Bool
..} IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceMaintenance5FeaturesKHR
p Ptr PhysicalDeviceMaintenance5FeaturesKHR
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceMaintenance5FeaturesKHR
p Ptr PhysicalDeviceMaintenance5FeaturesKHR -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceMaintenance5FeaturesKHR
p Ptr PhysicalDeviceMaintenance5FeaturesKHR -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
maintenance5))
IO b
f
cStructSize :: Int
cStructSize = Int
24
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b. Ptr PhysicalDeviceMaintenance5FeaturesKHR -> IO b -> IO b
pokeZeroCStruct Ptr PhysicalDeviceMaintenance5FeaturesKHR
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceMaintenance5FeaturesKHR
p Ptr PhysicalDeviceMaintenance5FeaturesKHR
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceMaintenance5FeaturesKHR
p Ptr PhysicalDeviceMaintenance5FeaturesKHR -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceMaintenance5FeaturesKHR
p Ptr PhysicalDeviceMaintenance5FeaturesKHR -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
IO b
f
instance FromCStruct PhysicalDeviceMaintenance5FeaturesKHR where
peekCStruct :: Ptr PhysicalDeviceMaintenance5FeaturesKHR
-> IO PhysicalDeviceMaintenance5FeaturesKHR
peekCStruct Ptr PhysicalDeviceMaintenance5FeaturesKHR
p = do
Bool32
maintenance5 <- forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceMaintenance5FeaturesKHR
p Ptr PhysicalDeviceMaintenance5FeaturesKHR -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32))
PhysicalDeviceMaintenance5FeaturesKHR
-> IO PhysicalDeviceMaintenance5FeaturesKHR
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PhysicalDeviceMaintenance5FeaturesKHR
-> IO PhysicalDeviceMaintenance5FeaturesKHR)
-> PhysicalDeviceMaintenance5FeaturesKHR
-> IO PhysicalDeviceMaintenance5FeaturesKHR
forall a b. (a -> b) -> a -> b
$ Bool -> PhysicalDeviceMaintenance5FeaturesKHR
PhysicalDeviceMaintenance5FeaturesKHR
(Bool32 -> Bool
bool32ToBool Bool32
maintenance5)
instance Storable PhysicalDeviceMaintenance5FeaturesKHR where
sizeOf :: PhysicalDeviceMaintenance5FeaturesKHR -> Int
sizeOf ~PhysicalDeviceMaintenance5FeaturesKHR
_ = Int
24
alignment :: PhysicalDeviceMaintenance5FeaturesKHR -> Int
alignment ~PhysicalDeviceMaintenance5FeaturesKHR
_ = Int
8
peek :: Ptr PhysicalDeviceMaintenance5FeaturesKHR
-> IO PhysicalDeviceMaintenance5FeaturesKHR
peek = Ptr PhysicalDeviceMaintenance5FeaturesKHR
-> IO PhysicalDeviceMaintenance5FeaturesKHR
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr PhysicalDeviceMaintenance5FeaturesKHR
-> PhysicalDeviceMaintenance5FeaturesKHR -> IO ()
poke Ptr PhysicalDeviceMaintenance5FeaturesKHR
ptr PhysicalDeviceMaintenance5FeaturesKHR
poked = Ptr PhysicalDeviceMaintenance5FeaturesKHR
-> PhysicalDeviceMaintenance5FeaturesKHR -> IO () -> IO ()
forall b.
Ptr PhysicalDeviceMaintenance5FeaturesKHR
-> PhysicalDeviceMaintenance5FeaturesKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceMaintenance5FeaturesKHR
ptr PhysicalDeviceMaintenance5FeaturesKHR
poked (() -> IO ()
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero PhysicalDeviceMaintenance5FeaturesKHR where
zero :: PhysicalDeviceMaintenance5FeaturesKHR
zero = Bool -> PhysicalDeviceMaintenance5FeaturesKHR
PhysicalDeviceMaintenance5FeaturesKHR
Bool
forall a. Zero a => a
zero
data PhysicalDeviceMaintenance5PropertiesKHR = PhysicalDeviceMaintenance5PropertiesKHR
{
PhysicalDeviceMaintenance5PropertiesKHR -> Bool
earlyFragmentMultisampleCoverageAfterSampleCounting :: Bool
,
PhysicalDeviceMaintenance5PropertiesKHR -> Bool
earlyFragmentSampleMaskTestBeforeSampleCounting :: Bool
,
PhysicalDeviceMaintenance5PropertiesKHR -> Bool
depthStencilSwizzleOneSupport :: Bool
,
PhysicalDeviceMaintenance5PropertiesKHR -> Bool
polygonModePointSize :: Bool
,
PhysicalDeviceMaintenance5PropertiesKHR -> Bool
nonStrictSinglePixelWideLinesUseParallelogram :: Bool
,
PhysicalDeviceMaintenance5PropertiesKHR -> Bool
nonStrictWideLinesUseParallelogram :: Bool
}
deriving (Typeable, PhysicalDeviceMaintenance5PropertiesKHR
-> PhysicalDeviceMaintenance5PropertiesKHR -> Bool
(PhysicalDeviceMaintenance5PropertiesKHR
-> PhysicalDeviceMaintenance5PropertiesKHR -> Bool)
-> (PhysicalDeviceMaintenance5PropertiesKHR
-> PhysicalDeviceMaintenance5PropertiesKHR -> Bool)
-> Eq PhysicalDeviceMaintenance5PropertiesKHR
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PhysicalDeviceMaintenance5PropertiesKHR
-> PhysicalDeviceMaintenance5PropertiesKHR -> Bool
== :: PhysicalDeviceMaintenance5PropertiesKHR
-> PhysicalDeviceMaintenance5PropertiesKHR -> Bool
$c/= :: PhysicalDeviceMaintenance5PropertiesKHR
-> PhysicalDeviceMaintenance5PropertiesKHR -> Bool
/= :: PhysicalDeviceMaintenance5PropertiesKHR
-> PhysicalDeviceMaintenance5PropertiesKHR -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (PhysicalDeviceMaintenance5PropertiesKHR)
#endif
deriving instance Show PhysicalDeviceMaintenance5PropertiesKHR
instance ToCStruct PhysicalDeviceMaintenance5PropertiesKHR where
withCStruct :: forall b.
PhysicalDeviceMaintenance5PropertiesKHR
-> (Ptr PhysicalDeviceMaintenance5PropertiesKHR -> IO b) -> IO b
withCStruct PhysicalDeviceMaintenance5PropertiesKHR
x Ptr PhysicalDeviceMaintenance5PropertiesKHR -> IO b
f = Int
-> (Ptr PhysicalDeviceMaintenance5PropertiesKHR -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
40 ((Ptr PhysicalDeviceMaintenance5PropertiesKHR -> IO b) -> IO b)
-> (Ptr PhysicalDeviceMaintenance5PropertiesKHR -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr PhysicalDeviceMaintenance5PropertiesKHR
p -> Ptr PhysicalDeviceMaintenance5PropertiesKHR
-> PhysicalDeviceMaintenance5PropertiesKHR -> IO b -> IO b
forall b.
Ptr PhysicalDeviceMaintenance5PropertiesKHR
-> PhysicalDeviceMaintenance5PropertiesKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceMaintenance5PropertiesKHR
p PhysicalDeviceMaintenance5PropertiesKHR
x (Ptr PhysicalDeviceMaintenance5PropertiesKHR -> IO b
f Ptr PhysicalDeviceMaintenance5PropertiesKHR
p)
pokeCStruct :: forall b.
Ptr PhysicalDeviceMaintenance5PropertiesKHR
-> PhysicalDeviceMaintenance5PropertiesKHR -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceMaintenance5PropertiesKHR
p PhysicalDeviceMaintenance5PropertiesKHR{Bool
$sel:earlyFragmentMultisampleCoverageAfterSampleCounting:PhysicalDeviceMaintenance5PropertiesKHR :: PhysicalDeviceMaintenance5PropertiesKHR -> Bool
$sel:earlyFragmentSampleMaskTestBeforeSampleCounting:PhysicalDeviceMaintenance5PropertiesKHR :: PhysicalDeviceMaintenance5PropertiesKHR -> Bool
$sel:depthStencilSwizzleOneSupport:PhysicalDeviceMaintenance5PropertiesKHR :: PhysicalDeviceMaintenance5PropertiesKHR -> Bool
$sel:polygonModePointSize:PhysicalDeviceMaintenance5PropertiesKHR :: PhysicalDeviceMaintenance5PropertiesKHR -> Bool
$sel:nonStrictSinglePixelWideLinesUseParallelogram:PhysicalDeviceMaintenance5PropertiesKHR :: PhysicalDeviceMaintenance5PropertiesKHR -> Bool
$sel:nonStrictWideLinesUseParallelogram:PhysicalDeviceMaintenance5PropertiesKHR :: PhysicalDeviceMaintenance5PropertiesKHR -> Bool
earlyFragmentMultisampleCoverageAfterSampleCounting :: Bool
earlyFragmentSampleMaskTestBeforeSampleCounting :: Bool
depthStencilSwizzleOneSupport :: Bool
polygonModePointSize :: Bool
nonStrictSinglePixelWideLinesUseParallelogram :: Bool
nonStrictWideLinesUseParallelogram :: Bool
..} IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceMaintenance5PropertiesKHR
p Ptr PhysicalDeviceMaintenance5PropertiesKHR
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES_KHR)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceMaintenance5PropertiesKHR
p Ptr PhysicalDeviceMaintenance5PropertiesKHR -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceMaintenance5PropertiesKHR
p Ptr PhysicalDeviceMaintenance5PropertiesKHR -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
earlyFragmentMultisampleCoverageAfterSampleCounting))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceMaintenance5PropertiesKHR
p Ptr PhysicalDeviceMaintenance5PropertiesKHR -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
earlyFragmentSampleMaskTestBeforeSampleCounting))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceMaintenance5PropertiesKHR
p Ptr PhysicalDeviceMaintenance5PropertiesKHR -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
depthStencilSwizzleOneSupport))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceMaintenance5PropertiesKHR
p Ptr PhysicalDeviceMaintenance5PropertiesKHR -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
28 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
polygonModePointSize))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceMaintenance5PropertiesKHR
p Ptr PhysicalDeviceMaintenance5PropertiesKHR -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
nonStrictSinglePixelWideLinesUseParallelogram))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceMaintenance5PropertiesKHR
p Ptr PhysicalDeviceMaintenance5PropertiesKHR -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
36 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
nonStrictWideLinesUseParallelogram))
IO b
f
cStructSize :: Int
cStructSize = Int
40
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b.
Ptr PhysicalDeviceMaintenance5PropertiesKHR -> IO b -> IO b
pokeZeroCStruct Ptr PhysicalDeviceMaintenance5PropertiesKHR
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceMaintenance5PropertiesKHR
p Ptr PhysicalDeviceMaintenance5PropertiesKHR
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES_KHR)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceMaintenance5PropertiesKHR
p Ptr PhysicalDeviceMaintenance5PropertiesKHR -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceMaintenance5PropertiesKHR
p Ptr PhysicalDeviceMaintenance5PropertiesKHR -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceMaintenance5PropertiesKHR
p Ptr PhysicalDeviceMaintenance5PropertiesKHR -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceMaintenance5PropertiesKHR
p Ptr PhysicalDeviceMaintenance5PropertiesKHR -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceMaintenance5PropertiesKHR
p Ptr PhysicalDeviceMaintenance5PropertiesKHR -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
28 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceMaintenance5PropertiesKHR
p Ptr PhysicalDeviceMaintenance5PropertiesKHR -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceMaintenance5PropertiesKHR
p Ptr PhysicalDeviceMaintenance5PropertiesKHR -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
36 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
IO b
f
instance FromCStruct PhysicalDeviceMaintenance5PropertiesKHR where
peekCStruct :: Ptr PhysicalDeviceMaintenance5PropertiesKHR
-> IO PhysicalDeviceMaintenance5PropertiesKHR
peekCStruct Ptr PhysicalDeviceMaintenance5PropertiesKHR
p = do
Bool32
earlyFragmentMultisampleCoverageAfterSampleCounting <- forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceMaintenance5PropertiesKHR
p Ptr PhysicalDeviceMaintenance5PropertiesKHR -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32))
Bool32
earlyFragmentSampleMaskTestBeforeSampleCounting <- forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceMaintenance5PropertiesKHR
p Ptr PhysicalDeviceMaintenance5PropertiesKHR -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Bool32))
Bool32
depthStencilSwizzleOneSupport <- forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceMaintenance5PropertiesKHR
p Ptr PhysicalDeviceMaintenance5PropertiesKHR -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr Bool32))
Bool32
polygonModePointSize <- forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceMaintenance5PropertiesKHR
p Ptr PhysicalDeviceMaintenance5PropertiesKHR -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
28 :: Ptr Bool32))
Bool32
nonStrictSinglePixelWideLinesUseParallelogram <- forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceMaintenance5PropertiesKHR
p Ptr PhysicalDeviceMaintenance5PropertiesKHR -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr Bool32))
Bool32
nonStrictWideLinesUseParallelogram <- forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceMaintenance5PropertiesKHR
p Ptr PhysicalDeviceMaintenance5PropertiesKHR -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
36 :: Ptr Bool32))
PhysicalDeviceMaintenance5PropertiesKHR
-> IO PhysicalDeviceMaintenance5PropertiesKHR
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PhysicalDeviceMaintenance5PropertiesKHR
-> IO PhysicalDeviceMaintenance5PropertiesKHR)
-> PhysicalDeviceMaintenance5PropertiesKHR
-> IO PhysicalDeviceMaintenance5PropertiesKHR
forall a b. (a -> b) -> a -> b
$ Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> PhysicalDeviceMaintenance5PropertiesKHR
PhysicalDeviceMaintenance5PropertiesKHR
(Bool32 -> Bool
bool32ToBool Bool32
earlyFragmentMultisampleCoverageAfterSampleCounting)
(Bool32 -> Bool
bool32ToBool Bool32
earlyFragmentSampleMaskTestBeforeSampleCounting)
(Bool32 -> Bool
bool32ToBool Bool32
depthStencilSwizzleOneSupport)
(Bool32 -> Bool
bool32ToBool Bool32
polygonModePointSize)
(Bool32 -> Bool
bool32ToBool Bool32
nonStrictSinglePixelWideLinesUseParallelogram)
(Bool32 -> Bool
bool32ToBool Bool32
nonStrictWideLinesUseParallelogram)
instance Storable PhysicalDeviceMaintenance5PropertiesKHR where
sizeOf :: PhysicalDeviceMaintenance5PropertiesKHR -> Int
sizeOf ~PhysicalDeviceMaintenance5PropertiesKHR
_ = Int
40
alignment :: PhysicalDeviceMaintenance5PropertiesKHR -> Int
alignment ~PhysicalDeviceMaintenance5PropertiesKHR
_ = Int
8
peek :: Ptr PhysicalDeviceMaintenance5PropertiesKHR
-> IO PhysicalDeviceMaintenance5PropertiesKHR
peek = Ptr PhysicalDeviceMaintenance5PropertiesKHR
-> IO PhysicalDeviceMaintenance5PropertiesKHR
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr PhysicalDeviceMaintenance5PropertiesKHR
-> PhysicalDeviceMaintenance5PropertiesKHR -> IO ()
poke Ptr PhysicalDeviceMaintenance5PropertiesKHR
ptr PhysicalDeviceMaintenance5PropertiesKHR
poked = Ptr PhysicalDeviceMaintenance5PropertiesKHR
-> PhysicalDeviceMaintenance5PropertiesKHR -> IO () -> IO ()
forall b.
Ptr PhysicalDeviceMaintenance5PropertiesKHR
-> PhysicalDeviceMaintenance5PropertiesKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceMaintenance5PropertiesKHR
ptr PhysicalDeviceMaintenance5PropertiesKHR
poked (() -> IO ()
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero PhysicalDeviceMaintenance5PropertiesKHR where
zero :: PhysicalDeviceMaintenance5PropertiesKHR
zero = Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> PhysicalDeviceMaintenance5PropertiesKHR
PhysicalDeviceMaintenance5PropertiesKHR
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
data RenderingAreaInfoKHR = RenderingAreaInfoKHR
{
RenderingAreaInfoKHR -> Word32
viewMask :: Word32
,
RenderingAreaInfoKHR -> Vector Format
colorAttachmentFormats :: Vector Format
,
RenderingAreaInfoKHR -> Format
depthAttachmentFormat :: Format
,
RenderingAreaInfoKHR -> Format
stencilAttachmentFormat :: Format
}
deriving (Typeable)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (RenderingAreaInfoKHR)
#endif
deriving instance Show RenderingAreaInfoKHR
instance ToCStruct RenderingAreaInfoKHR where
withCStruct :: forall b.
RenderingAreaInfoKHR -> (Ptr RenderingAreaInfoKHR -> IO b) -> IO b
withCStruct RenderingAreaInfoKHR
x Ptr RenderingAreaInfoKHR -> IO b
f = Int -> (Ptr RenderingAreaInfoKHR -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
40 ((Ptr RenderingAreaInfoKHR -> IO b) -> IO b)
-> (Ptr RenderingAreaInfoKHR -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr RenderingAreaInfoKHR
p -> Ptr RenderingAreaInfoKHR -> RenderingAreaInfoKHR -> IO b -> IO b
forall b.
Ptr RenderingAreaInfoKHR -> RenderingAreaInfoKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr RenderingAreaInfoKHR
p RenderingAreaInfoKHR
x (Ptr RenderingAreaInfoKHR -> IO b
f Ptr RenderingAreaInfoKHR
p)
pokeCStruct :: forall b.
Ptr RenderingAreaInfoKHR -> RenderingAreaInfoKHR -> IO b -> IO b
pokeCStruct Ptr RenderingAreaInfoKHR
p RenderingAreaInfoKHR{Word32
Vector Format
Format
$sel:viewMask:RenderingAreaInfoKHR :: RenderingAreaInfoKHR -> Word32
$sel:colorAttachmentFormats:RenderingAreaInfoKHR :: RenderingAreaInfoKHR -> Vector Format
$sel:depthAttachmentFormat:RenderingAreaInfoKHR :: RenderingAreaInfoKHR -> Format
$sel:stencilAttachmentFormat:RenderingAreaInfoKHR :: RenderingAreaInfoKHR -> Format
viewMask :: Word32
colorAttachmentFormats :: Vector Format
depthAttachmentFormat :: Format
stencilAttachmentFormat :: Format
..} 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 (m :: * -> *) a. Monad m => m a -> ContT b m a
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 RenderingAreaInfoKHR
p Ptr RenderingAreaInfoKHR -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_RENDERING_AREA_INFO_KHR)
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
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 RenderingAreaInfoKHR
p Ptr RenderingAreaInfoKHR -> 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 (m :: * -> *) a. Monad m => m a -> ContT b m a
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 RenderingAreaInfoKHR
p Ptr RenderingAreaInfoKHR -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Word32)) (Word32
viewMask)
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
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 RenderingAreaInfoKHR
p Ptr RenderingAreaInfoKHR -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Word32)) ((Int -> Word32
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Vector Format -> Int
forall a. Vector a -> Int
Data.Vector.length (Vector Format -> Int) -> Vector Format -> Int
forall a b. (a -> b) -> a -> b
$ (Vector Format
colorAttachmentFormats)) :: Word32))
Ptr Format
pPColorAttachmentFormats' <- ((Ptr Format -> IO b) -> IO b) -> ContT b IO (Ptr Format)
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr Format -> IO b) -> IO b) -> ContT b IO (Ptr Format))
-> ((Ptr Format -> IO b) -> IO b) -> ContT b IO (Ptr Format)
forall a b. (a -> b) -> a -> b
$ forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes @Format ((Vector Format -> Int
forall a. Vector a -> Int
Data.Vector.length (Vector Format
colorAttachmentFormats)) Int -> Int -> Int
forall a. Num a => a -> a -> a
* Int
4)
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
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
$ (Int -> Format -> IO ()) -> Vector Format -> IO ()
forall (m :: * -> *) a b.
Monad m =>
(Int -> a -> m b) -> Vector a -> m ()
Data.Vector.imapM_ (\Int
i Format
e -> Ptr Format -> Format -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr Format
pPColorAttachmentFormats' Ptr Format -> Int -> Ptr Format
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` (Int
4 Int -> Int -> Int
forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr Format) (Format
e)) (Vector Format
colorAttachmentFormats)
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
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 Format) -> Ptr Format -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr RenderingAreaInfoKHR
p Ptr RenderingAreaInfoKHR -> Int -> Ptr (Ptr Format)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr (Ptr Format))) (Ptr Format
pPColorAttachmentFormats')
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
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 Format -> Format -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr RenderingAreaInfoKHR
p Ptr RenderingAreaInfoKHR -> Int -> Ptr Format
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr Format)) (Format
depthAttachmentFormat)
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
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 Format -> Format -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr RenderingAreaInfoKHR
p Ptr RenderingAreaInfoKHR -> Int -> Ptr Format
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
36 :: Ptr Format)) (Format
stencilAttachmentFormat)
IO b -> ContT b IO b
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
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
40
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b. Ptr RenderingAreaInfoKHR -> IO b -> IO b
pokeZeroCStruct Ptr RenderingAreaInfoKHR
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr RenderingAreaInfoKHR
p Ptr RenderingAreaInfoKHR -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_RENDERING_AREA_INFO_KHR)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr RenderingAreaInfoKHR
p Ptr RenderingAreaInfoKHR -> 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 RenderingAreaInfoKHR
p Ptr RenderingAreaInfoKHR -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
Ptr Format -> Format -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr RenderingAreaInfoKHR
p Ptr RenderingAreaInfoKHR -> Int -> Ptr Format
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr Format)) (Format
forall a. Zero a => a
zero)
Ptr Format -> Format -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr RenderingAreaInfoKHR
p Ptr RenderingAreaInfoKHR -> Int -> Ptr Format
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
36 :: Ptr Format)) (Format
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct RenderingAreaInfoKHR where
peekCStruct :: Ptr RenderingAreaInfoKHR -> IO RenderingAreaInfoKHR
peekCStruct Ptr RenderingAreaInfoKHR
p = do
Word32
viewMask <- forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr RenderingAreaInfoKHR
p Ptr RenderingAreaInfoKHR -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Word32))
Word32
colorAttachmentCount <- forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr RenderingAreaInfoKHR
p Ptr RenderingAreaInfoKHR -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Word32))
Ptr Format
pColorAttachmentFormats <- forall a. Storable a => Ptr a -> IO a
peek @(Ptr Format) ((Ptr RenderingAreaInfoKHR
p Ptr RenderingAreaInfoKHR -> Int -> Ptr (Ptr Format)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr (Ptr Format)))
Vector Format
pColorAttachmentFormats' <- Int -> (Int -> IO Format) -> IO (Vector Format)
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
colorAttachmentCount) (\Int
i -> forall a. Storable a => Ptr a -> IO a
peek @Format ((Ptr Format
pColorAttachmentFormats Ptr Format -> Int -> Ptr Format
forall a. Ptr a -> Int -> Ptr a
`advancePtrBytes` (Int
4 Int -> Int -> Int
forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr Format)))
Format
depthAttachmentFormat <- forall a. Storable a => Ptr a -> IO a
peek @Format ((Ptr RenderingAreaInfoKHR
p Ptr RenderingAreaInfoKHR -> Int -> Ptr Format
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr Format))
Format
stencilAttachmentFormat <- forall a. Storable a => Ptr a -> IO a
peek @Format ((Ptr RenderingAreaInfoKHR
p Ptr RenderingAreaInfoKHR -> Int -> Ptr Format
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
36 :: Ptr Format))
RenderingAreaInfoKHR -> IO RenderingAreaInfoKHR
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (RenderingAreaInfoKHR -> IO RenderingAreaInfoKHR)
-> RenderingAreaInfoKHR -> IO RenderingAreaInfoKHR
forall a b. (a -> b) -> a -> b
$ Word32 -> Vector Format -> Format -> Format -> RenderingAreaInfoKHR
RenderingAreaInfoKHR
Word32
viewMask
Vector Format
pColorAttachmentFormats'
Format
depthAttachmentFormat
Format
stencilAttachmentFormat
instance Zero RenderingAreaInfoKHR where
zero :: RenderingAreaInfoKHR
zero = Word32 -> Vector Format -> Format -> Format -> RenderingAreaInfoKHR
RenderingAreaInfoKHR
Word32
forall a. Zero a => a
zero
Vector Format
forall a. Monoid a => a
mempty
Format
forall a. Zero a => a
zero
Format
forall a. Zero a => a
zero
data ImageSubresource2KHR = ImageSubresource2KHR
{
ImageSubresource2KHR -> ImageSubresource
imageSubresource :: ImageSubresource }
deriving (Typeable)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (ImageSubresource2KHR)
#endif
deriving instance Show ImageSubresource2KHR
instance ToCStruct ImageSubresource2KHR where
withCStruct :: forall b.
ImageSubresource2KHR -> (Ptr ImageSubresource2KHR -> IO b) -> IO b
withCStruct ImageSubresource2KHR
x Ptr ImageSubresource2KHR -> IO b
f = Int -> (Ptr ImageSubresource2KHR -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
32 ((Ptr ImageSubresource2KHR -> IO b) -> IO b)
-> (Ptr ImageSubresource2KHR -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr ImageSubresource2KHR
p -> Ptr ImageSubresource2KHR -> ImageSubresource2KHR -> IO b -> IO b
forall b.
Ptr ImageSubresource2KHR -> ImageSubresource2KHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr ImageSubresource2KHR
p ImageSubresource2KHR
x (Ptr ImageSubresource2KHR -> IO b
f Ptr ImageSubresource2KHR
p)
pokeCStruct :: forall b.
Ptr ImageSubresource2KHR -> ImageSubresource2KHR -> IO b -> IO b
pokeCStruct Ptr ImageSubresource2KHR
p ImageSubresource2KHR{ImageSubresource
$sel:imageSubresource:ImageSubresource2KHR :: ImageSubresource2KHR -> ImageSubresource
imageSubresource :: ImageSubresource
..} IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr ImageSubresource2KHR
p Ptr ImageSubresource2KHR -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_KHR)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr ImageSubresource2KHR
p Ptr ImageSubresource2KHR -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr ImageSubresource -> ImageSubresource -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr ImageSubresource2KHR
p Ptr ImageSubresource2KHR -> Int -> Ptr ImageSubresource
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr ImageSubresource)) (ImageSubresource
imageSubresource)
IO b
f
cStructSize :: Int
cStructSize = Int
32
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b. Ptr ImageSubresource2KHR -> IO b -> IO b
pokeZeroCStruct Ptr ImageSubresource2KHR
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr ImageSubresource2KHR
p Ptr ImageSubresource2KHR -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_KHR)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr ImageSubresource2KHR
p Ptr ImageSubresource2KHR -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr ImageSubresource -> ImageSubresource -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr ImageSubresource2KHR
p Ptr ImageSubresource2KHR -> Int -> Ptr ImageSubresource
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr ImageSubresource)) (ImageSubresource
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct ImageSubresource2KHR where
peekCStruct :: Ptr ImageSubresource2KHR -> IO ImageSubresource2KHR
peekCStruct Ptr ImageSubresource2KHR
p = do
ImageSubresource
imageSubresource <- forall a. FromCStruct a => Ptr a -> IO a
peekCStruct @ImageSubresource ((Ptr ImageSubresource2KHR
p Ptr ImageSubresource2KHR -> Int -> Ptr ImageSubresource
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr ImageSubresource))
ImageSubresource2KHR -> IO ImageSubresource2KHR
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (ImageSubresource2KHR -> IO ImageSubresource2KHR)
-> ImageSubresource2KHR -> IO ImageSubresource2KHR
forall a b. (a -> b) -> a -> b
$ ImageSubresource -> ImageSubresource2KHR
ImageSubresource2KHR
ImageSubresource
imageSubresource
instance Storable ImageSubresource2KHR where
sizeOf :: ImageSubresource2KHR -> Int
sizeOf ~ImageSubresource2KHR
_ = Int
32
alignment :: ImageSubresource2KHR -> Int
alignment ~ImageSubresource2KHR
_ = Int
8
peek :: Ptr ImageSubresource2KHR -> IO ImageSubresource2KHR
peek = Ptr ImageSubresource2KHR -> IO ImageSubresource2KHR
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr ImageSubresource2KHR -> ImageSubresource2KHR -> IO ()
poke Ptr ImageSubresource2KHR
ptr ImageSubresource2KHR
poked = Ptr ImageSubresource2KHR -> ImageSubresource2KHR -> IO () -> IO ()
forall b.
Ptr ImageSubresource2KHR -> ImageSubresource2KHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr ImageSubresource2KHR
ptr ImageSubresource2KHR
poked (() -> IO ()
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero ImageSubresource2KHR where
zero :: ImageSubresource2KHR
zero = ImageSubresource -> ImageSubresource2KHR
ImageSubresource2KHR
ImageSubresource
forall a. Zero a => a
zero
data SubresourceLayout2KHR (es :: [Type]) = SubresourceLayout2KHR
{
forall (es :: [*]). SubresourceLayout2KHR es -> Chain es
next :: Chain es
,
forall (es :: [*]). SubresourceLayout2KHR es -> SubresourceLayout
subresourceLayout :: SubresourceLayout
}
deriving (Typeable)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (SubresourceLayout2KHR (es :: [Type]))
#endif
deriving instance Show (Chain es) => Show (SubresourceLayout2KHR es)
instance Extensible SubresourceLayout2KHR where
extensibleTypeName :: String
extensibleTypeName = String
"SubresourceLayout2KHR"
setNext :: forall (ds :: [*]) (es :: [*]).
SubresourceLayout2KHR ds -> Chain es -> SubresourceLayout2KHR es
setNext SubresourceLayout2KHR{Chain ds
SubresourceLayout
$sel:next:SubresourceLayout2KHR :: forall (es :: [*]). SubresourceLayout2KHR es -> Chain es
$sel:subresourceLayout:SubresourceLayout2KHR :: forall (es :: [*]). SubresourceLayout2KHR es -> SubresourceLayout
next :: Chain ds
subresourceLayout :: SubresourceLayout
..} Chain es
next' = SubresourceLayout2KHR{$sel:next:SubresourceLayout2KHR :: Chain es
next = Chain es
next', SubresourceLayout
$sel:subresourceLayout:SubresourceLayout2KHR :: SubresourceLayout
subresourceLayout :: SubresourceLayout
..}
getNext :: forall (es :: [*]). SubresourceLayout2KHR es -> Chain es
getNext SubresourceLayout2KHR{Chain es
SubresourceLayout
$sel:next:SubresourceLayout2KHR :: forall (es :: [*]). SubresourceLayout2KHR es -> Chain es
$sel:subresourceLayout:SubresourceLayout2KHR :: forall (es :: [*]). SubresourceLayout2KHR es -> SubresourceLayout
next :: Chain es
subresourceLayout :: SubresourceLayout
..} = Chain es
next
extends :: forall e b proxy. Typeable e => proxy e -> (Extends SubresourceLayout2KHR e => b) -> Maybe b
extends :: forall e b (proxy :: * -> *).
Typeable e =>
proxy e -> (Extends SubresourceLayout2KHR e => b) -> Maybe b
extends proxy e
_ Extends SubresourceLayout2KHR e => b
f
| Just e :~: ImageCompressionPropertiesEXT
Refl <- forall {k} (a :: k) (b :: k).
(Typeable a, Typeable b) =>
Maybe (a :~: b)
forall a b. (Typeable a, Typeable b) => Maybe (a :~: b)
eqT @e @ImageCompressionPropertiesEXT = b -> Maybe b
forall a. a -> Maybe a
Just b
Extends SubresourceLayout2KHR e => b
f
| Just e :~: SubresourceHostMemcpySizeEXT
Refl <- forall {k} (a :: k) (b :: k).
(Typeable a, Typeable b) =>
Maybe (a :~: b)
forall a b. (Typeable a, Typeable b) => Maybe (a :~: b)
eqT @e @SubresourceHostMemcpySizeEXT = b -> Maybe b
forall a. a -> Maybe a
Just b
Extends SubresourceLayout2KHR e => b
f
| Bool
otherwise = Maybe b
forall a. Maybe a
Nothing
instance ( Extendss SubresourceLayout2KHR es
, PokeChain es ) => ToCStruct (SubresourceLayout2KHR es) where
withCStruct :: forall b.
SubresourceLayout2KHR es
-> (Ptr (SubresourceLayout2KHR es) -> IO b) -> IO b
withCStruct SubresourceLayout2KHR es
x Ptr (SubresourceLayout2KHR es) -> IO b
f = Int -> (Ptr (SubresourceLayout2KHR es) -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
56 ((Ptr (SubresourceLayout2KHR es) -> IO b) -> IO b)
-> (Ptr (SubresourceLayout2KHR es) -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr (SubresourceLayout2KHR es)
p -> Ptr (SubresourceLayout2KHR es)
-> SubresourceLayout2KHR es -> IO b -> IO b
forall b.
Ptr (SubresourceLayout2KHR es)
-> SubresourceLayout2KHR es -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr (SubresourceLayout2KHR es)
p SubresourceLayout2KHR es
x (Ptr (SubresourceLayout2KHR es) -> IO b
f Ptr (SubresourceLayout2KHR es)
p)
pokeCStruct :: forall b.
Ptr (SubresourceLayout2KHR es)
-> SubresourceLayout2KHR es -> IO b -> IO b
pokeCStruct Ptr (SubresourceLayout2KHR es)
p SubresourceLayout2KHR{Chain es
SubresourceLayout
$sel:next:SubresourceLayout2KHR :: forall (es :: [*]). SubresourceLayout2KHR es -> Chain es
$sel:subresourceLayout:SubresourceLayout2KHR :: forall (es :: [*]). SubresourceLayout2KHR es -> SubresourceLayout
next :: Chain es
subresourceLayout :: SubresourceLayout
..} 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 (m :: * -> *) a. Monad m => m a -> ContT b m a
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 (SubresourceLayout2KHR es)
p Ptr (SubresourceLayout2KHR es) -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_KHR)
Ptr ()
pNext'' <- (Ptr (Chain es) -> Ptr ())
-> ContT b IO (Ptr (Chain es)) -> ContT b IO (Ptr ())
forall a b. (a -> b) -> ContT b IO a -> ContT b IO b
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap Ptr (Chain es) -> Ptr ()
forall a b. Ptr a -> Ptr b
castPtr (ContT b IO (Ptr (Chain es)) -> ContT b IO (Ptr ()))
-> (((Ptr (Chain es) -> IO b) -> IO b)
-> ContT b IO (Ptr (Chain es)))
-> ((Ptr (Chain es) -> IO b) -> IO b)
-> ContT b IO (Ptr ())
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((Ptr (Chain es) -> IO b) -> IO b) -> ContT b IO (Ptr (Chain es))
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr (Chain es) -> IO b) -> IO b) -> ContT b IO (Ptr ()))
-> ((Ptr (Chain es) -> IO b) -> IO b) -> ContT b IO (Ptr ())
forall a b. (a -> b) -> a -> b
$ Chain es -> (Ptr (Chain es) -> IO b) -> IO b
forall (es :: [*]) a.
PokeChain es =>
Chain es -> (Ptr (Chain es) -> IO a) -> IO a
forall a. Chain es -> (Ptr (Chain es) -> IO a) -> IO a
withChain (Chain es
next)
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
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 (SubresourceLayout2KHR es)
p Ptr (SubresourceLayout2KHR es) -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) Ptr ()
pNext''
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr SubresourceLayout -> SubresourceLayout -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (SubresourceLayout2KHR es)
p Ptr (SubresourceLayout2KHR es) -> Int -> Ptr SubresourceLayout
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr SubresourceLayout)) (SubresourceLayout
subresourceLayout)
IO b -> ContT b IO b
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO b -> ContT b IO b) -> IO b -> ContT b IO b
forall a b. (a -> b) -> a -> b
$ IO b
f
cStructSize :: Int
cStructSize = Int
56
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b. Ptr (SubresourceLayout2KHR es) -> IO b -> IO b
pokeZeroCStruct Ptr (SubresourceLayout2KHR es)
p IO b
f = ContT b IO b -> IO b
forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT (ContT b IO b -> IO b) -> ContT b IO b -> IO b
forall a b. (a -> b) -> a -> b
$ do
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
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 (SubresourceLayout2KHR es)
p Ptr (SubresourceLayout2KHR es) -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_KHR)
Ptr ()
pNext' <- (Ptr (Chain es) -> Ptr ())
-> ContT b IO (Ptr (Chain es)) -> ContT b IO (Ptr ())
forall a b. (a -> b) -> ContT b IO a -> ContT b IO b
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap Ptr (Chain es) -> Ptr ()
forall a b. Ptr a -> Ptr b
castPtr (ContT b IO (Ptr (Chain es)) -> ContT b IO (Ptr ()))
-> (((Ptr (Chain es) -> IO b) -> IO b)
-> ContT b IO (Ptr (Chain es)))
-> ((Ptr (Chain es) -> IO b) -> IO b)
-> ContT b IO (Ptr ())
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((Ptr (Chain es) -> IO b) -> IO b) -> ContT b IO (Ptr (Chain es))
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr (Chain es) -> IO b) -> IO b) -> ContT b IO (Ptr ()))
-> ((Ptr (Chain es) -> IO b) -> IO b) -> ContT b IO (Ptr ())
forall a b. (a -> b) -> a -> b
$ forall (es :: [*]) a.
PokeChain es =>
(Ptr (Chain es) -> IO a) -> IO a
withZeroChain @es
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
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 (SubresourceLayout2KHR es)
p Ptr (SubresourceLayout2KHR es) -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) Ptr ()
pNext'
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr SubresourceLayout -> SubresourceLayout -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (SubresourceLayout2KHR es)
p Ptr (SubresourceLayout2KHR es) -> Int -> Ptr SubresourceLayout
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr SubresourceLayout)) (SubresourceLayout
forall a. Zero a => a
zero)
IO b -> ContT b IO b
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO b -> ContT b IO b) -> IO b -> ContT b IO b
forall a b. (a -> b) -> a -> b
$ IO b
f
instance ( Extendss SubresourceLayout2KHR es
, PeekChain es ) => FromCStruct (SubresourceLayout2KHR es) where
peekCStruct :: Ptr (SubresourceLayout2KHR es) -> IO (SubresourceLayout2KHR es)
peekCStruct Ptr (SubresourceLayout2KHR es)
p = do
Ptr ()
pNext <- forall a. Storable a => Ptr a -> IO a
peek @(Ptr ()) ((Ptr (SubresourceLayout2KHR es)
p Ptr (SubresourceLayout2KHR es) -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ())))
Chain es
next <- Ptr (Chain es) -> IO (Chain es)
forall (es :: [*]). PeekChain es => Ptr (Chain es) -> IO (Chain es)
peekChain (Ptr () -> Ptr (Chain es)
forall a b. Ptr a -> Ptr b
castPtr Ptr ()
pNext)
SubresourceLayout
subresourceLayout <- forall a. FromCStruct a => Ptr a -> IO a
peekCStruct @SubresourceLayout ((Ptr (SubresourceLayout2KHR es)
p Ptr (SubresourceLayout2KHR es) -> Int -> Ptr SubresourceLayout
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr SubresourceLayout))
SubresourceLayout2KHR es -> IO (SubresourceLayout2KHR es)
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (SubresourceLayout2KHR es -> IO (SubresourceLayout2KHR es))
-> SubresourceLayout2KHR es -> IO (SubresourceLayout2KHR es)
forall a b. (a -> b) -> a -> b
$ Chain es -> SubresourceLayout -> SubresourceLayout2KHR es
forall (es :: [*]).
Chain es -> SubresourceLayout -> SubresourceLayout2KHR es
SubresourceLayout2KHR
Chain es
next SubresourceLayout
subresourceLayout
instance es ~ '[] => Zero (SubresourceLayout2KHR es) where
zero :: SubresourceLayout2KHR es
zero = Chain es -> SubresourceLayout -> SubresourceLayout2KHR es
forall (es :: [*]).
Chain es -> SubresourceLayout -> SubresourceLayout2KHR es
SubresourceLayout2KHR
()
SubresourceLayout
forall a. Zero a => a
zero
data DeviceImageSubresourceInfoKHR = DeviceImageSubresourceInfoKHR
{
DeviceImageSubresourceInfoKHR -> SomeStruct ImageCreateInfo
createInfo :: SomeStruct ImageCreateInfo
,
DeviceImageSubresourceInfoKHR -> ImageSubresource2KHR
subresource :: ImageSubresource2KHR
}
deriving (Typeable)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (DeviceImageSubresourceInfoKHR)
#endif
deriving instance Show DeviceImageSubresourceInfoKHR
instance ToCStruct DeviceImageSubresourceInfoKHR where
withCStruct :: forall b.
DeviceImageSubresourceInfoKHR
-> (Ptr DeviceImageSubresourceInfoKHR -> IO b) -> IO b
withCStruct DeviceImageSubresourceInfoKHR
x Ptr DeviceImageSubresourceInfoKHR -> IO b
f = Int -> (Ptr DeviceImageSubresourceInfoKHR -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
32 ((Ptr DeviceImageSubresourceInfoKHR -> IO b) -> IO b)
-> (Ptr DeviceImageSubresourceInfoKHR -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr DeviceImageSubresourceInfoKHR
p -> Ptr DeviceImageSubresourceInfoKHR
-> DeviceImageSubresourceInfoKHR -> IO b -> IO b
forall b.
Ptr DeviceImageSubresourceInfoKHR
-> DeviceImageSubresourceInfoKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr DeviceImageSubresourceInfoKHR
p DeviceImageSubresourceInfoKHR
x (Ptr DeviceImageSubresourceInfoKHR -> IO b
f Ptr DeviceImageSubresourceInfoKHR
p)
pokeCStruct :: forall b.
Ptr DeviceImageSubresourceInfoKHR
-> DeviceImageSubresourceInfoKHR -> IO b -> IO b
pokeCStruct Ptr DeviceImageSubresourceInfoKHR
p DeviceImageSubresourceInfoKHR{ImageSubresource2KHR
SomeStruct ImageCreateInfo
$sel:createInfo:DeviceImageSubresourceInfoKHR :: DeviceImageSubresourceInfoKHR -> SomeStruct ImageCreateInfo
$sel:subresource:DeviceImageSubresourceInfoKHR :: DeviceImageSubresourceInfoKHR -> ImageSubresource2KHR
createInfo :: SomeStruct ImageCreateInfo
subresource :: ImageSubresource2KHR
..} 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 (m :: * -> *) a. Monad m => m a -> ContT b m a
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 DeviceImageSubresourceInfoKHR
p Ptr DeviceImageSubresourceInfoKHR -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_DEVICE_IMAGE_SUBRESOURCE_INFO_KHR)
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
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 DeviceImageSubresourceInfoKHR
p Ptr DeviceImageSubresourceInfoKHR -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr (ImageCreateInfo '[])
pCreateInfo'' <- forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
forall r (m :: * -> *) a. ((a -> m r) -> m r) -> ContT r m a
ContT @_ @_ @(Ptr (ImageCreateInfo '[])) (((Ptr (ImageCreateInfo '[]) -> IO b) -> IO b)
-> ContT b IO (Ptr (ImageCreateInfo '[])))
-> ((Ptr (ImageCreateInfo '[]) -> IO b) -> IO b)
-> ContT b IO (Ptr (ImageCreateInfo '[]))
forall a b. (a -> b) -> a -> b
$ \Ptr (ImageCreateInfo '[]) -> IO b
cont -> forall (a :: [*] -> *) b.
(forall (es :: [*]).
(Extendss a es, PokeChain es) =>
ToCStruct (a es)) =>
SomeStruct a
-> (forall (es :: [*]).
(Extendss a es, PokeChain es) =>
Ptr (a es) -> IO b)
-> IO b
withSomeCStruct @ImageCreateInfo (SomeStruct ImageCreateInfo
createInfo) (Ptr (ImageCreateInfo '[]) -> IO b
cont (Ptr (ImageCreateInfo '[]) -> IO b)
-> (Ptr (ImageCreateInfo es) -> Ptr (ImageCreateInfo '[]))
-> Ptr (ImageCreateInfo es)
-> IO b
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Ptr (ImageCreateInfo es) -> Ptr (ImageCreateInfo '[])
forall a b. Ptr a -> Ptr b
castPtr)
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
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 (ImageCreateInfo '[]))
-> Ptr (ImageCreateInfo '[]) -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DeviceImageSubresourceInfoKHR
p Ptr DeviceImageSubresourceInfoKHR
-> Int -> Ptr (Ptr (ImageCreateInfo w))
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr (Ptr (ImageCreateInfo _)))) Ptr (ImageCreateInfo '[])
pCreateInfo''
Ptr ImageSubresource2KHR
pSubresource'' <- ((Ptr ImageSubresource2KHR -> IO b) -> IO b)
-> ContT b IO (Ptr ImageSubresource2KHR)
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr ImageSubresource2KHR -> IO b) -> IO b)
-> ContT b IO (Ptr ImageSubresource2KHR))
-> ((Ptr ImageSubresource2KHR -> IO b) -> IO b)
-> ContT b IO (Ptr ImageSubresource2KHR)
forall a b. (a -> b) -> a -> b
$ ImageSubresource2KHR -> (Ptr ImageSubresource2KHR -> IO b) -> IO b
forall a b. ToCStruct a => a -> (Ptr a -> IO b) -> IO b
forall b.
ImageSubresource2KHR -> (Ptr ImageSubresource2KHR -> IO b) -> IO b
withCStruct (ImageSubresource2KHR
subresource)
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
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 ImageSubresource2KHR) -> Ptr ImageSubresource2KHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DeviceImageSubresourceInfoKHR
p Ptr DeviceImageSubresourceInfoKHR
-> Int -> Ptr (Ptr ImageSubresource2KHR)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr (Ptr ImageSubresource2KHR))) Ptr ImageSubresource2KHR
pSubresource''
IO b -> ContT b IO b
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
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
32
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b. Ptr DeviceImageSubresourceInfoKHR -> IO b -> IO b
pokeZeroCStruct Ptr DeviceImageSubresourceInfoKHR
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 (m :: * -> *) a. Monad m => m a -> ContT b m a
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 DeviceImageSubresourceInfoKHR
p Ptr DeviceImageSubresourceInfoKHR -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_DEVICE_IMAGE_SUBRESOURCE_INFO_KHR)
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
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 DeviceImageSubresourceInfoKHR
p Ptr DeviceImageSubresourceInfoKHR -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr (ImageCreateInfo '[])
pCreateInfo'' <- forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
forall r (m :: * -> *) a. ((a -> m r) -> m r) -> ContT r m a
ContT @_ @_ @(Ptr (ImageCreateInfo '[])) (((Ptr (ImageCreateInfo '[]) -> IO b) -> IO b)
-> ContT b IO (Ptr (ImageCreateInfo '[])))
-> ((Ptr (ImageCreateInfo '[]) -> IO b) -> IO b)
-> ContT b IO (Ptr (ImageCreateInfo '[]))
forall a b. (a -> b) -> a -> b
$ \Ptr (ImageCreateInfo '[]) -> IO b
cont -> forall (a :: [*] -> *) b.
(forall (es :: [*]).
(Extendss a es, PokeChain es) =>
ToCStruct (a es)) =>
SomeStruct a
-> (forall (es :: [*]).
(Extendss a es, PokeChain es) =>
Ptr (a es) -> IO b)
-> IO b
withSomeCStruct @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)) (Ptr (ImageCreateInfo '[]) -> IO b
cont (Ptr (ImageCreateInfo '[]) -> IO b)
-> (Ptr (ImageCreateInfo es) -> Ptr (ImageCreateInfo '[]))
-> Ptr (ImageCreateInfo es)
-> IO b
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Ptr (ImageCreateInfo es) -> Ptr (ImageCreateInfo '[])
forall a b. Ptr a -> Ptr b
castPtr)
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
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 (ImageCreateInfo '[]))
-> Ptr (ImageCreateInfo '[]) -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DeviceImageSubresourceInfoKHR
p Ptr DeviceImageSubresourceInfoKHR
-> Int -> Ptr (Ptr (ImageCreateInfo w))
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr (Ptr (ImageCreateInfo _)))) Ptr (ImageCreateInfo '[])
pCreateInfo''
Ptr ImageSubresource2KHR
pSubresource'' <- ((Ptr ImageSubresource2KHR -> IO b) -> IO b)
-> ContT b IO (Ptr ImageSubresource2KHR)
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr ImageSubresource2KHR -> IO b) -> IO b)
-> ContT b IO (Ptr ImageSubresource2KHR))
-> ((Ptr ImageSubresource2KHR -> IO b) -> IO b)
-> ContT b IO (Ptr ImageSubresource2KHR)
forall a b. (a -> b) -> a -> b
$ ImageSubresource2KHR -> (Ptr ImageSubresource2KHR -> IO b) -> IO b
forall a b. ToCStruct a => a -> (Ptr a -> IO b) -> IO b
forall b.
ImageSubresource2KHR -> (Ptr ImageSubresource2KHR -> IO b) -> IO b
withCStruct (ImageSubresource2KHR
forall a. Zero a => a
zero)
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
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 ImageSubresource2KHR) -> Ptr ImageSubresource2KHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DeviceImageSubresourceInfoKHR
p Ptr DeviceImageSubresourceInfoKHR
-> Int -> Ptr (Ptr ImageSubresource2KHR)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr (Ptr ImageSubresource2KHR))) Ptr ImageSubresource2KHR
pSubresource''
IO b -> ContT b IO b
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
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 DeviceImageSubresourceInfoKHR where
peekCStruct :: Ptr DeviceImageSubresourceInfoKHR
-> IO DeviceImageSubresourceInfoKHR
peekCStruct Ptr DeviceImageSubresourceInfoKHR
p = do
SomeStruct ImageCreateInfo
pCreateInfo <- 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 (SomeStruct ImageCreateInfo)
-> IO (SomeStruct ImageCreateInfo))
-> (Ptr (ImageCreateInfo Any) -> Ptr (SomeStruct ImageCreateInfo))
-> Ptr (ImageCreateInfo Any)
-> IO (SomeStruct ImageCreateInfo)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Ptr (ImageCreateInfo Any) -> Ptr (SomeStruct ImageCreateInfo)
forall (a :: [*] -> *) (es :: [*]).
Ptr (a es) -> Ptr (SomeStruct a)
forgetExtensions (Ptr (ImageCreateInfo Any) -> IO (SomeStruct ImageCreateInfo))
-> IO (Ptr (ImageCreateInfo Any))
-> IO (SomeStruct ImageCreateInfo)
forall (m :: * -> *) a b. Monad m => (a -> m b) -> m a -> m b
=<< Ptr (Ptr (ImageCreateInfo Any)) -> IO (Ptr (ImageCreateInfo Any))
forall a. Storable a => Ptr a -> IO a
peek ((Ptr DeviceImageSubresourceInfoKHR
p Ptr DeviceImageSubresourceInfoKHR
-> Int -> Ptr (Ptr (ImageCreateInfo w))
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr (Ptr (ImageCreateInfo _))))
ImageSubresource2KHR
pSubresource <- forall a. FromCStruct a => Ptr a -> IO a
peekCStruct @ImageSubresource2KHR (Ptr ImageSubresource2KHR -> IO ImageSubresource2KHR)
-> IO (Ptr ImageSubresource2KHR) -> IO ImageSubresource2KHR
forall (m :: * -> *) a b. Monad m => (a -> m b) -> m a -> m b
=<< Ptr (Ptr ImageSubresource2KHR) -> IO (Ptr ImageSubresource2KHR)
forall a. Storable a => Ptr a -> IO a
peek ((Ptr DeviceImageSubresourceInfoKHR
p Ptr DeviceImageSubresourceInfoKHR
-> Int -> Ptr (Ptr ImageSubresource2KHR)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr (Ptr ImageSubresource2KHR)))
DeviceImageSubresourceInfoKHR -> IO DeviceImageSubresourceInfoKHR
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (DeviceImageSubresourceInfoKHR -> IO DeviceImageSubresourceInfoKHR)
-> DeviceImageSubresourceInfoKHR
-> IO DeviceImageSubresourceInfoKHR
forall a b. (a -> b) -> a -> b
$ SomeStruct ImageCreateInfo
-> ImageSubresource2KHR -> DeviceImageSubresourceInfoKHR
DeviceImageSubresourceInfoKHR
SomeStruct ImageCreateInfo
pCreateInfo ImageSubresource2KHR
pSubresource
instance Zero DeviceImageSubresourceInfoKHR where
zero :: DeviceImageSubresourceInfoKHR
zero = SomeStruct ImageCreateInfo
-> ImageSubresource2KHR -> DeviceImageSubresourceInfoKHR
DeviceImageSubresourceInfoKHR
(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)
ImageSubresource2KHR
forall a. Zero a => a
zero
type PipelineCreateFlags2KHR = PipelineCreateFlagBits2KHR
newtype PipelineCreateFlagBits2KHR = PipelineCreateFlagBits2KHR Flags64
deriving newtype (PipelineCreateFlags2KHR -> PipelineCreateFlags2KHR -> Bool
(PipelineCreateFlags2KHR -> PipelineCreateFlags2KHR -> Bool)
-> (PipelineCreateFlags2KHR -> PipelineCreateFlags2KHR -> Bool)
-> Eq PipelineCreateFlags2KHR
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PipelineCreateFlags2KHR -> PipelineCreateFlags2KHR -> Bool
== :: PipelineCreateFlags2KHR -> PipelineCreateFlags2KHR -> Bool
$c/= :: PipelineCreateFlags2KHR -> PipelineCreateFlags2KHR -> Bool
/= :: PipelineCreateFlags2KHR -> PipelineCreateFlags2KHR -> Bool
Eq, Eq PipelineCreateFlags2KHR
Eq PipelineCreateFlags2KHR =>
(PipelineCreateFlags2KHR -> PipelineCreateFlags2KHR -> Ordering)
-> (PipelineCreateFlags2KHR -> PipelineCreateFlags2KHR -> Bool)
-> (PipelineCreateFlags2KHR -> PipelineCreateFlags2KHR -> Bool)
-> (PipelineCreateFlags2KHR -> PipelineCreateFlags2KHR -> Bool)
-> (PipelineCreateFlags2KHR -> PipelineCreateFlags2KHR -> Bool)
-> (PipelineCreateFlags2KHR
-> PipelineCreateFlags2KHR -> PipelineCreateFlags2KHR)
-> (PipelineCreateFlags2KHR
-> PipelineCreateFlags2KHR -> PipelineCreateFlags2KHR)
-> Ord PipelineCreateFlags2KHR
PipelineCreateFlags2KHR -> PipelineCreateFlags2KHR -> Bool
PipelineCreateFlags2KHR -> PipelineCreateFlags2KHR -> Ordering
PipelineCreateFlags2KHR
-> PipelineCreateFlags2KHR -> PipelineCreateFlags2KHR
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: PipelineCreateFlags2KHR -> PipelineCreateFlags2KHR -> Ordering
compare :: PipelineCreateFlags2KHR -> PipelineCreateFlags2KHR -> Ordering
$c< :: PipelineCreateFlags2KHR -> PipelineCreateFlags2KHR -> Bool
< :: PipelineCreateFlags2KHR -> PipelineCreateFlags2KHR -> Bool
$c<= :: PipelineCreateFlags2KHR -> PipelineCreateFlags2KHR -> Bool
<= :: PipelineCreateFlags2KHR -> PipelineCreateFlags2KHR -> Bool
$c> :: PipelineCreateFlags2KHR -> PipelineCreateFlags2KHR -> Bool
> :: PipelineCreateFlags2KHR -> PipelineCreateFlags2KHR -> Bool
$c>= :: PipelineCreateFlags2KHR -> PipelineCreateFlags2KHR -> Bool
>= :: PipelineCreateFlags2KHR -> PipelineCreateFlags2KHR -> Bool
$cmax :: PipelineCreateFlags2KHR
-> PipelineCreateFlags2KHR -> PipelineCreateFlags2KHR
max :: PipelineCreateFlags2KHR
-> PipelineCreateFlags2KHR -> PipelineCreateFlags2KHR
$cmin :: PipelineCreateFlags2KHR
-> PipelineCreateFlags2KHR -> PipelineCreateFlags2KHR
min :: PipelineCreateFlags2KHR
-> PipelineCreateFlags2KHR -> PipelineCreateFlags2KHR
Ord, Ptr PipelineCreateFlags2KHR -> IO PipelineCreateFlags2KHR
Ptr PipelineCreateFlags2KHR -> Int -> IO PipelineCreateFlags2KHR
Ptr PipelineCreateFlags2KHR
-> Int -> PipelineCreateFlags2KHR -> IO ()
Ptr PipelineCreateFlags2KHR -> PipelineCreateFlags2KHR -> IO ()
PipelineCreateFlags2KHR -> Int
(PipelineCreateFlags2KHR -> Int)
-> (PipelineCreateFlags2KHR -> Int)
-> (Ptr PipelineCreateFlags2KHR
-> Int -> IO PipelineCreateFlags2KHR)
-> (Ptr PipelineCreateFlags2KHR
-> Int -> PipelineCreateFlags2KHR -> IO ())
-> (forall b. Ptr b -> Int -> IO PipelineCreateFlags2KHR)
-> (forall b. Ptr b -> Int -> PipelineCreateFlags2KHR -> IO ())
-> (Ptr PipelineCreateFlags2KHR -> IO PipelineCreateFlags2KHR)
-> (Ptr PipelineCreateFlags2KHR
-> PipelineCreateFlags2KHR -> IO ())
-> Storable PipelineCreateFlags2KHR
forall b. Ptr b -> Int -> IO PipelineCreateFlags2KHR
forall b. Ptr b -> Int -> PipelineCreateFlags2KHR -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
$csizeOf :: PipelineCreateFlags2KHR -> Int
sizeOf :: PipelineCreateFlags2KHR -> Int
$calignment :: PipelineCreateFlags2KHR -> Int
alignment :: PipelineCreateFlags2KHR -> Int
$cpeekElemOff :: Ptr PipelineCreateFlags2KHR -> Int -> IO PipelineCreateFlags2KHR
peekElemOff :: Ptr PipelineCreateFlags2KHR -> Int -> IO PipelineCreateFlags2KHR
$cpokeElemOff :: Ptr PipelineCreateFlags2KHR
-> Int -> PipelineCreateFlags2KHR -> IO ()
pokeElemOff :: Ptr PipelineCreateFlags2KHR
-> Int -> PipelineCreateFlags2KHR -> IO ()
$cpeekByteOff :: forall b. Ptr b -> Int -> IO PipelineCreateFlags2KHR
peekByteOff :: forall b. Ptr b -> Int -> IO PipelineCreateFlags2KHR
$cpokeByteOff :: forall b. Ptr b -> Int -> PipelineCreateFlags2KHR -> IO ()
pokeByteOff :: forall b. Ptr b -> Int -> PipelineCreateFlags2KHR -> IO ()
$cpeek :: Ptr PipelineCreateFlags2KHR -> IO PipelineCreateFlags2KHR
peek :: Ptr PipelineCreateFlags2KHR -> IO PipelineCreateFlags2KHR
$cpoke :: Ptr PipelineCreateFlags2KHR -> PipelineCreateFlags2KHR -> IO ()
poke :: Ptr PipelineCreateFlags2KHR -> PipelineCreateFlags2KHR -> IO ()
Storable, PipelineCreateFlags2KHR
PipelineCreateFlags2KHR -> Zero PipelineCreateFlags2KHR
forall a. a -> Zero a
$czero :: PipelineCreateFlags2KHR
zero :: PipelineCreateFlags2KHR
Zero, Eq PipelineCreateFlags2KHR
PipelineCreateFlags2KHR
Eq PipelineCreateFlags2KHR =>
(PipelineCreateFlags2KHR
-> PipelineCreateFlags2KHR -> PipelineCreateFlags2KHR)
-> (PipelineCreateFlags2KHR
-> PipelineCreateFlags2KHR -> PipelineCreateFlags2KHR)
-> (PipelineCreateFlags2KHR
-> PipelineCreateFlags2KHR -> PipelineCreateFlags2KHR)
-> (PipelineCreateFlags2KHR -> PipelineCreateFlags2KHR)
-> (PipelineCreateFlags2KHR -> Int -> PipelineCreateFlags2KHR)
-> (PipelineCreateFlags2KHR -> Int -> PipelineCreateFlags2KHR)
-> PipelineCreateFlags2KHR
-> (Int -> PipelineCreateFlags2KHR)
-> (PipelineCreateFlags2KHR -> Int -> PipelineCreateFlags2KHR)
-> (PipelineCreateFlags2KHR -> Int -> PipelineCreateFlags2KHR)
-> (PipelineCreateFlags2KHR -> Int -> PipelineCreateFlags2KHR)
-> (PipelineCreateFlags2KHR -> Int -> Bool)
-> (PipelineCreateFlags2KHR -> Maybe Int)
-> (PipelineCreateFlags2KHR -> Int)
-> (PipelineCreateFlags2KHR -> Bool)
-> (PipelineCreateFlags2KHR -> Int -> PipelineCreateFlags2KHR)
-> (PipelineCreateFlags2KHR -> Int -> PipelineCreateFlags2KHR)
-> (PipelineCreateFlags2KHR -> Int -> PipelineCreateFlags2KHR)
-> (PipelineCreateFlags2KHR -> Int -> PipelineCreateFlags2KHR)
-> (PipelineCreateFlags2KHR -> Int -> PipelineCreateFlags2KHR)
-> (PipelineCreateFlags2KHR -> Int -> PipelineCreateFlags2KHR)
-> (PipelineCreateFlags2KHR -> Int)
-> Bits PipelineCreateFlags2KHR
Int -> PipelineCreateFlags2KHR
PipelineCreateFlags2KHR -> Bool
PipelineCreateFlags2KHR -> Int
PipelineCreateFlags2KHR -> Maybe Int
PipelineCreateFlags2KHR -> PipelineCreateFlags2KHR
PipelineCreateFlags2KHR -> Int -> Bool
PipelineCreateFlags2KHR -> Int -> PipelineCreateFlags2KHR
PipelineCreateFlags2KHR
-> PipelineCreateFlags2KHR -> PipelineCreateFlags2KHR
forall a.
Eq a =>
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> a
-> (Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> Bool)
-> (a -> Maybe Int)
-> (a -> Int)
-> (a -> Bool)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int)
-> Bits a
$c.&. :: PipelineCreateFlags2KHR
-> PipelineCreateFlags2KHR -> PipelineCreateFlags2KHR
.&. :: PipelineCreateFlags2KHR
-> PipelineCreateFlags2KHR -> PipelineCreateFlags2KHR
$c.|. :: PipelineCreateFlags2KHR
-> PipelineCreateFlags2KHR -> PipelineCreateFlags2KHR
.|. :: PipelineCreateFlags2KHR
-> PipelineCreateFlags2KHR -> PipelineCreateFlags2KHR
$cxor :: PipelineCreateFlags2KHR
-> PipelineCreateFlags2KHR -> PipelineCreateFlags2KHR
xor :: PipelineCreateFlags2KHR
-> PipelineCreateFlags2KHR -> PipelineCreateFlags2KHR
$ccomplement :: PipelineCreateFlags2KHR -> PipelineCreateFlags2KHR
complement :: PipelineCreateFlags2KHR -> PipelineCreateFlags2KHR
$cshift :: PipelineCreateFlags2KHR -> Int -> PipelineCreateFlags2KHR
shift :: PipelineCreateFlags2KHR -> Int -> PipelineCreateFlags2KHR
$crotate :: PipelineCreateFlags2KHR -> Int -> PipelineCreateFlags2KHR
rotate :: PipelineCreateFlags2KHR -> Int -> PipelineCreateFlags2KHR
$czeroBits :: PipelineCreateFlags2KHR
zeroBits :: PipelineCreateFlags2KHR
$cbit :: Int -> PipelineCreateFlags2KHR
bit :: Int -> PipelineCreateFlags2KHR
$csetBit :: PipelineCreateFlags2KHR -> Int -> PipelineCreateFlags2KHR
setBit :: PipelineCreateFlags2KHR -> Int -> PipelineCreateFlags2KHR
$cclearBit :: PipelineCreateFlags2KHR -> Int -> PipelineCreateFlags2KHR
clearBit :: PipelineCreateFlags2KHR -> Int -> PipelineCreateFlags2KHR
$ccomplementBit :: PipelineCreateFlags2KHR -> Int -> PipelineCreateFlags2KHR
complementBit :: PipelineCreateFlags2KHR -> Int -> PipelineCreateFlags2KHR
$ctestBit :: PipelineCreateFlags2KHR -> Int -> Bool
testBit :: PipelineCreateFlags2KHR -> Int -> Bool
$cbitSizeMaybe :: PipelineCreateFlags2KHR -> Maybe Int
bitSizeMaybe :: PipelineCreateFlags2KHR -> Maybe Int
$cbitSize :: PipelineCreateFlags2KHR -> Int
bitSize :: PipelineCreateFlags2KHR -> Int
$cisSigned :: PipelineCreateFlags2KHR -> Bool
isSigned :: PipelineCreateFlags2KHR -> Bool
$cshiftL :: PipelineCreateFlags2KHR -> Int -> PipelineCreateFlags2KHR
shiftL :: PipelineCreateFlags2KHR -> Int -> PipelineCreateFlags2KHR
$cunsafeShiftL :: PipelineCreateFlags2KHR -> Int -> PipelineCreateFlags2KHR
unsafeShiftL :: PipelineCreateFlags2KHR -> Int -> PipelineCreateFlags2KHR
$cshiftR :: PipelineCreateFlags2KHR -> Int -> PipelineCreateFlags2KHR
shiftR :: PipelineCreateFlags2KHR -> Int -> PipelineCreateFlags2KHR
$cunsafeShiftR :: PipelineCreateFlags2KHR -> Int -> PipelineCreateFlags2KHR
unsafeShiftR :: PipelineCreateFlags2KHR -> Int -> PipelineCreateFlags2KHR
$crotateL :: PipelineCreateFlags2KHR -> Int -> PipelineCreateFlags2KHR
rotateL :: PipelineCreateFlags2KHR -> Int -> PipelineCreateFlags2KHR
$crotateR :: PipelineCreateFlags2KHR -> Int -> PipelineCreateFlags2KHR
rotateR :: PipelineCreateFlags2KHR -> Int -> PipelineCreateFlags2KHR
$cpopCount :: PipelineCreateFlags2KHR -> Int
popCount :: PipelineCreateFlags2KHR -> Int
Bits, Bits PipelineCreateFlags2KHR
Bits PipelineCreateFlags2KHR =>
(PipelineCreateFlags2KHR -> Int)
-> (PipelineCreateFlags2KHR -> Int)
-> (PipelineCreateFlags2KHR -> Int)
-> FiniteBits PipelineCreateFlags2KHR
PipelineCreateFlags2KHR -> Int
forall b.
Bits b =>
(b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
$cfiniteBitSize :: PipelineCreateFlags2KHR -> Int
finiteBitSize :: PipelineCreateFlags2KHR -> Int
$ccountLeadingZeros :: PipelineCreateFlags2KHR -> Int
countLeadingZeros :: PipelineCreateFlags2KHR -> Int
$ccountTrailingZeros :: PipelineCreateFlags2KHR -> Int
countTrailingZeros :: PipelineCreateFlags2KHR -> Int
FiniteBits)
pattern $bPIPELINE_CREATE_2_DISABLE_OPTIMIZATION_BIT_KHR :: PipelineCreateFlags2KHR
$mPIPELINE_CREATE_2_DISABLE_OPTIMIZATION_BIT_KHR :: forall {r}.
PipelineCreateFlags2KHR -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_2_DISABLE_OPTIMIZATION_BIT_KHR = PipelineCreateFlagBits2KHR 0x0000000000000001
pattern $bPIPELINE_CREATE_2_ALLOW_DERIVATIVES_BIT_KHR :: PipelineCreateFlags2KHR
$mPIPELINE_CREATE_2_ALLOW_DERIVATIVES_BIT_KHR :: forall {r}.
PipelineCreateFlags2KHR -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_2_ALLOW_DERIVATIVES_BIT_KHR = PipelineCreateFlagBits2KHR 0x0000000000000002
pattern $bPIPELINE_CREATE_2_DERIVATIVE_BIT_KHR :: PipelineCreateFlags2KHR
$mPIPELINE_CREATE_2_DERIVATIVE_BIT_KHR :: forall {r}.
PipelineCreateFlags2KHR -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_2_DERIVATIVE_BIT_KHR = PipelineCreateFlagBits2KHR 0x0000000000000004
pattern $bPIPELINE_CREATE_2_DESCRIPTOR_BUFFER_BIT_EXT :: PipelineCreateFlags2KHR
$mPIPELINE_CREATE_2_DESCRIPTOR_BUFFER_BIT_EXT :: forall {r}.
PipelineCreateFlags2KHR -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_2_DESCRIPTOR_BUFFER_BIT_EXT = PipelineCreateFlagBits2KHR 0x0000000020000000
pattern $bPIPELINE_CREATE_2_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV :: PipelineCreateFlags2KHR
$mPIPELINE_CREATE_2_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV :: forall {r}.
PipelineCreateFlags2KHR -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_2_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV = PipelineCreateFlagBits2KHR 0x0000000010000000
pattern $bPIPELINE_CREATE_2_PROTECTED_ACCESS_ONLY_BIT_EXT :: PipelineCreateFlags2KHR
$mPIPELINE_CREATE_2_PROTECTED_ACCESS_ONLY_BIT_EXT :: forall {r}.
PipelineCreateFlags2KHR -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_2_PROTECTED_ACCESS_ONLY_BIT_EXT = PipelineCreateFlagBits2KHR 0x0000000040000000
pattern $bPIPELINE_CREATE_2_NO_PROTECTED_ACCESS_BIT_EXT :: PipelineCreateFlags2KHR
$mPIPELINE_CREATE_2_NO_PROTECTED_ACCESS_BIT_EXT :: forall {r}.
PipelineCreateFlags2KHR -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_2_NO_PROTECTED_ACCESS_BIT_EXT = PipelineCreateFlagBits2KHR 0x0000000008000000
pattern $bPIPELINE_CREATE_2_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT :: PipelineCreateFlags2KHR
$mPIPELINE_CREATE_2_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT :: forall {r}.
PipelineCreateFlags2KHR -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_2_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = PipelineCreateFlagBits2KHR 0x0000000004000000
pattern $bPIPELINE_CREATE_2_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT :: PipelineCreateFlags2KHR
$mPIPELINE_CREATE_2_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT :: forall {r}.
PipelineCreateFlags2KHR -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_2_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = PipelineCreateFlagBits2KHR 0x0000000002000000
pattern $bPIPELINE_CREATE_2_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT :: PipelineCreateFlags2KHR
$mPIPELINE_CREATE_2_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT :: forall {r}.
PipelineCreateFlags2KHR -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_2_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT = PipelineCreateFlagBits2KHR 0x0000000001000000
pattern $bPIPELINE_CREATE_2_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT :: PipelineCreateFlags2KHR
$mPIPELINE_CREATE_2_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT :: forall {r}.
PipelineCreateFlags2KHR -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_2_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = PipelineCreateFlagBits2KHR 0x0000000000400000
pattern $bPIPELINE_CREATE_2_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR :: PipelineCreateFlags2KHR
$mPIPELINE_CREATE_2_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR :: forall {r}.
PipelineCreateFlags2KHR -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_2_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = PipelineCreateFlagBits2KHR 0x0000000000200000
pattern $bPIPELINE_CREATE_2_RAY_TRACING_ALLOW_MOTION_BIT_NV :: PipelineCreateFlags2KHR
$mPIPELINE_CREATE_2_RAY_TRACING_ALLOW_MOTION_BIT_NV :: forall {r}.
PipelineCreateFlags2KHR -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_2_RAY_TRACING_ALLOW_MOTION_BIT_NV = PipelineCreateFlagBits2KHR 0x0000000000100000
pattern $bPIPELINE_CREATE_2_INDIRECT_BINDABLE_BIT_NV :: PipelineCreateFlags2KHR
$mPIPELINE_CREATE_2_INDIRECT_BINDABLE_BIT_NV :: forall {r}.
PipelineCreateFlags2KHR -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_2_INDIRECT_BINDABLE_BIT_NV = PipelineCreateFlagBits2KHR 0x0000000000040000
pattern $bPIPELINE_CREATE_2_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR :: PipelineCreateFlags2KHR
$mPIPELINE_CREATE_2_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR :: forall {r}.
PipelineCreateFlags2KHR -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_2_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = PipelineCreateFlagBits2KHR 0x0000000000080000
pattern $bPIPELINE_CREATE_2_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR :: PipelineCreateFlags2KHR
$mPIPELINE_CREATE_2_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR :: forall {r}.
PipelineCreateFlags2KHR -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = PipelineCreateFlagBits2KHR 0x0000000000020000
pattern $bPIPELINE_CREATE_2_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR :: PipelineCreateFlags2KHR
$mPIPELINE_CREATE_2_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR :: forall {r}.
PipelineCreateFlags2KHR -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = PipelineCreateFlagBits2KHR 0x0000000000010000
pattern $bPIPELINE_CREATE_2_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR :: PipelineCreateFlags2KHR
$mPIPELINE_CREATE_2_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR :: forall {r}.
PipelineCreateFlags2KHR -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = PipelineCreateFlagBits2KHR 0x0000000000008000
pattern $bPIPELINE_CREATE_2_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR :: PipelineCreateFlags2KHR
$mPIPELINE_CREATE_2_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR :: forall {r}.
PipelineCreateFlags2KHR -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = PipelineCreateFlagBits2KHR 0x0000000000004000
pattern $bPIPELINE_CREATE_2_RAY_TRACING_SKIP_AABBS_BIT_KHR :: PipelineCreateFlags2KHR
$mPIPELINE_CREATE_2_RAY_TRACING_SKIP_AABBS_BIT_KHR :: forall {r}.
PipelineCreateFlags2KHR -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_2_RAY_TRACING_SKIP_AABBS_BIT_KHR = PipelineCreateFlagBits2KHR 0x0000000000002000
pattern $bPIPELINE_CREATE_2_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR :: PipelineCreateFlags2KHR
$mPIPELINE_CREATE_2_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR :: forall {r}.
PipelineCreateFlags2KHR -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_2_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = PipelineCreateFlagBits2KHR 0x0000000000001000
pattern $bPIPELINE_CREATE_2_LIBRARY_BIT_KHR :: PipelineCreateFlags2KHR
$mPIPELINE_CREATE_2_LIBRARY_BIT_KHR :: forall {r}.
PipelineCreateFlags2KHR -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_2_LIBRARY_BIT_KHR = PipelineCreateFlagBits2KHR 0x0000000000000800
pattern $bPIPELINE_CREATE_2_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT :: PipelineCreateFlags2KHR
$mPIPELINE_CREATE_2_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT :: forall {r}.
PipelineCreateFlags2KHR -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_2_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT = PipelineCreateFlagBits2KHR 0x0000000000800000
pattern $bPIPELINE_CREATE_2_LINK_TIME_OPTIMIZATION_BIT_EXT :: PipelineCreateFlags2KHR
$mPIPELINE_CREATE_2_LINK_TIME_OPTIMIZATION_BIT_EXT :: forall {r}.
PipelineCreateFlags2KHR -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_2_LINK_TIME_OPTIMIZATION_BIT_EXT = PipelineCreateFlagBits2KHR 0x0000000000000400
pattern $bPIPELINE_CREATE_2_EARLY_RETURN_ON_FAILURE_BIT_KHR :: PipelineCreateFlags2KHR
$mPIPELINE_CREATE_2_EARLY_RETURN_ON_FAILURE_BIT_KHR :: forall {r}.
PipelineCreateFlags2KHR -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_2_EARLY_RETURN_ON_FAILURE_BIT_KHR = PipelineCreateFlagBits2KHR 0x0000000000000200
pattern $bPIPELINE_CREATE_2_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_KHR :: PipelineCreateFlags2KHR
$mPIPELINE_CREATE_2_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_KHR :: forall {r}.
PipelineCreateFlags2KHR -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_2_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_KHR = PipelineCreateFlagBits2KHR 0x0000000000000100
pattern $bPIPELINE_CREATE_2_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR :: PipelineCreateFlags2KHR
$mPIPELINE_CREATE_2_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR :: forall {r}.
PipelineCreateFlags2KHR -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_2_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = PipelineCreateFlagBits2KHR 0x0000000000000080
pattern $bPIPELINE_CREATE_2_CAPTURE_STATISTICS_BIT_KHR :: PipelineCreateFlags2KHR
$mPIPELINE_CREATE_2_CAPTURE_STATISTICS_BIT_KHR :: forall {r}.
PipelineCreateFlags2KHR -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_2_CAPTURE_STATISTICS_BIT_KHR = PipelineCreateFlagBits2KHR 0x0000000000000040
pattern $bPIPELINE_CREATE_2_DEFER_COMPILE_BIT_NV :: PipelineCreateFlags2KHR
$mPIPELINE_CREATE_2_DEFER_COMPILE_BIT_NV :: forall {r}.
PipelineCreateFlags2KHR -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_2_DEFER_COMPILE_BIT_NV = PipelineCreateFlagBits2KHR 0x0000000000000020
pattern $bPIPELINE_CREATE_2_DISPATCH_BASE_BIT_KHR :: PipelineCreateFlags2KHR
$mPIPELINE_CREATE_2_DISPATCH_BASE_BIT_KHR :: forall {r}.
PipelineCreateFlags2KHR -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_2_DISPATCH_BASE_BIT_KHR = PipelineCreateFlagBits2KHR 0x0000000000000010
pattern $bPIPELINE_CREATE_2_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR :: PipelineCreateFlags2KHR
$mPIPELINE_CREATE_2_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR :: forall {r}.
PipelineCreateFlags2KHR -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_2_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = PipelineCreateFlagBits2KHR 0x0000000000000008
conNamePipelineCreateFlagBits2KHR :: String
conNamePipelineCreateFlagBits2KHR :: String
conNamePipelineCreateFlagBits2KHR = String
"PipelineCreateFlagBits2KHR"
enumPrefixPipelineCreateFlagBits2KHR :: String
enumPrefixPipelineCreateFlagBits2KHR :: String
enumPrefixPipelineCreateFlagBits2KHR = String
"PIPELINE_CREATE_2_"
showTablePipelineCreateFlagBits2KHR :: [(PipelineCreateFlagBits2KHR, String)]
showTablePipelineCreateFlagBits2KHR :: [(PipelineCreateFlags2KHR, String)]
showTablePipelineCreateFlagBits2KHR =
[
( PipelineCreateFlags2KHR
PIPELINE_CREATE_2_DISABLE_OPTIMIZATION_BIT_KHR
, String
"DISABLE_OPTIMIZATION_BIT_KHR"
)
,
( PipelineCreateFlags2KHR
PIPELINE_CREATE_2_ALLOW_DERIVATIVES_BIT_KHR
, String
"ALLOW_DERIVATIVES_BIT_KHR"
)
,
( PipelineCreateFlags2KHR
PIPELINE_CREATE_2_DERIVATIVE_BIT_KHR
, String
"DERIVATIVE_BIT_KHR"
)
,
( PipelineCreateFlags2KHR
PIPELINE_CREATE_2_DESCRIPTOR_BUFFER_BIT_EXT
, String
"DESCRIPTOR_BUFFER_BIT_EXT"
)
,
( PipelineCreateFlags2KHR
PIPELINE_CREATE_2_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV
, String
"RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV"
)
,
( PipelineCreateFlags2KHR
PIPELINE_CREATE_2_PROTECTED_ACCESS_ONLY_BIT_EXT
, String
"PROTECTED_ACCESS_ONLY_BIT_EXT"
)
,
( PipelineCreateFlags2KHR
PIPELINE_CREATE_2_NO_PROTECTED_ACCESS_BIT_EXT
, String
"NO_PROTECTED_ACCESS_BIT_EXT"
)
,
( PipelineCreateFlags2KHR
PIPELINE_CREATE_2_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT
, String
"DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT"
)
,
( PipelineCreateFlags2KHR
PIPELINE_CREATE_2_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT
, String
"COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT"
)
,
( PipelineCreateFlags2KHR
PIPELINE_CREATE_2_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT
, String
"RAY_TRACING_OPACITY_MICROMAP_BIT_EXT"
)
,
( PipelineCreateFlags2KHR
PIPELINE_CREATE_2_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT
, String
"RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT"
)
,
( PipelineCreateFlags2KHR
PIPELINE_CREATE_2_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
, String
"RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"
)
,
( PipelineCreateFlags2KHR
PIPELINE_CREATE_2_RAY_TRACING_ALLOW_MOTION_BIT_NV
, String
"RAY_TRACING_ALLOW_MOTION_BIT_NV"
)
,
( PipelineCreateFlags2KHR
PIPELINE_CREATE_2_INDIRECT_BINDABLE_BIT_NV
, String
"INDIRECT_BINDABLE_BIT_NV"
)
,
( PipelineCreateFlags2KHR
PIPELINE_CREATE_2_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR
, String
"RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR"
)
,
( PipelineCreateFlags2KHR
PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR
, String
"RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR"
)
,
( PipelineCreateFlags2KHR
PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR
, String
"RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR"
)
,
( PipelineCreateFlags2KHR
PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR
, String
"RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR"
)
,
( PipelineCreateFlags2KHR
PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR
, String
"RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR"
)
,
( PipelineCreateFlags2KHR
PIPELINE_CREATE_2_RAY_TRACING_SKIP_AABBS_BIT_KHR
, String
"RAY_TRACING_SKIP_AABBS_BIT_KHR"
)
,
( PipelineCreateFlags2KHR
PIPELINE_CREATE_2_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR
, String
"RAY_TRACING_SKIP_TRIANGLES_BIT_KHR"
)
,
( PipelineCreateFlags2KHR
PIPELINE_CREATE_2_LIBRARY_BIT_KHR
, String
"LIBRARY_BIT_KHR"
)
,
( PipelineCreateFlags2KHR
PIPELINE_CREATE_2_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT
, String
"RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT"
)
,
( PipelineCreateFlags2KHR
PIPELINE_CREATE_2_LINK_TIME_OPTIMIZATION_BIT_EXT
, String
"LINK_TIME_OPTIMIZATION_BIT_EXT"
)
,
( PipelineCreateFlags2KHR
PIPELINE_CREATE_2_EARLY_RETURN_ON_FAILURE_BIT_KHR
, String
"EARLY_RETURN_ON_FAILURE_BIT_KHR"
)
,
( PipelineCreateFlags2KHR
PIPELINE_CREATE_2_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_KHR
, String
"FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_KHR"
)
,
( PipelineCreateFlags2KHR
PIPELINE_CREATE_2_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR
, String
"CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR"
)
,
( PipelineCreateFlags2KHR
PIPELINE_CREATE_2_CAPTURE_STATISTICS_BIT_KHR
, String
"CAPTURE_STATISTICS_BIT_KHR"
)
,
( PipelineCreateFlags2KHR
PIPELINE_CREATE_2_DEFER_COMPILE_BIT_NV
, String
"DEFER_COMPILE_BIT_NV"
)
,
( PipelineCreateFlags2KHR
PIPELINE_CREATE_2_DISPATCH_BASE_BIT_KHR
, String
"DISPATCH_BASE_BIT_KHR"
)
,
( PipelineCreateFlags2KHR
PIPELINE_CREATE_2_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR
, String
"VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR"
)
]
instance Show PipelineCreateFlagBits2KHR where
showsPrec :: Int -> PipelineCreateFlags2KHR -> ShowS
showsPrec =
String
-> [(PipelineCreateFlags2KHR, String)]
-> String
-> (PipelineCreateFlags2KHR -> Flags64)
-> (Flags64 -> ShowS)
-> Int
-> PipelineCreateFlags2KHR
-> ShowS
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec
String
enumPrefixPipelineCreateFlagBits2KHR
[(PipelineCreateFlags2KHR, String)]
showTablePipelineCreateFlagBits2KHR
String
conNamePipelineCreateFlagBits2KHR
(\(PipelineCreateFlagBits2KHR Flags64
x) -> Flags64
x)
(\Flags64
x -> String -> ShowS
showString String
"0x" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Flags64 -> ShowS
forall a. Integral a => a -> ShowS
showHex Flags64
x)
instance Read PipelineCreateFlagBits2KHR where
readPrec :: ReadPrec PipelineCreateFlags2KHR
readPrec =
String
-> [(PipelineCreateFlags2KHR, String)]
-> String
-> (Flags64 -> PipelineCreateFlags2KHR)
-> ReadPrec PipelineCreateFlags2KHR
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec
String
enumPrefixPipelineCreateFlagBits2KHR
[(PipelineCreateFlags2KHR, String)]
showTablePipelineCreateFlagBits2KHR
String
conNamePipelineCreateFlagBits2KHR
Flags64 -> PipelineCreateFlags2KHR
PipelineCreateFlagBits2KHR
type KHR_MAINTENANCE_5_SPEC_VERSION = 1
pattern KHR_MAINTENANCE_5_SPEC_VERSION :: forall a . Integral a => a
pattern $bKHR_MAINTENANCE_5_SPEC_VERSION :: forall a. Integral a => a
$mKHR_MAINTENANCE_5_SPEC_VERSION :: forall {r} {a}.
Integral a =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
KHR_MAINTENANCE_5_SPEC_VERSION = 1
type KHR_MAINTENANCE_5_EXTENSION_NAME = "VK_KHR_maintenance5"
pattern KHR_MAINTENANCE_5_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
pattern $bKHR_MAINTENANCE_5_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
$mKHR_MAINTENANCE_5_EXTENSION_NAME :: forall {r} {a}.
(Eq a, IsString a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
KHR_MAINTENANCE_5_EXTENSION_NAME = "VK_KHR_maintenance5"