Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- createDebugReportCallbackEXT :: forall io. MonadIO io => Instance -> DebugReportCallbackCreateInfoEXT -> ("allocator" ::: Maybe AllocationCallbacks) -> io DebugReportCallbackEXT
- withDebugReportCallbackEXT :: forall io r. MonadIO io => Instance -> DebugReportCallbackCreateInfoEXT -> Maybe AllocationCallbacks -> (io DebugReportCallbackEXT -> (DebugReportCallbackEXT -> io ()) -> r) -> r
- destroyDebugReportCallbackEXT :: forall io. MonadIO io => Instance -> DebugReportCallbackEXT -> ("allocator" ::: Maybe AllocationCallbacks) -> io ()
- debugReportMessageEXT :: forall io. MonadIO io => Instance -> DebugReportFlagsEXT -> DebugReportObjectTypeEXT -> ("object" ::: Word64) -> ("location" ::: Word64) -> ("messageCode" ::: Int32) -> ("layerPrefix" ::: ByteString) -> ("message" ::: ByteString) -> io ()
- pattern STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT :: StructureType
- data DebugReportCallbackCreateInfoEXT = DebugReportCallbackCreateInfoEXT {}
- newtype DebugReportFlagBitsEXT where
- DebugReportFlagBitsEXT Flags
- pattern DEBUG_REPORT_INFORMATION_BIT_EXT :: DebugReportFlagBitsEXT
- pattern DEBUG_REPORT_WARNING_BIT_EXT :: DebugReportFlagBitsEXT
- pattern DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT :: DebugReportFlagBitsEXT
- pattern DEBUG_REPORT_ERROR_BIT_EXT :: DebugReportFlagBitsEXT
- pattern DEBUG_REPORT_DEBUG_BIT_EXT :: DebugReportFlagBitsEXT
- type DebugReportFlagsEXT = DebugReportFlagBitsEXT
- newtype DebugReportObjectTypeEXT where
- DebugReportObjectTypeEXT Int32
- pattern DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT :: DebugReportObjectTypeEXT
- pattern DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT :: DebugReportObjectTypeEXT
- pattern DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT :: DebugReportObjectTypeEXT
- pattern DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT :: DebugReportObjectTypeEXT
- pattern DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT :: DebugReportObjectTypeEXT
- pattern DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT :: DebugReportObjectTypeEXT
- pattern DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT :: DebugReportObjectTypeEXT
- pattern DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT :: DebugReportObjectTypeEXT
- pattern DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT :: DebugReportObjectTypeEXT
- pattern DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT :: DebugReportObjectTypeEXT
- pattern DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT :: DebugReportObjectTypeEXT
- pattern DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT :: DebugReportObjectTypeEXT
- pattern DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT :: DebugReportObjectTypeEXT
- pattern DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT :: DebugReportObjectTypeEXT
- pattern DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT :: DebugReportObjectTypeEXT
- pattern DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT :: DebugReportObjectTypeEXT
- pattern DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT :: DebugReportObjectTypeEXT
- pattern DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT :: DebugReportObjectTypeEXT
- pattern DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT :: DebugReportObjectTypeEXT
- pattern DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT :: DebugReportObjectTypeEXT
- pattern DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT :: DebugReportObjectTypeEXT
- pattern DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT :: DebugReportObjectTypeEXT
- pattern DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT :: DebugReportObjectTypeEXT
- pattern DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT :: DebugReportObjectTypeEXT
- pattern DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT :: DebugReportObjectTypeEXT
- pattern DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT :: DebugReportObjectTypeEXT
- pattern DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT :: DebugReportObjectTypeEXT
- pattern DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT :: DebugReportObjectTypeEXT
- pattern DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT :: DebugReportObjectTypeEXT
- pattern DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT :: DebugReportObjectTypeEXT
- pattern DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT :: DebugReportObjectTypeEXT
- pattern DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT :: DebugReportObjectTypeEXT
- pattern DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT :: DebugReportObjectTypeEXT
- pattern DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT :: DebugReportObjectTypeEXT
- pattern DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT :: DebugReportObjectTypeEXT
- type PFN_vkDebugReportCallbackEXT = FunPtr FN_vkDebugReportCallbackEXT
- type FN_vkDebugReportCallbackEXT = DebugReportFlagsEXT -> DebugReportObjectTypeEXT -> ("object" ::: Word64) -> ("location" ::: CSize) -> ("messageCode" ::: Int32) -> ("pLayerPrefix" ::: Ptr CChar) -> ("pMessage" ::: Ptr CChar) -> ("pUserData" ::: Ptr ()) -> IO Bool32
- type EXT_DEBUG_REPORT_SPEC_VERSION = 9
- pattern EXT_DEBUG_REPORT_SPEC_VERSION :: forall a. Integral a => a
- type EXT_DEBUG_REPORT_EXTENSION_NAME = "VK_EXT_debug_report"
- pattern EXT_DEBUG_REPORT_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
- newtype DebugReportCallbackEXT = DebugReportCallbackEXT Word64
Documentation
createDebugReportCallbackEXT Source #
:: forall io. MonadIO io | |
=> Instance |
|
-> DebugReportCallbackCreateInfoEXT |
|
-> ("allocator" ::: Maybe AllocationCallbacks) |
|
-> io DebugReportCallbackEXT |
vkCreateDebugReportCallbackEXT - Create a debug report callback object
Valid Usage (Implicit)
instance
must be a validInstance
handle
pCreateInfo
must be a valid pointer to a validDebugReportCallbackCreateInfoEXT
structure- If
pAllocator
is notNULL
,pAllocator
must be a valid pointer to a validAllocationCallbacks
structure pCallback
must be a valid pointer to aDebugReportCallbackEXT
handle
Return Codes
See Also
AllocationCallbacks
,
DebugReportCallbackCreateInfoEXT
,
DebugReportCallbackEXT
,
Instance
withDebugReportCallbackEXT :: forall io r. MonadIO io => Instance -> DebugReportCallbackCreateInfoEXT -> Maybe AllocationCallbacks -> (io DebugReportCallbackEXT -> (DebugReportCallbackEXT -> io ()) -> r) -> r Source #
A convenience wrapper to make a compatible pair of calls to
createDebugReportCallbackEXT
and destroyDebugReportCallbackEXT
To ensure that destroyDebugReportCallbackEXT
is always called: pass
bracket
(or the allocate function from your
favourite resource management library) as the first argument.
To just extract the pair pass (,)
as the first argument.
destroyDebugReportCallbackEXT Source #
:: forall io. MonadIO io | |
=> Instance |
|
-> DebugReportCallbackEXT |
|
-> ("allocator" ::: Maybe AllocationCallbacks) |
|
-> io () |
vkDestroyDebugReportCallbackEXT - Destroy a debug report callback object
Valid Usage
- If
AllocationCallbacks
were provided whencallback
was created, a compatible set of callbacks must be provided here
- If no
AllocationCallbacks
were provided whencallback
was created,pAllocator
must beNULL
Valid Usage (Implicit)
instance
must be a validInstance
handle
- If
callback
is notNULL_HANDLE
,callback
must be a validDebugReportCallbackEXT
handle - If
pAllocator
is notNULL
,pAllocator
must be a valid pointer to a validAllocationCallbacks
structure - If
callback
is a valid handle, it must have been created, allocated, or retrieved frominstance
Host Synchronization
- Host access to
callback
must be externally synchronized
See Also
debugReportMessageEXT Source #
:: forall io. MonadIO io | |
=> Instance |
|
-> DebugReportFlagsEXT |
|
-> DebugReportObjectTypeEXT |
|
-> ("object" ::: Word64) |
|
-> ("location" ::: Word64) |
|
-> ("messageCode" ::: Int32) |
|
-> ("layerPrefix" ::: ByteString) |
|
-> ("message" ::: ByteString) |
|
-> io () |
vkDebugReportMessageEXT - Inject a message into a debug stream
Description
The call will propagate through the layers and generate callback(s) as
indicated by the message’s flags. The parameters are passed on to the
callback in addition to the pUserData
value that was defined at the
time the callback was registered.
Valid Usage
object
must be a Vulkan object orNULL_HANDLE
- If
objectType
is notDEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT
andobject
is notNULL_HANDLE
,object
must be a Vulkan object of the corresponding type associated withobjectType
as defined in https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#debug-report-object-types
Valid Usage (Implicit)
instance
must be a validInstance
handle
flags
must be a valid combination ofDebugReportFlagBitsEXT
valuesflags
must not be0
objectType
must be a validDebugReportObjectTypeEXT
valuepLayerPrefix
must be a null-terminated UTF-8 stringpMessage
must be a null-terminated UTF-8 string
See Also
data DebugReportCallbackCreateInfoEXT Source #
VkDebugReportCallbackCreateInfoEXT - Structure specifying parameters of a newly created debug report callback
Description
For each DebugReportCallbackEXT
that is
created the DebugReportCallbackCreateInfoEXT
::flags
determine when
that DebugReportCallbackCreateInfoEXT
::pfnCallback
is called. When
an event happens, the implementation will do a bitwise AND of the
event’s DebugReportFlagBitsEXT
flags to each
DebugReportCallbackEXT
object’s flags. For
each non-zero result the corresponding callback will be called. The
callback will come directly from the component that detected the event,
unless some other layer intercepts the calls for its own purposes
(filter them in a different way, log to a system error log, etc.).
An application may receive multiple callbacks if multiple
DebugReportCallbackEXT
objects were created.
A callback will always be executed in the same thread as the originating
Vulkan call.
A callback may be called from multiple threads simultaneously (if the application is making Vulkan calls from multiple threads).
Valid Usage (Implicit)
See Also
PFN_vkDebugReportCallbackEXT
, DebugReportFlagsEXT
,
StructureType
,
createDebugReportCallbackEXT
DebugReportCallbackCreateInfoEXT | |
|
Instances
newtype DebugReportFlagBitsEXT Source #
VkDebugReportFlagBitsEXT - Bitmask specifying events which cause a debug report callback
See Also
pattern DEBUG_REPORT_INFORMATION_BIT_EXT :: DebugReportFlagBitsEXT |
|
pattern DEBUG_REPORT_WARNING_BIT_EXT :: DebugReportFlagBitsEXT |
|
pattern DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT :: DebugReportFlagBitsEXT |
|
pattern DEBUG_REPORT_ERROR_BIT_EXT :: DebugReportFlagBitsEXT |
|
pattern DEBUG_REPORT_DEBUG_BIT_EXT :: DebugReportFlagBitsEXT |
|
Instances
newtype DebugReportObjectTypeEXT Source #
VkDebugReportObjectTypeEXT - Specify the type of an object handle
Description
'
DebugReportObjectTypeEXT
and Vulkan Handle Relationship
Note
The primary expected use of
ERROR_VALIDATION_FAILED_EXT
is for
validation layer testing. It is not expected that an application would
see this error code during normal use of the validation layers.
See Also
DebugMarkerObjectNameInfoEXT
,
DebugMarkerObjectTagInfoEXT
,
debugReportMessageEXT
Instances
type PFN_vkDebugReportCallbackEXT = FunPtr FN_vkDebugReportCallbackEXT Source #
PFN_vkDebugReportCallbackEXT - Application-defined debug report callback function
Description
The callback must not call destroyDebugReportCallbackEXT
.
The callback returns a Bool32
, which is
interpreted in a layer-specified manner. The application should always
return FALSE
. The TRUE
value is reserved for use in layer development.
object
must be a Vulkan object or
NULL_HANDLE
. If objectType
is not
DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT
and object
is not
NULL_HANDLE
, object
must be a Vulkan
object of the corresponding type associated with objectType
as defined
in
https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#debug-report-object-types.
See Also
type FN_vkDebugReportCallbackEXT = DebugReportFlagsEXT -> DebugReportObjectTypeEXT -> ("object" ::: Word64) -> ("location" ::: CSize) -> ("messageCode" ::: Int32) -> ("pLayerPrefix" ::: Ptr CChar) -> ("pMessage" ::: Ptr CChar) -> ("pUserData" ::: Ptr ()) -> IO Bool32 Source #
type EXT_DEBUG_REPORT_SPEC_VERSION = 9 Source #
pattern EXT_DEBUG_REPORT_SPEC_VERSION :: forall a. Integral a => a Source #
type EXT_DEBUG_REPORT_EXTENSION_NAME = "VK_EXT_debug_report" Source #
pattern EXT_DEBUG_REPORT_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #
newtype DebugReportCallbackEXT Source #
VkDebugReportCallbackEXT - Opaque handle to a debug report callback object