{-# language CPP #-}
module Vulkan.Extensions.VK_EXT_debug_report ( createDebugReportCallbackEXT
, withDebugReportCallbackEXT
, destroyDebugReportCallbackEXT
, debugReportMessageEXT
, pattern STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT
, pattern DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT
, pattern DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT
, DebugReportCallbackCreateInfoEXT(..)
, DebugReportFlagsEXT
, DebugReportFlagBitsEXT( DEBUG_REPORT_INFORMATION_BIT_EXT
, DEBUG_REPORT_WARNING_BIT_EXT
, DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT
, DEBUG_REPORT_ERROR_BIT_EXT
, DEBUG_REPORT_DEBUG_BIT_EXT
, ..
)
, DebugReportObjectTypeEXT( DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT
, DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT
, DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT
, DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT
, DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT
, DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT
, DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT
, DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT
, DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT
, DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT
, DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT
, DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT
, DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT
, DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT
, DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT
, DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT
, DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT
, DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT
, DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT
, DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT
, DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT
, DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT
, DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT
, DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT
, DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT
, DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT
, DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT
, DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT
, DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT
, DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT
, DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT
, DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT
, DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT
, DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT
, DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT
, DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT
, ..
)
, PFN_vkDebugReportCallbackEXT
, FN_vkDebugReportCallbackEXT
, EXT_DEBUG_REPORT_SPEC_VERSION
, pattern EXT_DEBUG_REPORT_SPEC_VERSION
, EXT_DEBUG_REPORT_EXTENSION_NAME
, pattern EXT_DEBUG_REPORT_EXTENSION_NAME
, DebugReportCallbackEXT(..)
) where
import Vulkan.Internal.Utils (enumReadPrec)
import Vulkan.Internal.Utils (enumShowsPrec)
import Vulkan.Internal.Utils (traceAroundEvent)
import Control.Exception.Base (bracket)
import Control.Monad (unless)
import Control.Monad.IO.Class (liftIO)
import Foreign.Marshal.Alloc (allocaBytesAligned)
import Foreign.Marshal.Alloc (callocBytes)
import Foreign.Marshal.Alloc (free)
import GHC.Base (when)
import GHC.IO (throwIO)
import GHC.Ptr (nullFunPtr)
import Foreign.Ptr (nullPtr)
import Foreign.Ptr (plusPtr)
import GHC.Show (showString)
import GHC.Show (showsPrec)
import Numeric (showHex)
import Data.ByteString (useAsCString)
import Control.Monad.Trans.Class (lift)
import Control.Monad.Trans.Cont (evalContT)
import Foreign.C.Types (CChar(..))
import Foreign.C.Types (CSize(..))
import Vulkan.CStruct (FromCStruct)
import Vulkan.CStruct (FromCStruct(..))
import Vulkan.CStruct (ToCStruct)
import Vulkan.CStruct (ToCStruct(..))
import Vulkan.Zero (Zero)
import Vulkan.Zero (Zero(..))
import Control.Monad.IO.Class (MonadIO)
import Data.Bits (Bits)
import Data.Bits (FiniteBits)
import Data.String (IsString)
import Data.Typeable (Typeable)
import Foreign.C.Types (CChar)
import Foreign.C.Types (CSize)
import Foreign.C.Types (CSize(CSize))
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 Data.Int (Int32)
import Foreign.Ptr (FunPtr)
import Foreign.Ptr (Ptr)
import GHC.Read (Read(readPrec))
import GHC.Show (Show(showsPrec))
import Data.Word (Word64)
import Data.ByteString (ByteString)
import Data.Kind (Type)
import Control.Monad.Trans.Cont (ContT(..))
import Vulkan.NamedType ((:::))
import Vulkan.Core10.AllocationCallbacks (AllocationCallbacks)
import Vulkan.Core10.FundamentalTypes (Bool32)
import Vulkan.Extensions.Handles (DebugReportCallbackEXT)
import Vulkan.Extensions.Handles (DebugReportCallbackEXT(..))
import Vulkan.Core10.FundamentalTypes (Flags)
import Vulkan.Core10.Handles (Instance)
import Vulkan.Core10.Handles (Instance(..))
import Vulkan.Dynamic (InstanceCmds(pVkCreateDebugReportCallbackEXT))
import Vulkan.Dynamic (InstanceCmds(pVkDebugReportMessageEXT))
import Vulkan.Dynamic (InstanceCmds(pVkDestroyDebugReportCallbackEXT))
import Vulkan.Core10.Handles (Instance_T)
import Vulkan.Core10.Enums.Result (Result)
import Vulkan.Core10.Enums.Result (Result(..))
import Vulkan.Core10.Enums.StructureType (StructureType)
import Vulkan.Exception (VulkanException(..))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT))
import Vulkan.Core10.Enums.Result (Result(SUCCESS))
import Vulkan.Extensions.Handles (DebugReportCallbackEXT(..))
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
unsafe
#endif
"dynamic" mkVkCreateDebugReportCallbackEXT
:: FunPtr (Ptr Instance_T -> Ptr DebugReportCallbackCreateInfoEXT -> Ptr AllocationCallbacks -> Ptr DebugReportCallbackEXT -> IO Result) -> Ptr Instance_T -> Ptr DebugReportCallbackCreateInfoEXT -> Ptr AllocationCallbacks -> Ptr DebugReportCallbackEXT -> IO Result
createDebugReportCallbackEXT :: forall io
. (MonadIO io)
=>
Instance
->
DebugReportCallbackCreateInfoEXT
->
("allocator" ::: Maybe AllocationCallbacks)
-> io (DebugReportCallbackEXT)
createDebugReportCallbackEXT :: Instance
-> DebugReportCallbackCreateInfoEXT
-> ("allocator" ::: Maybe AllocationCallbacks)
-> io DebugReportCallbackEXT
createDebugReportCallbackEXT instance' :: Instance
instance' createInfo :: DebugReportCallbackCreateInfoEXT
createInfo allocator :: "allocator" ::: Maybe AllocationCallbacks
allocator = IO DebugReportCallbackEXT -> io DebugReportCallbackEXT
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO DebugReportCallbackEXT -> io DebugReportCallbackEXT)
-> (ContT DebugReportCallbackEXT IO DebugReportCallbackEXT
-> IO DebugReportCallbackEXT)
-> ContT DebugReportCallbackEXT IO DebugReportCallbackEXT
-> io DebugReportCallbackEXT
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ContT DebugReportCallbackEXT IO DebugReportCallbackEXT
-> IO DebugReportCallbackEXT
forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT (ContT DebugReportCallbackEXT IO DebugReportCallbackEXT
-> io DebugReportCallbackEXT)
-> ContT DebugReportCallbackEXT IO DebugReportCallbackEXT
-> io DebugReportCallbackEXT
forall a b. (a -> b) -> a -> b
$ do
let vkCreateDebugReportCallbackEXTPtr :: FunPtr
(Ptr Instance_T
-> ("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT)
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> ("pCallback" ::: Ptr DebugReportCallbackEXT)
-> IO Result)
vkCreateDebugReportCallbackEXTPtr = InstanceCmds
-> FunPtr
(Ptr Instance_T
-> ("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT)
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> ("pCallback" ::: Ptr DebugReportCallbackEXT)
-> IO Result)
pVkCreateDebugReportCallbackEXT (Instance -> InstanceCmds
instanceCmds (Instance
instance' :: Instance))
IO () -> ContT DebugReportCallbackEXT IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT DebugReportCallbackEXT IO ())
-> IO () -> ContT DebugReportCallbackEXT IO ()
forall a b. (a -> b) -> a -> b
$ Bool -> IO () -> IO ()
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless (FunPtr
(Ptr Instance_T
-> ("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT)
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> ("pCallback" ::: Ptr DebugReportCallbackEXT)
-> IO Result)
vkCreateDebugReportCallbackEXTPtr FunPtr
(Ptr Instance_T
-> ("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT)
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> ("pCallback" ::: Ptr DebugReportCallbackEXT)
-> IO Result)
-> FunPtr
(Ptr Instance_T
-> ("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT)
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> ("pCallback" ::: Ptr DebugReportCallbackEXT)
-> IO Result)
-> Bool
forall a. Eq a => a -> a -> Bool
/= FunPtr
(Ptr Instance_T
-> ("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT)
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> ("pCallback" ::: Ptr DebugReportCallbackEXT)
-> IO Result)
forall a. FunPtr a
nullFunPtr) (IO () -> IO ()) -> IO () -> IO ()
forall a b. (a -> b) -> a -> b
$
IOException -> IO ()
forall e a. Exception e => e -> IO a
throwIO (IOException -> IO ()) -> IOException -> IO ()
forall a b. (a -> b) -> a -> b
$ Maybe Handle
-> IOErrorType
-> String
-> String
-> Maybe CInt
-> Maybe String
-> IOException
IOError Maybe Handle
forall a. Maybe a
Nothing IOErrorType
InvalidArgument "" "The function pointer for vkCreateDebugReportCallbackEXT is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let vkCreateDebugReportCallbackEXT' :: Ptr Instance_T
-> ("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT)
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> ("pCallback" ::: Ptr DebugReportCallbackEXT)
-> IO Result
vkCreateDebugReportCallbackEXT' = FunPtr
(Ptr Instance_T
-> ("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT)
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> ("pCallback" ::: Ptr DebugReportCallbackEXT)
-> IO Result)
-> Ptr Instance_T
-> ("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT)
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> ("pCallback" ::: Ptr DebugReportCallbackEXT)
-> IO Result
mkVkCreateDebugReportCallbackEXT FunPtr
(Ptr Instance_T
-> ("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT)
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> ("pCallback" ::: Ptr DebugReportCallbackEXT)
-> IO Result)
vkCreateDebugReportCallbackEXTPtr
"pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT
pCreateInfo <- ((("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT)
-> IO DebugReportCallbackEXT)
-> IO DebugReportCallbackEXT)
-> ContT
DebugReportCallbackEXT
IO
("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT)
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT)
-> IO DebugReportCallbackEXT)
-> IO DebugReportCallbackEXT)
-> ContT
DebugReportCallbackEXT
IO
("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT))
-> ((("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT)
-> IO DebugReportCallbackEXT)
-> IO DebugReportCallbackEXT)
-> ContT
DebugReportCallbackEXT
IO
("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT)
forall a b. (a -> b) -> a -> b
$ DebugReportCallbackCreateInfoEXT
-> (("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT)
-> IO DebugReportCallbackEXT)
-> IO DebugReportCallbackEXT
forall a b. ToCStruct a => a -> (Ptr a -> IO b) -> IO b
withCStruct (DebugReportCallbackCreateInfoEXT
createInfo)
"pAllocator" ::: Ptr AllocationCallbacks
pAllocator <- case ("allocator" ::: Maybe AllocationCallbacks
allocator) of
Nothing -> ("pAllocator" ::: Ptr AllocationCallbacks)
-> ContT
DebugReportCallbackEXT
IO
("pAllocator" ::: Ptr AllocationCallbacks)
forall (f :: * -> *) a. Applicative f => a -> f a
pure "pAllocator" ::: Ptr AllocationCallbacks
forall a. Ptr a
nullPtr
Just j :: AllocationCallbacks
j -> ((("pAllocator" ::: Ptr AllocationCallbacks)
-> IO DebugReportCallbackEXT)
-> IO DebugReportCallbackEXT)
-> ContT
DebugReportCallbackEXT
IO
("pAllocator" ::: Ptr AllocationCallbacks)
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((("pAllocator" ::: Ptr AllocationCallbacks)
-> IO DebugReportCallbackEXT)
-> IO DebugReportCallbackEXT)
-> ContT
DebugReportCallbackEXT
IO
("pAllocator" ::: Ptr AllocationCallbacks))
-> ((("pAllocator" ::: Ptr AllocationCallbacks)
-> IO DebugReportCallbackEXT)
-> IO DebugReportCallbackEXT)
-> ContT
DebugReportCallbackEXT
IO
("pAllocator" ::: Ptr AllocationCallbacks)
forall a b. (a -> b) -> a -> b
$ AllocationCallbacks
-> (("pAllocator" ::: Ptr AllocationCallbacks)
-> IO DebugReportCallbackEXT)
-> IO DebugReportCallbackEXT
forall a b. ToCStruct a => a -> (Ptr a -> IO b) -> IO b
withCStruct (AllocationCallbacks
j)
"pCallback" ::: Ptr DebugReportCallbackEXT
pPCallback <- ((("pCallback" ::: Ptr DebugReportCallbackEXT)
-> IO DebugReportCallbackEXT)
-> IO DebugReportCallbackEXT)
-> ContT
DebugReportCallbackEXT
IO
("pCallback" ::: Ptr DebugReportCallbackEXT)
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((("pCallback" ::: Ptr DebugReportCallbackEXT)
-> IO DebugReportCallbackEXT)
-> IO DebugReportCallbackEXT)
-> ContT
DebugReportCallbackEXT
IO
("pCallback" ::: Ptr DebugReportCallbackEXT))
-> ((("pCallback" ::: Ptr DebugReportCallbackEXT)
-> IO DebugReportCallbackEXT)
-> IO DebugReportCallbackEXT)
-> ContT
DebugReportCallbackEXT
IO
("pCallback" ::: Ptr DebugReportCallbackEXT)
forall a b. (a -> b) -> a -> b
$ IO ("pCallback" ::: Ptr DebugReportCallbackEXT)
-> (("pCallback" ::: Ptr DebugReportCallbackEXT) -> IO ())
-> (("pCallback" ::: Ptr DebugReportCallbackEXT)
-> IO DebugReportCallbackEXT)
-> IO DebugReportCallbackEXT
forall a b c. IO a -> (a -> IO b) -> (a -> IO c) -> IO c
bracket (Int -> IO ("pCallback" ::: Ptr DebugReportCallbackEXT)
forall a. Int -> IO (Ptr a)
callocBytes @DebugReportCallbackEXT 8) ("pCallback" ::: Ptr DebugReportCallbackEXT) -> IO ()
forall a. Ptr a -> IO ()
free
Result
r <- IO Result -> ContT DebugReportCallbackEXT IO Result
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO Result -> ContT DebugReportCallbackEXT IO Result)
-> IO Result -> ContT DebugReportCallbackEXT IO Result
forall a b. (a -> b) -> a -> b
$ String -> IO Result -> IO Result
forall a. String -> IO a -> IO a
traceAroundEvent "vkCreateDebugReportCallbackEXT" (Ptr Instance_T
-> ("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT)
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> ("pCallback" ::: Ptr DebugReportCallbackEXT)
-> IO Result
vkCreateDebugReportCallbackEXT' (Instance -> Ptr Instance_T
instanceHandle (Instance
instance')) "pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT
pCreateInfo "pAllocator" ::: Ptr AllocationCallbacks
pAllocator ("pCallback" ::: Ptr DebugReportCallbackEXT
pPCallback))
IO () -> ContT DebugReportCallbackEXT IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT DebugReportCallbackEXT IO ())
-> IO () -> ContT DebugReportCallbackEXT IO ()
forall a b. (a -> b) -> a -> b
$ Bool -> IO () -> IO ()
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
when (Result
r Result -> Result -> Bool
forall a. Ord a => a -> a -> Bool
< Result
SUCCESS) (VulkanException -> IO ()
forall e a. Exception e => e -> IO a
throwIO (Result -> VulkanException
VulkanException Result
r))
DebugReportCallbackEXT
pCallback <- IO DebugReportCallbackEXT
-> ContT DebugReportCallbackEXT IO DebugReportCallbackEXT
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO DebugReportCallbackEXT
-> ContT DebugReportCallbackEXT IO DebugReportCallbackEXT)
-> IO DebugReportCallbackEXT
-> ContT DebugReportCallbackEXT IO DebugReportCallbackEXT
forall a b. (a -> b) -> a -> b
$ ("pCallback" ::: Ptr DebugReportCallbackEXT)
-> IO DebugReportCallbackEXT
forall a. Storable a => Ptr a -> IO a
peek @DebugReportCallbackEXT "pCallback" ::: Ptr DebugReportCallbackEXT
pPCallback
DebugReportCallbackEXT
-> ContT DebugReportCallbackEXT IO DebugReportCallbackEXT
forall (f :: * -> *) a. Applicative f => a -> f a
pure (DebugReportCallbackEXT
-> ContT DebugReportCallbackEXT IO DebugReportCallbackEXT)
-> DebugReportCallbackEXT
-> ContT DebugReportCallbackEXT IO DebugReportCallbackEXT
forall a b. (a -> b) -> a -> b
$ (DebugReportCallbackEXT
pCallback)
withDebugReportCallbackEXT :: forall io r . MonadIO io => Instance -> DebugReportCallbackCreateInfoEXT -> Maybe AllocationCallbacks -> (io DebugReportCallbackEXT -> (DebugReportCallbackEXT -> io ()) -> r) -> r
withDebugReportCallbackEXT :: Instance
-> DebugReportCallbackCreateInfoEXT
-> ("allocator" ::: Maybe AllocationCallbacks)
-> (io DebugReportCallbackEXT
-> (DebugReportCallbackEXT -> io ()) -> r)
-> r
withDebugReportCallbackEXT instance' :: Instance
instance' pCreateInfo :: DebugReportCallbackCreateInfoEXT
pCreateInfo pAllocator :: "allocator" ::: Maybe AllocationCallbacks
pAllocator b :: io DebugReportCallbackEXT -> (DebugReportCallbackEXT -> io ()) -> r
b =
io DebugReportCallbackEXT -> (DebugReportCallbackEXT -> io ()) -> r
b (Instance
-> DebugReportCallbackCreateInfoEXT
-> ("allocator" ::: Maybe AllocationCallbacks)
-> io DebugReportCallbackEXT
forall (io :: * -> *).
MonadIO io =>
Instance
-> DebugReportCallbackCreateInfoEXT
-> ("allocator" ::: Maybe AllocationCallbacks)
-> io DebugReportCallbackEXT
createDebugReportCallbackEXT Instance
instance' DebugReportCallbackCreateInfoEXT
pCreateInfo "allocator" ::: Maybe AllocationCallbacks
pAllocator)
(\(DebugReportCallbackEXT
o0) -> Instance
-> DebugReportCallbackEXT
-> ("allocator" ::: Maybe AllocationCallbacks)
-> io ()
forall (io :: * -> *).
MonadIO io =>
Instance
-> DebugReportCallbackEXT
-> ("allocator" ::: Maybe AllocationCallbacks)
-> io ()
destroyDebugReportCallbackEXT Instance
instance' DebugReportCallbackEXT
o0 "allocator" ::: Maybe AllocationCallbacks
pAllocator)
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
unsafe
#endif
"dynamic" mkVkDestroyDebugReportCallbackEXT
:: FunPtr (Ptr Instance_T -> DebugReportCallbackEXT -> Ptr AllocationCallbacks -> IO ()) -> Ptr Instance_T -> DebugReportCallbackEXT -> Ptr AllocationCallbacks -> IO ()
destroyDebugReportCallbackEXT :: forall io
. (MonadIO io)
=>
Instance
->
DebugReportCallbackEXT
->
("allocator" ::: Maybe AllocationCallbacks)
-> io ()
destroyDebugReportCallbackEXT :: Instance
-> DebugReportCallbackEXT
-> ("allocator" ::: Maybe AllocationCallbacks)
-> io ()
destroyDebugReportCallbackEXT instance' :: Instance
instance' callback :: DebugReportCallbackEXT
callback allocator :: "allocator" ::: Maybe AllocationCallbacks
allocator = IO () -> io ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> io ())
-> (ContT () IO () -> IO ()) -> ContT () IO () -> io ()
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ContT () IO () -> IO ()
forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT (ContT () IO () -> io ()) -> ContT () IO () -> io ()
forall a b. (a -> b) -> a -> b
$ do
let vkDestroyDebugReportCallbackEXTPtr :: FunPtr
(Ptr Instance_T
-> DebugReportCallbackEXT
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> IO ())
vkDestroyDebugReportCallbackEXTPtr = InstanceCmds
-> FunPtr
(Ptr Instance_T
-> DebugReportCallbackEXT
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> IO ())
pVkDestroyDebugReportCallbackEXT (Instance -> InstanceCmds
instanceCmds (Instance
instance' :: Instance))
IO () -> ContT () IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT () IO ()) -> IO () -> ContT () IO ()
forall a b. (a -> b) -> a -> b
$ Bool -> IO () -> IO ()
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless (FunPtr
(Ptr Instance_T
-> DebugReportCallbackEXT
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> IO ())
vkDestroyDebugReportCallbackEXTPtr FunPtr
(Ptr Instance_T
-> DebugReportCallbackEXT
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> IO ())
-> FunPtr
(Ptr Instance_T
-> DebugReportCallbackEXT
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> IO ())
-> Bool
forall a. Eq a => a -> a -> Bool
/= FunPtr
(Ptr Instance_T
-> DebugReportCallbackEXT
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> IO ())
forall a. FunPtr a
nullFunPtr) (IO () -> IO ()) -> IO () -> IO ()
forall a b. (a -> b) -> a -> b
$
IOException -> IO ()
forall e a. Exception e => e -> IO a
throwIO (IOException -> IO ()) -> IOException -> IO ()
forall a b. (a -> b) -> a -> b
$ Maybe Handle
-> IOErrorType
-> String
-> String
-> Maybe CInt
-> Maybe String
-> IOException
IOError Maybe Handle
forall a. Maybe a
Nothing IOErrorType
InvalidArgument "" "The function pointer for vkDestroyDebugReportCallbackEXT is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let vkDestroyDebugReportCallbackEXT' :: Ptr Instance_T
-> DebugReportCallbackEXT
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> IO ()
vkDestroyDebugReportCallbackEXT' = FunPtr
(Ptr Instance_T
-> DebugReportCallbackEXT
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> IO ())
-> Ptr Instance_T
-> DebugReportCallbackEXT
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> IO ()
mkVkDestroyDebugReportCallbackEXT FunPtr
(Ptr Instance_T
-> DebugReportCallbackEXT
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> IO ())
vkDestroyDebugReportCallbackEXTPtr
"pAllocator" ::: Ptr AllocationCallbacks
pAllocator <- case ("allocator" ::: Maybe AllocationCallbacks
allocator) of
Nothing -> ("pAllocator" ::: Ptr AllocationCallbacks)
-> ContT () IO ("pAllocator" ::: Ptr AllocationCallbacks)
forall (f :: * -> *) a. Applicative f => a -> f a
pure "pAllocator" ::: Ptr AllocationCallbacks
forall a. Ptr a
nullPtr
Just j :: AllocationCallbacks
j -> ((("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> IO ())
-> ContT () IO ("pAllocator" ::: Ptr AllocationCallbacks)
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> IO ())
-> ContT () IO ("pAllocator" ::: Ptr AllocationCallbacks))
-> ((("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> IO ())
-> ContT () IO ("pAllocator" ::: Ptr AllocationCallbacks)
forall a b. (a -> b) -> a -> b
$ AllocationCallbacks
-> (("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> IO ()
forall a b. ToCStruct a => a -> (Ptr a -> IO b) -> IO b
withCStruct (AllocationCallbacks
j)
IO () -> ContT () IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT () IO ()) -> IO () -> ContT () IO ()
forall a b. (a -> b) -> a -> b
$ String -> IO () -> IO ()
forall a. String -> IO a -> IO a
traceAroundEvent "vkDestroyDebugReportCallbackEXT" (Ptr Instance_T
-> DebugReportCallbackEXT
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> IO ()
vkDestroyDebugReportCallbackEXT' (Instance -> Ptr Instance_T
instanceHandle (Instance
instance')) (DebugReportCallbackEXT
callback) "pAllocator" ::: Ptr AllocationCallbacks
pAllocator)
() -> ContT () IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure (() -> ContT () IO ()) -> () -> ContT () IO ()
forall a b. (a -> b) -> a -> b
$ ()
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
unsafe
#endif
"dynamic" mkVkDebugReportMessageEXT
:: FunPtr (Ptr Instance_T -> DebugReportFlagsEXT -> DebugReportObjectTypeEXT -> Word64 -> CSize -> Int32 -> Ptr CChar -> Ptr CChar -> IO ()) -> Ptr Instance_T -> DebugReportFlagsEXT -> DebugReportObjectTypeEXT -> Word64 -> CSize -> Int32 -> Ptr CChar -> Ptr CChar -> IO ()
debugReportMessageEXT :: forall io
. (MonadIO io)
=>
Instance
->
DebugReportFlagsEXT
->
DebugReportObjectTypeEXT
->
("object" ::: Word64)
->
("location" ::: Word64)
->
("messageCode" ::: Int32)
->
("layerPrefix" ::: ByteString)
->
("message" ::: ByteString)
-> io ()
debugReportMessageEXT :: Instance
-> DebugReportFlagsEXT
-> DebugReportObjectTypeEXT
-> ("object" ::: Word64)
-> ("object" ::: Word64)
-> ("messageCode" ::: Int32)
-> ("layerPrefix" ::: ByteString)
-> ("layerPrefix" ::: ByteString)
-> io ()
debugReportMessageEXT instance' :: Instance
instance' flags :: DebugReportFlagsEXT
flags objectType :: DebugReportObjectTypeEXT
objectType object :: "object" ::: Word64
object location :: "object" ::: Word64
location messageCode :: "messageCode" ::: Int32
messageCode layerPrefix :: "layerPrefix" ::: ByteString
layerPrefix message :: "layerPrefix" ::: ByteString
message = IO () -> io ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> io ())
-> (ContT () IO () -> IO ()) -> ContT () IO () -> io ()
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ContT () IO () -> IO ()
forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT (ContT () IO () -> io ()) -> ContT () IO () -> io ()
forall a b. (a -> b) -> a -> b
$ do
let vkDebugReportMessageEXTPtr :: FunPtr
(Ptr Instance_T
-> DebugReportFlagsEXT
-> DebugReportObjectTypeEXT
-> ("object" ::: Word64)
-> ("location" ::: CSize)
-> ("messageCode" ::: Int32)
-> ("pLayerPrefix" ::: Ptr CChar)
-> ("pLayerPrefix" ::: Ptr CChar)
-> IO ())
vkDebugReportMessageEXTPtr = InstanceCmds
-> FunPtr
(Ptr Instance_T
-> DebugReportFlagsEXT
-> DebugReportObjectTypeEXT
-> ("object" ::: Word64)
-> ("location" ::: CSize)
-> ("messageCode" ::: Int32)
-> ("pLayerPrefix" ::: Ptr CChar)
-> ("pLayerPrefix" ::: Ptr CChar)
-> IO ())
pVkDebugReportMessageEXT (Instance -> InstanceCmds
instanceCmds (Instance
instance' :: Instance))
IO () -> ContT () IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT () IO ()) -> IO () -> ContT () IO ()
forall a b. (a -> b) -> a -> b
$ Bool -> IO () -> IO ()
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless (FunPtr
(Ptr Instance_T
-> DebugReportFlagsEXT
-> DebugReportObjectTypeEXT
-> ("object" ::: Word64)
-> ("location" ::: CSize)
-> ("messageCode" ::: Int32)
-> ("pLayerPrefix" ::: Ptr CChar)
-> ("pLayerPrefix" ::: Ptr CChar)
-> IO ())
vkDebugReportMessageEXTPtr FunPtr
(Ptr Instance_T
-> DebugReportFlagsEXT
-> DebugReportObjectTypeEXT
-> ("object" ::: Word64)
-> ("location" ::: CSize)
-> ("messageCode" ::: Int32)
-> ("pLayerPrefix" ::: Ptr CChar)
-> ("pLayerPrefix" ::: Ptr CChar)
-> IO ())
-> FunPtr
(Ptr Instance_T
-> DebugReportFlagsEXT
-> DebugReportObjectTypeEXT
-> ("object" ::: Word64)
-> ("location" ::: CSize)
-> ("messageCode" ::: Int32)
-> ("pLayerPrefix" ::: Ptr CChar)
-> ("pLayerPrefix" ::: Ptr CChar)
-> IO ())
-> Bool
forall a. Eq a => a -> a -> Bool
/= FunPtr
(Ptr Instance_T
-> DebugReportFlagsEXT
-> DebugReportObjectTypeEXT
-> ("object" ::: Word64)
-> ("location" ::: CSize)
-> ("messageCode" ::: Int32)
-> ("pLayerPrefix" ::: Ptr CChar)
-> ("pLayerPrefix" ::: Ptr CChar)
-> 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 "" "The function pointer for vkDebugReportMessageEXT is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let vkDebugReportMessageEXT' :: Ptr Instance_T
-> DebugReportFlagsEXT
-> DebugReportObjectTypeEXT
-> ("object" ::: Word64)
-> ("location" ::: CSize)
-> ("messageCode" ::: Int32)
-> ("pLayerPrefix" ::: Ptr CChar)
-> ("pLayerPrefix" ::: Ptr CChar)
-> IO ()
vkDebugReportMessageEXT' = FunPtr
(Ptr Instance_T
-> DebugReportFlagsEXT
-> DebugReportObjectTypeEXT
-> ("object" ::: Word64)
-> ("location" ::: CSize)
-> ("messageCode" ::: Int32)
-> ("pLayerPrefix" ::: Ptr CChar)
-> ("pLayerPrefix" ::: Ptr CChar)
-> IO ())
-> Ptr Instance_T
-> DebugReportFlagsEXT
-> DebugReportObjectTypeEXT
-> ("object" ::: Word64)
-> ("location" ::: CSize)
-> ("messageCode" ::: Int32)
-> ("pLayerPrefix" ::: Ptr CChar)
-> ("pLayerPrefix" ::: Ptr CChar)
-> IO ()
mkVkDebugReportMessageEXT FunPtr
(Ptr Instance_T
-> DebugReportFlagsEXT
-> DebugReportObjectTypeEXT
-> ("object" ::: Word64)
-> ("location" ::: CSize)
-> ("messageCode" ::: Int32)
-> ("pLayerPrefix" ::: Ptr CChar)
-> ("pLayerPrefix" ::: Ptr CChar)
-> IO ())
vkDebugReportMessageEXTPtr
"pLayerPrefix" ::: Ptr CChar
pLayerPrefix <- ((("pLayerPrefix" ::: Ptr CChar) -> IO ()) -> IO ())
-> ContT () IO ("pLayerPrefix" ::: Ptr CChar)
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((("pLayerPrefix" ::: Ptr CChar) -> IO ()) -> IO ())
-> ContT () IO ("pLayerPrefix" ::: Ptr CChar))
-> ((("pLayerPrefix" ::: Ptr CChar) -> IO ()) -> IO ())
-> ContT () IO ("pLayerPrefix" ::: Ptr CChar)
forall a b. (a -> b) -> a -> b
$ ("layerPrefix" ::: ByteString)
-> (("pLayerPrefix" ::: Ptr CChar) -> IO ()) -> IO ()
forall a.
("layerPrefix" ::: ByteString)
-> (("pLayerPrefix" ::: Ptr CChar) -> IO a) -> IO a
useAsCString ("layerPrefix" ::: ByteString
layerPrefix)
"pLayerPrefix" ::: Ptr CChar
pMessage <- ((("pLayerPrefix" ::: Ptr CChar) -> IO ()) -> IO ())
-> ContT () IO ("pLayerPrefix" ::: Ptr CChar)
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((("pLayerPrefix" ::: Ptr CChar) -> IO ()) -> IO ())
-> ContT () IO ("pLayerPrefix" ::: Ptr CChar))
-> ((("pLayerPrefix" ::: Ptr CChar) -> IO ()) -> IO ())
-> ContT () IO ("pLayerPrefix" ::: Ptr CChar)
forall a b. (a -> b) -> a -> b
$ ("layerPrefix" ::: ByteString)
-> (("pLayerPrefix" ::: Ptr CChar) -> IO ()) -> IO ()
forall a.
("layerPrefix" ::: ByteString)
-> (("pLayerPrefix" ::: Ptr CChar) -> IO a) -> IO a
useAsCString ("layerPrefix" ::: ByteString
message)
IO () -> ContT () IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT () IO ()) -> IO () -> ContT () IO ()
forall a b. (a -> b) -> a -> b
$ String -> IO () -> IO ()
forall a. String -> IO a -> IO a
traceAroundEvent "vkDebugReportMessageEXT" (Ptr Instance_T
-> DebugReportFlagsEXT
-> DebugReportObjectTypeEXT
-> ("object" ::: Word64)
-> ("location" ::: CSize)
-> ("messageCode" ::: Int32)
-> ("pLayerPrefix" ::: Ptr CChar)
-> ("pLayerPrefix" ::: Ptr CChar)
-> IO ()
vkDebugReportMessageEXT' (Instance -> Ptr Instance_T
instanceHandle (Instance
instance')) (DebugReportFlagsEXT
flags) (DebugReportObjectTypeEXT
objectType) ("object" ::: Word64
object) (("object" ::: Word64) -> "location" ::: CSize
CSize ("object" ::: Word64
location)) ("messageCode" ::: Int32
messageCode) "pLayerPrefix" ::: Ptr CChar
pLayerPrefix "pLayerPrefix" ::: Ptr CChar
pMessage)
() -> ContT () IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure (() -> ContT () IO ()) -> () -> ContT () IO ()
forall a b. (a -> b) -> a -> b
$ ()
pattern $bSTRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT :: StructureType
$mSTRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT :: forall r. StructureType -> (Void# -> r) -> (Void# -> r) -> r
STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT
pattern $bDEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT :: DebugReportObjectTypeEXT
$mDEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT :: forall r.
DebugReportObjectTypeEXT -> (Void# -> r) -> (Void# -> r) -> r
DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT
pattern $bDEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT :: DebugReportObjectTypeEXT
$mDEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT :: forall r.
DebugReportObjectTypeEXT -> (Void# -> r) -> (Void# -> r) -> r
DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT
data DebugReportCallbackCreateInfoEXT = DebugReportCallbackCreateInfoEXT
{
DebugReportCallbackCreateInfoEXT -> DebugReportFlagsEXT
flags :: DebugReportFlagsEXT
,
DebugReportCallbackCreateInfoEXT -> PFN_vkDebugReportCallbackEXT
pfnCallback :: PFN_vkDebugReportCallbackEXT
,
DebugReportCallbackCreateInfoEXT -> Ptr ()
userData :: Ptr ()
}
deriving (Typeable)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (DebugReportCallbackCreateInfoEXT)
#endif
deriving instance Show DebugReportCallbackCreateInfoEXT
instance ToCStruct DebugReportCallbackCreateInfoEXT where
withCStruct :: DebugReportCallbackCreateInfoEXT
-> (("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT)
-> IO b)
-> IO b
withCStruct x :: DebugReportCallbackCreateInfoEXT
x f :: ("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT) -> IO b
f = Int
-> Int
-> (("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT)
-> IO b)
-> IO b
forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b
allocaBytesAligned 40 8 ((("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT) -> IO b)
-> IO b)
-> (("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT)
-> IO b)
-> IO b
forall a b. (a -> b) -> a -> b
$ \p :: "pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT
p -> ("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT)
-> DebugReportCallbackCreateInfoEXT -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct "pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT
p DebugReportCallbackCreateInfoEXT
x (("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT) -> IO b
f "pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT
p)
pokeCStruct :: ("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT)
-> DebugReportCallbackCreateInfoEXT -> IO b -> IO b
pokeCStruct p :: "pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT
p DebugReportCallbackCreateInfoEXT{..} f :: IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT
p ("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT)
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT
p ("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT)
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr DebugReportFlagsEXT -> DebugReportFlagsEXT -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT
p ("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT)
-> Int -> Ptr DebugReportFlagsEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16 :: Ptr DebugReportFlagsEXT)) (DebugReportFlagsEXT
flags)
Ptr PFN_vkDebugReportCallbackEXT
-> PFN_vkDebugReportCallbackEXT -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT
p ("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT)
-> Int -> Ptr PFN_vkDebugReportCallbackEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 24 :: Ptr PFN_vkDebugReportCallbackEXT)) (PFN_vkDebugReportCallbackEXT
pfnCallback)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT
p ("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT)
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 32 :: Ptr (Ptr ()))) (Ptr ()
userData)
IO b
f
cStructSize :: Int
cStructSize = 40
cStructAlignment :: Int
cStructAlignment = 8
pokeZeroCStruct :: ("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT)
-> IO b -> IO b
pokeZeroCStruct p :: "pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT
p f :: IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT
p ("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT)
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT
p ("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT)
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr PFN_vkDebugReportCallbackEXT
-> PFN_vkDebugReportCallbackEXT -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT
p ("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT)
-> Int -> Ptr PFN_vkDebugReportCallbackEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 24 :: Ptr PFN_vkDebugReportCallbackEXT)) (PFN_vkDebugReportCallbackEXT
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct DebugReportCallbackCreateInfoEXT where
peekCStruct :: ("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT)
-> IO DebugReportCallbackCreateInfoEXT
peekCStruct p :: "pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT
p = do
DebugReportFlagsEXT
flags <- Ptr DebugReportFlagsEXT -> IO DebugReportFlagsEXT
forall a. Storable a => Ptr a -> IO a
peek @DebugReportFlagsEXT (("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT
p ("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT)
-> Int -> Ptr DebugReportFlagsEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16 :: Ptr DebugReportFlagsEXT))
PFN_vkDebugReportCallbackEXT
pfnCallback <- Ptr PFN_vkDebugReportCallbackEXT -> IO PFN_vkDebugReportCallbackEXT
forall a. Storable a => Ptr a -> IO a
peek @PFN_vkDebugReportCallbackEXT (("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT
p ("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT)
-> Int -> Ptr PFN_vkDebugReportCallbackEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 24 :: Ptr PFN_vkDebugReportCallbackEXT))
Ptr ()
pUserData <- Ptr (Ptr ()) -> IO (Ptr ())
forall a. Storable a => Ptr a -> IO a
peek @(Ptr ()) (("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT
p ("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT)
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 32 :: Ptr (Ptr ())))
DebugReportCallbackCreateInfoEXT
-> IO DebugReportCallbackCreateInfoEXT
forall (f :: * -> *) a. Applicative f => a -> f a
pure (DebugReportCallbackCreateInfoEXT
-> IO DebugReportCallbackCreateInfoEXT)
-> DebugReportCallbackCreateInfoEXT
-> IO DebugReportCallbackCreateInfoEXT
forall a b. (a -> b) -> a -> b
$ DebugReportFlagsEXT
-> PFN_vkDebugReportCallbackEXT
-> Ptr ()
-> DebugReportCallbackCreateInfoEXT
DebugReportCallbackCreateInfoEXT
DebugReportFlagsEXT
flags PFN_vkDebugReportCallbackEXT
pfnCallback Ptr ()
pUserData
instance Storable DebugReportCallbackCreateInfoEXT where
sizeOf :: DebugReportCallbackCreateInfoEXT -> Int
sizeOf ~DebugReportCallbackCreateInfoEXT
_ = 40
alignment :: DebugReportCallbackCreateInfoEXT -> Int
alignment ~DebugReportCallbackCreateInfoEXT
_ = 8
peek :: ("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT)
-> IO DebugReportCallbackCreateInfoEXT
peek = ("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT)
-> IO DebugReportCallbackCreateInfoEXT
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: ("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT)
-> DebugReportCallbackCreateInfoEXT -> IO ()
poke ptr :: "pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT
ptr poked :: DebugReportCallbackCreateInfoEXT
poked = ("pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT)
-> DebugReportCallbackCreateInfoEXT -> IO () -> IO ()
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct "pCreateInfo" ::: Ptr DebugReportCallbackCreateInfoEXT
ptr DebugReportCallbackCreateInfoEXT
poked (() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero DebugReportCallbackCreateInfoEXT where
zero :: DebugReportCallbackCreateInfoEXT
zero = DebugReportFlagsEXT
-> PFN_vkDebugReportCallbackEXT
-> Ptr ()
-> DebugReportCallbackCreateInfoEXT
DebugReportCallbackCreateInfoEXT
DebugReportFlagsEXT
forall a. Zero a => a
zero
PFN_vkDebugReportCallbackEXT
forall a. Zero a => a
zero
Ptr ()
forall a. Zero a => a
zero
type DebugReportFlagsEXT = DebugReportFlagBitsEXT
newtype DebugReportFlagBitsEXT = DebugReportFlagBitsEXT Flags
deriving newtype (DebugReportFlagsEXT -> DebugReportFlagsEXT -> Bool
(DebugReportFlagsEXT -> DebugReportFlagsEXT -> Bool)
-> (DebugReportFlagsEXT -> DebugReportFlagsEXT -> Bool)
-> Eq DebugReportFlagsEXT
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DebugReportFlagsEXT -> DebugReportFlagsEXT -> Bool
$c/= :: DebugReportFlagsEXT -> DebugReportFlagsEXT -> Bool
== :: DebugReportFlagsEXT -> DebugReportFlagsEXT -> Bool
$c== :: DebugReportFlagsEXT -> DebugReportFlagsEXT -> Bool
Eq, Eq DebugReportFlagsEXT
Eq DebugReportFlagsEXT =>
(DebugReportFlagsEXT -> DebugReportFlagsEXT -> Ordering)
-> (DebugReportFlagsEXT -> DebugReportFlagsEXT -> Bool)
-> (DebugReportFlagsEXT -> DebugReportFlagsEXT -> Bool)
-> (DebugReportFlagsEXT -> DebugReportFlagsEXT -> Bool)
-> (DebugReportFlagsEXT -> DebugReportFlagsEXT -> Bool)
-> (DebugReportFlagsEXT
-> DebugReportFlagsEXT -> DebugReportFlagsEXT)
-> (DebugReportFlagsEXT
-> DebugReportFlagsEXT -> DebugReportFlagsEXT)
-> Ord DebugReportFlagsEXT
DebugReportFlagsEXT -> DebugReportFlagsEXT -> Bool
DebugReportFlagsEXT -> DebugReportFlagsEXT -> Ordering
DebugReportFlagsEXT -> DebugReportFlagsEXT -> DebugReportFlagsEXT
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: DebugReportFlagsEXT -> DebugReportFlagsEXT -> DebugReportFlagsEXT
$cmin :: DebugReportFlagsEXT -> DebugReportFlagsEXT -> DebugReportFlagsEXT
max :: DebugReportFlagsEXT -> DebugReportFlagsEXT -> DebugReportFlagsEXT
$cmax :: DebugReportFlagsEXT -> DebugReportFlagsEXT -> DebugReportFlagsEXT
>= :: DebugReportFlagsEXT -> DebugReportFlagsEXT -> Bool
$c>= :: DebugReportFlagsEXT -> DebugReportFlagsEXT -> Bool
> :: DebugReportFlagsEXT -> DebugReportFlagsEXT -> Bool
$c> :: DebugReportFlagsEXT -> DebugReportFlagsEXT -> Bool
<= :: DebugReportFlagsEXT -> DebugReportFlagsEXT -> Bool
$c<= :: DebugReportFlagsEXT -> DebugReportFlagsEXT -> Bool
< :: DebugReportFlagsEXT -> DebugReportFlagsEXT -> Bool
$c< :: DebugReportFlagsEXT -> DebugReportFlagsEXT -> Bool
compare :: DebugReportFlagsEXT -> DebugReportFlagsEXT -> Ordering
$ccompare :: DebugReportFlagsEXT -> DebugReportFlagsEXT -> Ordering
$cp1Ord :: Eq DebugReportFlagsEXT
Ord, Ptr b -> Int -> IO DebugReportFlagsEXT
Ptr b -> Int -> DebugReportFlagsEXT -> IO ()
Ptr DebugReportFlagsEXT -> IO DebugReportFlagsEXT
Ptr DebugReportFlagsEXT -> Int -> IO DebugReportFlagsEXT
Ptr DebugReportFlagsEXT -> Int -> DebugReportFlagsEXT -> IO ()
Ptr DebugReportFlagsEXT -> DebugReportFlagsEXT -> IO ()
DebugReportFlagsEXT -> Int
(DebugReportFlagsEXT -> Int)
-> (DebugReportFlagsEXT -> Int)
-> (Ptr DebugReportFlagsEXT -> Int -> IO DebugReportFlagsEXT)
-> (Ptr DebugReportFlagsEXT -> Int -> DebugReportFlagsEXT -> IO ())
-> (forall b. Ptr b -> Int -> IO DebugReportFlagsEXT)
-> (forall b. Ptr b -> Int -> DebugReportFlagsEXT -> IO ())
-> (Ptr DebugReportFlagsEXT -> IO DebugReportFlagsEXT)
-> (Ptr DebugReportFlagsEXT -> DebugReportFlagsEXT -> IO ())
-> Storable DebugReportFlagsEXT
forall b. Ptr b -> Int -> IO DebugReportFlagsEXT
forall b. Ptr b -> Int -> DebugReportFlagsEXT -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
poke :: Ptr DebugReportFlagsEXT -> DebugReportFlagsEXT -> IO ()
$cpoke :: Ptr DebugReportFlagsEXT -> DebugReportFlagsEXT -> IO ()
peek :: Ptr DebugReportFlagsEXT -> IO DebugReportFlagsEXT
$cpeek :: Ptr DebugReportFlagsEXT -> IO DebugReportFlagsEXT
pokeByteOff :: Ptr b -> Int -> DebugReportFlagsEXT -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> DebugReportFlagsEXT -> IO ()
peekByteOff :: Ptr b -> Int -> IO DebugReportFlagsEXT
$cpeekByteOff :: forall b. Ptr b -> Int -> IO DebugReportFlagsEXT
pokeElemOff :: Ptr DebugReportFlagsEXT -> Int -> DebugReportFlagsEXT -> IO ()
$cpokeElemOff :: Ptr DebugReportFlagsEXT -> Int -> DebugReportFlagsEXT -> IO ()
peekElemOff :: Ptr DebugReportFlagsEXT -> Int -> IO DebugReportFlagsEXT
$cpeekElemOff :: Ptr DebugReportFlagsEXT -> Int -> IO DebugReportFlagsEXT
alignment :: DebugReportFlagsEXT -> Int
$calignment :: DebugReportFlagsEXT -> Int
sizeOf :: DebugReportFlagsEXT -> Int
$csizeOf :: DebugReportFlagsEXT -> Int
Storable, DebugReportFlagsEXT
DebugReportFlagsEXT -> Zero DebugReportFlagsEXT
forall a. a -> Zero a
zero :: DebugReportFlagsEXT
$czero :: DebugReportFlagsEXT
Zero, Eq DebugReportFlagsEXT
DebugReportFlagsEXT
Eq DebugReportFlagsEXT =>
(DebugReportFlagsEXT -> DebugReportFlagsEXT -> DebugReportFlagsEXT)
-> (DebugReportFlagsEXT
-> DebugReportFlagsEXT -> DebugReportFlagsEXT)
-> (DebugReportFlagsEXT
-> DebugReportFlagsEXT -> DebugReportFlagsEXT)
-> (DebugReportFlagsEXT -> DebugReportFlagsEXT)
-> (DebugReportFlagsEXT -> Int -> DebugReportFlagsEXT)
-> (DebugReportFlagsEXT -> Int -> DebugReportFlagsEXT)
-> DebugReportFlagsEXT
-> (Int -> DebugReportFlagsEXT)
-> (DebugReportFlagsEXT -> Int -> DebugReportFlagsEXT)
-> (DebugReportFlagsEXT -> Int -> DebugReportFlagsEXT)
-> (DebugReportFlagsEXT -> Int -> DebugReportFlagsEXT)
-> (DebugReportFlagsEXT -> Int -> Bool)
-> (DebugReportFlagsEXT -> Maybe Int)
-> (DebugReportFlagsEXT -> Int)
-> (DebugReportFlagsEXT -> Bool)
-> (DebugReportFlagsEXT -> Int -> DebugReportFlagsEXT)
-> (DebugReportFlagsEXT -> Int -> DebugReportFlagsEXT)
-> (DebugReportFlagsEXT -> Int -> DebugReportFlagsEXT)
-> (DebugReportFlagsEXT -> Int -> DebugReportFlagsEXT)
-> (DebugReportFlagsEXT -> Int -> DebugReportFlagsEXT)
-> (DebugReportFlagsEXT -> Int -> DebugReportFlagsEXT)
-> (DebugReportFlagsEXT -> Int)
-> Bits DebugReportFlagsEXT
Int -> DebugReportFlagsEXT
DebugReportFlagsEXT -> Bool
DebugReportFlagsEXT -> Int
DebugReportFlagsEXT -> Maybe Int
DebugReportFlagsEXT -> DebugReportFlagsEXT
DebugReportFlagsEXT -> Int -> Bool
DebugReportFlagsEXT -> Int -> DebugReportFlagsEXT
DebugReportFlagsEXT -> DebugReportFlagsEXT -> DebugReportFlagsEXT
forall a.
Eq a =>
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> a
-> (Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> Bool)
-> (a -> Maybe Int)
-> (a -> Int)
-> (a -> Bool)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int)
-> Bits a
popCount :: DebugReportFlagsEXT -> Int
$cpopCount :: DebugReportFlagsEXT -> Int
rotateR :: DebugReportFlagsEXT -> Int -> DebugReportFlagsEXT
$crotateR :: DebugReportFlagsEXT -> Int -> DebugReportFlagsEXT
rotateL :: DebugReportFlagsEXT -> Int -> DebugReportFlagsEXT
$crotateL :: DebugReportFlagsEXT -> Int -> DebugReportFlagsEXT
unsafeShiftR :: DebugReportFlagsEXT -> Int -> DebugReportFlagsEXT
$cunsafeShiftR :: DebugReportFlagsEXT -> Int -> DebugReportFlagsEXT
shiftR :: DebugReportFlagsEXT -> Int -> DebugReportFlagsEXT
$cshiftR :: DebugReportFlagsEXT -> Int -> DebugReportFlagsEXT
unsafeShiftL :: DebugReportFlagsEXT -> Int -> DebugReportFlagsEXT
$cunsafeShiftL :: DebugReportFlagsEXT -> Int -> DebugReportFlagsEXT
shiftL :: DebugReportFlagsEXT -> Int -> DebugReportFlagsEXT
$cshiftL :: DebugReportFlagsEXT -> Int -> DebugReportFlagsEXT
isSigned :: DebugReportFlagsEXT -> Bool
$cisSigned :: DebugReportFlagsEXT -> Bool
bitSize :: DebugReportFlagsEXT -> Int
$cbitSize :: DebugReportFlagsEXT -> Int
bitSizeMaybe :: DebugReportFlagsEXT -> Maybe Int
$cbitSizeMaybe :: DebugReportFlagsEXT -> Maybe Int
testBit :: DebugReportFlagsEXT -> Int -> Bool
$ctestBit :: DebugReportFlagsEXT -> Int -> Bool
complementBit :: DebugReportFlagsEXT -> Int -> DebugReportFlagsEXT
$ccomplementBit :: DebugReportFlagsEXT -> Int -> DebugReportFlagsEXT
clearBit :: DebugReportFlagsEXT -> Int -> DebugReportFlagsEXT
$cclearBit :: DebugReportFlagsEXT -> Int -> DebugReportFlagsEXT
setBit :: DebugReportFlagsEXT -> Int -> DebugReportFlagsEXT
$csetBit :: DebugReportFlagsEXT -> Int -> DebugReportFlagsEXT
bit :: Int -> DebugReportFlagsEXT
$cbit :: Int -> DebugReportFlagsEXT
zeroBits :: DebugReportFlagsEXT
$czeroBits :: DebugReportFlagsEXT
rotate :: DebugReportFlagsEXT -> Int -> DebugReportFlagsEXT
$crotate :: DebugReportFlagsEXT -> Int -> DebugReportFlagsEXT
shift :: DebugReportFlagsEXT -> Int -> DebugReportFlagsEXT
$cshift :: DebugReportFlagsEXT -> Int -> DebugReportFlagsEXT
complement :: DebugReportFlagsEXT -> DebugReportFlagsEXT
$ccomplement :: DebugReportFlagsEXT -> DebugReportFlagsEXT
xor :: DebugReportFlagsEXT -> DebugReportFlagsEXT -> DebugReportFlagsEXT
$cxor :: DebugReportFlagsEXT -> DebugReportFlagsEXT -> DebugReportFlagsEXT
.|. :: DebugReportFlagsEXT -> DebugReportFlagsEXT -> DebugReportFlagsEXT
$c.|. :: DebugReportFlagsEXT -> DebugReportFlagsEXT -> DebugReportFlagsEXT
.&. :: DebugReportFlagsEXT -> DebugReportFlagsEXT -> DebugReportFlagsEXT
$c.&. :: DebugReportFlagsEXT -> DebugReportFlagsEXT -> DebugReportFlagsEXT
$cp1Bits :: Eq DebugReportFlagsEXT
Bits, Bits DebugReportFlagsEXT
Bits DebugReportFlagsEXT =>
(DebugReportFlagsEXT -> Int)
-> (DebugReportFlagsEXT -> Int)
-> (DebugReportFlagsEXT -> Int)
-> FiniteBits DebugReportFlagsEXT
DebugReportFlagsEXT -> Int
forall b.
Bits b =>
(b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
countTrailingZeros :: DebugReportFlagsEXT -> Int
$ccountTrailingZeros :: DebugReportFlagsEXT -> Int
countLeadingZeros :: DebugReportFlagsEXT -> Int
$ccountLeadingZeros :: DebugReportFlagsEXT -> Int
finiteBitSize :: DebugReportFlagsEXT -> Int
$cfiniteBitSize :: DebugReportFlagsEXT -> Int
$cp1FiniteBits :: Bits DebugReportFlagsEXT
FiniteBits)
pattern $bDEBUG_REPORT_INFORMATION_BIT_EXT :: DebugReportFlagsEXT
$mDEBUG_REPORT_INFORMATION_BIT_EXT :: forall r. DebugReportFlagsEXT -> (Void# -> r) -> (Void# -> r) -> r
DEBUG_REPORT_INFORMATION_BIT_EXT = DebugReportFlagBitsEXT 0x00000001
pattern $bDEBUG_REPORT_WARNING_BIT_EXT :: DebugReportFlagsEXT
$mDEBUG_REPORT_WARNING_BIT_EXT :: forall r. DebugReportFlagsEXT -> (Void# -> r) -> (Void# -> r) -> r
DEBUG_REPORT_WARNING_BIT_EXT = DebugReportFlagBitsEXT 0x00000002
pattern $bDEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT :: DebugReportFlagsEXT
$mDEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT :: forall r. DebugReportFlagsEXT -> (Void# -> r) -> (Void# -> r) -> r
DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = DebugReportFlagBitsEXT 0x00000004
pattern $bDEBUG_REPORT_ERROR_BIT_EXT :: DebugReportFlagsEXT
$mDEBUG_REPORT_ERROR_BIT_EXT :: forall r. DebugReportFlagsEXT -> (Void# -> r) -> (Void# -> r) -> r
DEBUG_REPORT_ERROR_BIT_EXT = DebugReportFlagBitsEXT 0x00000008
pattern $bDEBUG_REPORT_DEBUG_BIT_EXT :: DebugReportFlagsEXT
$mDEBUG_REPORT_DEBUG_BIT_EXT :: forall r. DebugReportFlagsEXT -> (Void# -> r) -> (Void# -> r) -> r
DEBUG_REPORT_DEBUG_BIT_EXT = DebugReportFlagBitsEXT 0x00000010
conNameDebugReportFlagBitsEXT :: String
conNameDebugReportFlagBitsEXT :: String
conNameDebugReportFlagBitsEXT = "DebugReportFlagBitsEXT"
enumPrefixDebugReportFlagBitsEXT :: String
enumPrefixDebugReportFlagBitsEXT :: String
enumPrefixDebugReportFlagBitsEXT = "DEBUG_REPORT_"
showTableDebugReportFlagBitsEXT :: [(DebugReportFlagBitsEXT, String)]
showTableDebugReportFlagBitsEXT :: [(DebugReportFlagsEXT, String)]
showTableDebugReportFlagBitsEXT =
[ (DebugReportFlagsEXT
DEBUG_REPORT_INFORMATION_BIT_EXT , "INFORMATION_BIT_EXT")
, (DebugReportFlagsEXT
DEBUG_REPORT_WARNING_BIT_EXT , "WARNING_BIT_EXT")
, (DebugReportFlagsEXT
DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT, "PERFORMANCE_WARNING_BIT_EXT")
, (DebugReportFlagsEXT
DEBUG_REPORT_ERROR_BIT_EXT , "ERROR_BIT_EXT")
, (DebugReportFlagsEXT
DEBUG_REPORT_DEBUG_BIT_EXT , "DEBUG_BIT_EXT")
]
instance Show DebugReportFlagBitsEXT where
showsPrec :: Int -> DebugReportFlagsEXT -> ShowS
showsPrec = String
-> [(DebugReportFlagsEXT, String)]
-> String
-> (DebugReportFlagsEXT -> Flags)
-> (Flags -> ShowS)
-> Int
-> DebugReportFlagsEXT
-> ShowS
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec String
enumPrefixDebugReportFlagBitsEXT
[(DebugReportFlagsEXT, String)]
showTableDebugReportFlagBitsEXT
String
conNameDebugReportFlagBitsEXT
(\(DebugReportFlagBitsEXT x :: Flags
x) -> Flags
x)
(\x :: Flags
x -> String -> ShowS
showString "0x" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Flags -> ShowS
forall a. (Integral a, Show a) => a -> ShowS
showHex Flags
x)
instance Read DebugReportFlagBitsEXT where
readPrec :: ReadPrec DebugReportFlagsEXT
readPrec = String
-> [(DebugReportFlagsEXT, String)]
-> String
-> (Flags -> DebugReportFlagsEXT)
-> ReadPrec DebugReportFlagsEXT
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec String
enumPrefixDebugReportFlagBitsEXT
[(DebugReportFlagsEXT, String)]
showTableDebugReportFlagBitsEXT
String
conNameDebugReportFlagBitsEXT
Flags -> DebugReportFlagsEXT
DebugReportFlagBitsEXT
newtype DebugReportObjectTypeEXT = DebugReportObjectTypeEXT Int32
deriving newtype (DebugReportObjectTypeEXT -> DebugReportObjectTypeEXT -> Bool
(DebugReportObjectTypeEXT -> DebugReportObjectTypeEXT -> Bool)
-> (DebugReportObjectTypeEXT -> DebugReportObjectTypeEXT -> Bool)
-> Eq DebugReportObjectTypeEXT
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DebugReportObjectTypeEXT -> DebugReportObjectTypeEXT -> Bool
$c/= :: DebugReportObjectTypeEXT -> DebugReportObjectTypeEXT -> Bool
== :: DebugReportObjectTypeEXT -> DebugReportObjectTypeEXT -> Bool
$c== :: DebugReportObjectTypeEXT -> DebugReportObjectTypeEXT -> Bool
Eq, Eq DebugReportObjectTypeEXT
Eq DebugReportObjectTypeEXT =>
(DebugReportObjectTypeEXT -> DebugReportObjectTypeEXT -> Ordering)
-> (DebugReportObjectTypeEXT -> DebugReportObjectTypeEXT -> Bool)
-> (DebugReportObjectTypeEXT -> DebugReportObjectTypeEXT -> Bool)
-> (DebugReportObjectTypeEXT -> DebugReportObjectTypeEXT -> Bool)
-> (DebugReportObjectTypeEXT -> DebugReportObjectTypeEXT -> Bool)
-> (DebugReportObjectTypeEXT
-> DebugReportObjectTypeEXT -> DebugReportObjectTypeEXT)
-> (DebugReportObjectTypeEXT
-> DebugReportObjectTypeEXT -> DebugReportObjectTypeEXT)
-> Ord DebugReportObjectTypeEXT
DebugReportObjectTypeEXT -> DebugReportObjectTypeEXT -> Bool
DebugReportObjectTypeEXT -> DebugReportObjectTypeEXT -> Ordering
DebugReportObjectTypeEXT
-> DebugReportObjectTypeEXT -> DebugReportObjectTypeEXT
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: DebugReportObjectTypeEXT
-> DebugReportObjectTypeEXT -> DebugReportObjectTypeEXT
$cmin :: DebugReportObjectTypeEXT
-> DebugReportObjectTypeEXT -> DebugReportObjectTypeEXT
max :: DebugReportObjectTypeEXT
-> DebugReportObjectTypeEXT -> DebugReportObjectTypeEXT
$cmax :: DebugReportObjectTypeEXT
-> DebugReportObjectTypeEXT -> DebugReportObjectTypeEXT
>= :: DebugReportObjectTypeEXT -> DebugReportObjectTypeEXT -> Bool
$c>= :: DebugReportObjectTypeEXT -> DebugReportObjectTypeEXT -> Bool
> :: DebugReportObjectTypeEXT -> DebugReportObjectTypeEXT -> Bool
$c> :: DebugReportObjectTypeEXT -> DebugReportObjectTypeEXT -> Bool
<= :: DebugReportObjectTypeEXT -> DebugReportObjectTypeEXT -> Bool
$c<= :: DebugReportObjectTypeEXT -> DebugReportObjectTypeEXT -> Bool
< :: DebugReportObjectTypeEXT -> DebugReportObjectTypeEXT -> Bool
$c< :: DebugReportObjectTypeEXT -> DebugReportObjectTypeEXT -> Bool
compare :: DebugReportObjectTypeEXT -> DebugReportObjectTypeEXT -> Ordering
$ccompare :: DebugReportObjectTypeEXT -> DebugReportObjectTypeEXT -> Ordering
$cp1Ord :: Eq DebugReportObjectTypeEXT
Ord, Ptr b -> Int -> IO DebugReportObjectTypeEXT
Ptr b -> Int -> DebugReportObjectTypeEXT -> IO ()
Ptr DebugReportObjectTypeEXT -> IO DebugReportObjectTypeEXT
Ptr DebugReportObjectTypeEXT -> Int -> IO DebugReportObjectTypeEXT
Ptr DebugReportObjectTypeEXT
-> Int -> DebugReportObjectTypeEXT -> IO ()
Ptr DebugReportObjectTypeEXT -> DebugReportObjectTypeEXT -> IO ()
DebugReportObjectTypeEXT -> Int
(DebugReportObjectTypeEXT -> Int)
-> (DebugReportObjectTypeEXT -> Int)
-> (Ptr DebugReportObjectTypeEXT
-> Int -> IO DebugReportObjectTypeEXT)
-> (Ptr DebugReportObjectTypeEXT
-> Int -> DebugReportObjectTypeEXT -> IO ())
-> (forall b. Ptr b -> Int -> IO DebugReportObjectTypeEXT)
-> (forall b. Ptr b -> Int -> DebugReportObjectTypeEXT -> IO ())
-> (Ptr DebugReportObjectTypeEXT -> IO DebugReportObjectTypeEXT)
-> (Ptr DebugReportObjectTypeEXT
-> DebugReportObjectTypeEXT -> IO ())
-> Storable DebugReportObjectTypeEXT
forall b. Ptr b -> Int -> IO DebugReportObjectTypeEXT
forall b. Ptr b -> Int -> DebugReportObjectTypeEXT -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
poke :: Ptr DebugReportObjectTypeEXT -> DebugReportObjectTypeEXT -> IO ()
$cpoke :: Ptr DebugReportObjectTypeEXT -> DebugReportObjectTypeEXT -> IO ()
peek :: Ptr DebugReportObjectTypeEXT -> IO DebugReportObjectTypeEXT
$cpeek :: Ptr DebugReportObjectTypeEXT -> IO DebugReportObjectTypeEXT
pokeByteOff :: Ptr b -> Int -> DebugReportObjectTypeEXT -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> DebugReportObjectTypeEXT -> IO ()
peekByteOff :: Ptr b -> Int -> IO DebugReportObjectTypeEXT
$cpeekByteOff :: forall b. Ptr b -> Int -> IO DebugReportObjectTypeEXT
pokeElemOff :: Ptr DebugReportObjectTypeEXT
-> Int -> DebugReportObjectTypeEXT -> IO ()
$cpokeElemOff :: Ptr DebugReportObjectTypeEXT
-> Int -> DebugReportObjectTypeEXT -> IO ()
peekElemOff :: Ptr DebugReportObjectTypeEXT -> Int -> IO DebugReportObjectTypeEXT
$cpeekElemOff :: Ptr DebugReportObjectTypeEXT -> Int -> IO DebugReportObjectTypeEXT
alignment :: DebugReportObjectTypeEXT -> Int
$calignment :: DebugReportObjectTypeEXT -> Int
sizeOf :: DebugReportObjectTypeEXT -> Int
$csizeOf :: DebugReportObjectTypeEXT -> Int
Storable, DebugReportObjectTypeEXT
DebugReportObjectTypeEXT -> Zero DebugReportObjectTypeEXT
forall a. a -> Zero a
zero :: DebugReportObjectTypeEXT
$czero :: DebugReportObjectTypeEXT
Zero)
pattern $bDEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT :: DebugReportObjectTypeEXT
$mDEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT :: forall r.
DebugReportObjectTypeEXT -> (Void# -> r) -> (Void# -> r) -> r
DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = DebugReportObjectTypeEXT 0
pattern $bDEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT :: DebugReportObjectTypeEXT
$mDEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT :: forall r.
DebugReportObjectTypeEXT -> (Void# -> r) -> (Void# -> r) -> r
DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = DebugReportObjectTypeEXT 1
pattern $bDEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT :: DebugReportObjectTypeEXT
$mDEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT :: forall r.
DebugReportObjectTypeEXT -> (Void# -> r) -> (Void# -> r) -> r
DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = DebugReportObjectTypeEXT 2
pattern $bDEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT :: DebugReportObjectTypeEXT
$mDEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT :: forall r.
DebugReportObjectTypeEXT -> (Void# -> r) -> (Void# -> r) -> r
DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = DebugReportObjectTypeEXT 3
pattern $bDEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT :: DebugReportObjectTypeEXT
$mDEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT :: forall r.
DebugReportObjectTypeEXT -> (Void# -> r) -> (Void# -> r) -> r
DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = DebugReportObjectTypeEXT 4
pattern $bDEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT :: DebugReportObjectTypeEXT
$mDEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT :: forall r.
DebugReportObjectTypeEXT -> (Void# -> r) -> (Void# -> r) -> r
DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = DebugReportObjectTypeEXT 5
pattern $bDEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT :: DebugReportObjectTypeEXT
$mDEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT :: forall r.
DebugReportObjectTypeEXT -> (Void# -> r) -> (Void# -> r) -> r
DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = DebugReportObjectTypeEXT 6
pattern $bDEBUG_REPORT_OBJECT_TYPE_FENCE_EXT :: DebugReportObjectTypeEXT
$mDEBUG_REPORT_OBJECT_TYPE_FENCE_EXT :: forall r.
DebugReportObjectTypeEXT -> (Void# -> r) -> (Void# -> r) -> r
DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = DebugReportObjectTypeEXT 7
pattern $bDEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT :: DebugReportObjectTypeEXT
$mDEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT :: forall r.
DebugReportObjectTypeEXT -> (Void# -> r) -> (Void# -> r) -> r
DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = DebugReportObjectTypeEXT 8
pattern $bDEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT :: DebugReportObjectTypeEXT
$mDEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT :: forall r.
DebugReportObjectTypeEXT -> (Void# -> r) -> (Void# -> r) -> r
DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = DebugReportObjectTypeEXT 9
pattern $bDEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT :: DebugReportObjectTypeEXT
$mDEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT :: forall r.
DebugReportObjectTypeEXT -> (Void# -> r) -> (Void# -> r) -> r
DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = DebugReportObjectTypeEXT 10
pattern $bDEBUG_REPORT_OBJECT_TYPE_EVENT_EXT :: DebugReportObjectTypeEXT
$mDEBUG_REPORT_OBJECT_TYPE_EVENT_EXT :: forall r.
DebugReportObjectTypeEXT -> (Void# -> r) -> (Void# -> r) -> r
DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = DebugReportObjectTypeEXT 11
pattern $bDEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT :: DebugReportObjectTypeEXT
$mDEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT :: forall r.
DebugReportObjectTypeEXT -> (Void# -> r) -> (Void# -> r) -> r
DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = DebugReportObjectTypeEXT 12
pattern $bDEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT :: DebugReportObjectTypeEXT
$mDEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT :: forall r.
DebugReportObjectTypeEXT -> (Void# -> r) -> (Void# -> r) -> r
DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = DebugReportObjectTypeEXT 13
pattern $bDEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT :: DebugReportObjectTypeEXT
$mDEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT :: forall r.
DebugReportObjectTypeEXT -> (Void# -> r) -> (Void# -> r) -> r
DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = DebugReportObjectTypeEXT 14
pattern $bDEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT :: DebugReportObjectTypeEXT
$mDEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT :: forall r.
DebugReportObjectTypeEXT -> (Void# -> r) -> (Void# -> r) -> r
DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = DebugReportObjectTypeEXT 15
pattern $bDEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT :: DebugReportObjectTypeEXT
$mDEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT :: forall r.
DebugReportObjectTypeEXT -> (Void# -> r) -> (Void# -> r) -> r
DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = DebugReportObjectTypeEXT 16
pattern $bDEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT :: DebugReportObjectTypeEXT
$mDEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT :: forall r.
DebugReportObjectTypeEXT -> (Void# -> r) -> (Void# -> r) -> r
DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = DebugReportObjectTypeEXT 17
pattern $bDEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT :: DebugReportObjectTypeEXT
$mDEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT :: forall r.
DebugReportObjectTypeEXT -> (Void# -> r) -> (Void# -> r) -> r
DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = DebugReportObjectTypeEXT 18
pattern $bDEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT :: DebugReportObjectTypeEXT
$mDEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT :: forall r.
DebugReportObjectTypeEXT -> (Void# -> r) -> (Void# -> r) -> r
DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = DebugReportObjectTypeEXT 19
pattern $bDEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT :: DebugReportObjectTypeEXT
$mDEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT :: forall r.
DebugReportObjectTypeEXT -> (Void# -> r) -> (Void# -> r) -> r
DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = DebugReportObjectTypeEXT 20
pattern $bDEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT :: DebugReportObjectTypeEXT
$mDEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT :: forall r.
DebugReportObjectTypeEXT -> (Void# -> r) -> (Void# -> r) -> r
DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = DebugReportObjectTypeEXT 21
pattern $bDEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT :: DebugReportObjectTypeEXT
$mDEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT :: forall r.
DebugReportObjectTypeEXT -> (Void# -> r) -> (Void# -> r) -> r
DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = DebugReportObjectTypeEXT 22
pattern $bDEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT :: DebugReportObjectTypeEXT
$mDEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT :: forall r.
DebugReportObjectTypeEXT -> (Void# -> r) -> (Void# -> r) -> r
DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = DebugReportObjectTypeEXT 23
pattern $bDEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT :: DebugReportObjectTypeEXT
$mDEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT :: forall r.
DebugReportObjectTypeEXT -> (Void# -> r) -> (Void# -> r) -> r
DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = DebugReportObjectTypeEXT 24
pattern $bDEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT :: DebugReportObjectTypeEXT
$mDEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT :: forall r.
DebugReportObjectTypeEXT -> (Void# -> r) -> (Void# -> r) -> r
DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = DebugReportObjectTypeEXT 25
pattern $bDEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT :: DebugReportObjectTypeEXT
$mDEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT :: forall r.
DebugReportObjectTypeEXT -> (Void# -> r) -> (Void# -> r) -> r
DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = DebugReportObjectTypeEXT 26
pattern $bDEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT :: DebugReportObjectTypeEXT
$mDEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT :: forall r.
DebugReportObjectTypeEXT -> (Void# -> r) -> (Void# -> r) -> r
DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = DebugReportObjectTypeEXT 27
pattern $bDEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT :: DebugReportObjectTypeEXT
$mDEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT :: forall r.
DebugReportObjectTypeEXT -> (Void# -> r) -> (Void# -> r) -> r
DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = DebugReportObjectTypeEXT 28
pattern $bDEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT :: DebugReportObjectTypeEXT
$mDEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT :: forall r.
DebugReportObjectTypeEXT -> (Void# -> r) -> (Void# -> r) -> r
DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = DebugReportObjectTypeEXT 29
pattern $bDEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT :: DebugReportObjectTypeEXT
$mDEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT :: forall r.
DebugReportObjectTypeEXT -> (Void# -> r) -> (Void# -> r) -> r
DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = DebugReportObjectTypeEXT 30
pattern $bDEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT :: DebugReportObjectTypeEXT
$mDEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT :: forall r.
DebugReportObjectTypeEXT -> (Void# -> r) -> (Void# -> r) -> r
DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = DebugReportObjectTypeEXT 33
pattern $bDEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT :: DebugReportObjectTypeEXT
$mDEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT :: forall r.
DebugReportObjectTypeEXT -> (Void# -> r) -> (Void# -> r) -> r
DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT = DebugReportObjectTypeEXT 1000165000
pattern $bDEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT :: DebugReportObjectTypeEXT
$mDEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT :: forall r.
DebugReportObjectTypeEXT -> (Void# -> r) -> (Void# -> r) -> r
DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT = DebugReportObjectTypeEXT 1000156000
pattern $bDEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT :: DebugReportObjectTypeEXT
$mDEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT :: forall r.
DebugReportObjectTypeEXT -> (Void# -> r) -> (Void# -> r) -> r
DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT = DebugReportObjectTypeEXT 1000150000
pattern $bDEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT :: DebugReportObjectTypeEXT
$mDEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT :: forall r.
DebugReportObjectTypeEXT -> (Void# -> r) -> (Void# -> r) -> r
DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT = DebugReportObjectTypeEXT 1000085000
{-# complete DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT,
DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT,
DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT,
DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT,
DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT,
DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT,
DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT,
DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT,
DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT,
DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT,
DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT,
DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT,
DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT,
DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT,
DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT,
DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT,
DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT,
DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT,
DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT,
DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT,
DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT,
DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT,
DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT,
DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT,
DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT,
DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT,
DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT,
DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT,
DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT,
DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT,
DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT,
DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT,
DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT,
DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT,
DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT :: DebugReportObjectTypeEXT #-}
conNameDebugReportObjectTypeEXT :: String
conNameDebugReportObjectTypeEXT :: String
conNameDebugReportObjectTypeEXT = "DebugReportObjectTypeEXT"
enumPrefixDebugReportObjectTypeEXT :: String
enumPrefixDebugReportObjectTypeEXT :: String
enumPrefixDebugReportObjectTypeEXT = "DEBUG_REPORT_OBJECT_TYPE_"
showTableDebugReportObjectTypeEXT :: [(DebugReportObjectTypeEXT, String)]
showTableDebugReportObjectTypeEXT :: [(DebugReportObjectTypeEXT, String)]
showTableDebugReportObjectTypeEXT =
[ (DebugReportObjectTypeEXT
DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT , "UNKNOWN_EXT")
, (DebugReportObjectTypeEXT
DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT , "INSTANCE_EXT")
, (DebugReportObjectTypeEXT
DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT , "PHYSICAL_DEVICE_EXT")
, (DebugReportObjectTypeEXT
DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT , "DEVICE_EXT")
, (DebugReportObjectTypeEXT
DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT , "QUEUE_EXT")
, (DebugReportObjectTypeEXT
DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT , "SEMAPHORE_EXT")
, (DebugReportObjectTypeEXT
DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT , "COMMAND_BUFFER_EXT")
, (DebugReportObjectTypeEXT
DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT , "FENCE_EXT")
, (DebugReportObjectTypeEXT
DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT , "DEVICE_MEMORY_EXT")
, (DebugReportObjectTypeEXT
DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT , "BUFFER_EXT")
, (DebugReportObjectTypeEXT
DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT , "IMAGE_EXT")
, (DebugReportObjectTypeEXT
DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT , "EVENT_EXT")
, (DebugReportObjectTypeEXT
DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT , "QUERY_POOL_EXT")
, (DebugReportObjectTypeEXT
DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT , "BUFFER_VIEW_EXT")
, (DebugReportObjectTypeEXT
DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT , "IMAGE_VIEW_EXT")
, (DebugReportObjectTypeEXT
DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT , "SHADER_MODULE_EXT")
, (DebugReportObjectTypeEXT
DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT , "PIPELINE_CACHE_EXT")
, (DebugReportObjectTypeEXT
DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT , "PIPELINE_LAYOUT_EXT")
, (DebugReportObjectTypeEXT
DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT , "RENDER_PASS_EXT")
, (DebugReportObjectTypeEXT
DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT , "PIPELINE_EXT")
, (DebugReportObjectTypeEXT
DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT , "DESCRIPTOR_SET_LAYOUT_EXT")
, (DebugReportObjectTypeEXT
DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT , "SAMPLER_EXT")
, (DebugReportObjectTypeEXT
DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT , "DESCRIPTOR_POOL_EXT")
, (DebugReportObjectTypeEXT
DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT , "DESCRIPTOR_SET_EXT")
, (DebugReportObjectTypeEXT
DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT , "FRAMEBUFFER_EXT")
, (DebugReportObjectTypeEXT
DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT , "COMMAND_POOL_EXT")
, (DebugReportObjectTypeEXT
DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT , "SURFACE_KHR_EXT")
, (DebugReportObjectTypeEXT
DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT , "SWAPCHAIN_KHR_EXT")
, (DebugReportObjectTypeEXT
DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT , "DEBUG_REPORT_CALLBACK_EXT_EXT")
, (DebugReportObjectTypeEXT
DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT , "DISPLAY_KHR_EXT")
, (DebugReportObjectTypeEXT
DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT , "DISPLAY_MODE_KHR_EXT")
, (DebugReportObjectTypeEXT
DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT , "VALIDATION_CACHE_EXT_EXT")
, (DebugReportObjectTypeEXT
DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT , "ACCELERATION_STRUCTURE_NV_EXT")
, (DebugReportObjectTypeEXT
DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT , "SAMPLER_YCBCR_CONVERSION_EXT")
, (DebugReportObjectTypeEXT
DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT, "ACCELERATION_STRUCTURE_KHR_EXT")
, (DebugReportObjectTypeEXT
DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT, "DESCRIPTOR_UPDATE_TEMPLATE_EXT")
]
instance Show DebugReportObjectTypeEXT where
showsPrec :: Int -> DebugReportObjectTypeEXT -> ShowS
showsPrec = String
-> [(DebugReportObjectTypeEXT, String)]
-> String
-> (DebugReportObjectTypeEXT -> "messageCode" ::: Int32)
-> (("messageCode" ::: Int32) -> ShowS)
-> Int
-> DebugReportObjectTypeEXT
-> ShowS
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec String
enumPrefixDebugReportObjectTypeEXT
[(DebugReportObjectTypeEXT, String)]
showTableDebugReportObjectTypeEXT
String
conNameDebugReportObjectTypeEXT
(\(DebugReportObjectTypeEXT x :: "messageCode" ::: Int32
x) -> "messageCode" ::: Int32
x)
(Int -> ("messageCode" ::: Int32) -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec 11)
instance Read DebugReportObjectTypeEXT where
readPrec :: ReadPrec DebugReportObjectTypeEXT
readPrec = String
-> [(DebugReportObjectTypeEXT, String)]
-> String
-> (("messageCode" ::: Int32) -> DebugReportObjectTypeEXT)
-> ReadPrec DebugReportObjectTypeEXT
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec String
enumPrefixDebugReportObjectTypeEXT
[(DebugReportObjectTypeEXT, String)]
showTableDebugReportObjectTypeEXT
String
conNameDebugReportObjectTypeEXT
("messageCode" ::: Int32) -> DebugReportObjectTypeEXT
DebugReportObjectTypeEXT
type FN_vkDebugReportCallbackEXT = DebugReportFlagsEXT -> DebugReportObjectTypeEXT -> ("object" ::: Word64) -> ("location" ::: CSize) -> ("messageCode" ::: Int32) -> ("pLayerPrefix" ::: Ptr CChar) -> ("pMessage" ::: Ptr CChar) -> ("pUserData" ::: Ptr ()) -> IO Bool32
type PFN_vkDebugReportCallbackEXT = FunPtr FN_vkDebugReportCallbackEXT
type EXT_DEBUG_REPORT_SPEC_VERSION = 9
pattern EXT_DEBUG_REPORT_SPEC_VERSION :: forall a . Integral a => a
pattern $bEXT_DEBUG_REPORT_SPEC_VERSION :: a
$mEXT_DEBUG_REPORT_SPEC_VERSION :: forall r a. Integral a => a -> (Void# -> r) -> (Void# -> r) -> r
EXT_DEBUG_REPORT_SPEC_VERSION = 9
type EXT_DEBUG_REPORT_EXTENSION_NAME = "VK_EXT_debug_report"
pattern EXT_DEBUG_REPORT_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
pattern $bEXT_DEBUG_REPORT_EXTENSION_NAME :: a
$mEXT_DEBUG_REPORT_EXTENSION_NAME :: forall r a.
(Eq a, IsString a) =>
a -> (Void# -> r) -> (Void# -> r) -> r
EXT_DEBUG_REPORT_EXTENSION_NAME = "VK_EXT_debug_report"