| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Graphics.Vulkan.Extensions.VK_EXT_debug_report
Synopsis
- createDebugReportCallbackEXT :: forall io. MonadIO io => Instance -> DebugReportCallbackCreateInfoEXT -> ("allocator" ::: Maybe AllocationCallbacks) -> io DebugReportCallbackEXT
- withDebugReportCallbackEXT :: forall r. Instance -> DebugReportCallbackCreateInfoEXT -> Maybe AllocationCallbacks -> (DebugReportCallbackEXT -> IO r) -> IO 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_OBJECT_TABLE_NVX_EXT :: DebugReportObjectTypeEXT
- pattern DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT :: DebugReportObjectTypeEXT
- pattern DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT :: DebugReportObjectTypeEXT
- pattern DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT :: DebugReportObjectTypeEXT
- pattern DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_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 :: forall io. MonadIO io => Instance -> DebugReportCallbackCreateInfoEXT -> ("allocator" ::: Maybe AllocationCallbacks) -> io DebugReportCallbackEXT Source #
vkCreateDebugReportCallbackEXT - Create a debug report callback object
Parameters
instancethe instance the callback will be logged on.
pCreateInfois a pointer to aDebugReportCallbackCreateInfoEXTstructure defining the conditions under which this callback will be called.pAllocatorcontrols host memory allocation as described in the Memory Allocation chapter.pCallbackis a pointer to aDebugReportCallbackEXThandle in which the created object is returned.
Valid Usage (Implicit)
instancemust be a validInstancehandle
pCreateInfomust be a valid pointer to a validDebugReportCallbackCreateInfoEXTstructure- If
pAllocatoris notNULL,pAllocatormust be a valid pointer to a validAllocationCallbacksstructure pCallbackmust be a valid pointer to aDebugReportCallbackEXThandle
Return Codes
See Also
AllocationCallbacks,
DebugReportCallbackCreateInfoEXT,
DebugReportCallbackEXT,
Instance
withDebugReportCallbackEXT :: forall r. Instance -> DebugReportCallbackCreateInfoEXT -> Maybe AllocationCallbacks -> (DebugReportCallbackEXT -> IO r) -> IO r Source #
A safe wrapper for createDebugReportCallbackEXT and
destroyDebugReportCallbackEXT using bracket
The allocated value must not be returned from the provided computation
destroyDebugReportCallbackEXT :: forall io. MonadIO io => Instance -> DebugReportCallbackEXT -> ("allocator" ::: Maybe AllocationCallbacks) -> io () Source #
vkDestroyDebugReportCallbackEXT - Destroy a debug report callback object
Parameters
instancethe instance where the callback was created.
callbacktheDebugReportCallbackEXTobject to destroy.callbackis an externally synchronized object and must not be used on more than one thread at a time. This means thatdestroyDebugReportCallbackEXTmust not be called when a callback is active.pAllocatorcontrols host memory allocation as described in the Memory Allocation chapter.
Valid Usage
- If
AllocationCallbackswere provided whencallbackwas created, a compatible set of callbacks must be provided here
- If no
AllocationCallbackswere provided whencallbackwas created,pAllocatormust beNULL
Valid Usage (Implicit)
instancemust be a validInstancehandle
callbackmust be a validDebugReportCallbackEXThandle- If
pAllocatoris notNULL,pAllocatormust be a valid pointer to a validAllocationCallbacksstructure callbackmust have been created, allocated, or retrieved frominstance
Host Synchronization
- Host access to
callbackmust be externally synchronized
See Also
debugReportMessageEXT :: forall io. MonadIO io => Instance -> DebugReportFlagsEXT -> DebugReportObjectTypeEXT -> ("object" ::: Word64) -> ("location" ::: Word64) -> ("messageCode" ::: Int32) -> ("layerPrefix" ::: ByteString) -> ("message" ::: ByteString) -> io () Source #
vkDebugReportMessageEXT - Inject a message into a debug stream
Parameters
instanceis the debug stream’sInstance.
flagsspecifies theDebugReportFlagBitsEXTclassification of this event/message.objectTypeis aDebugReportObjectTypeEXTspecifying the type of object being used or created at the time the event was triggered.objectthis is the object where the issue was detected.objectcan beNULL_HANDLEif there is no object associated with the event.locationis an application defined value.messageCodeis an application defined value.pLayerPrefixis the abbreviation of the component making this event/message.pMessageis a null-terminated string detailing the trigger conditions.
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
objectmust be a Vulkan object orNULL_HANDLE
- If
objectTypeis notDEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXTandobjectis notNULL_HANDLE,objectmust be a Vulkan object of the corresponding type associated withobjectTypeas defined in https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#debug-report-object-types.
Valid Usage (Implicit)
instancemust be a validInstancehandle
flagsmust be a valid combination ofDebugReportFlagBitsEXTvaluesflagsmust not be0objectTypemust be a validDebugReportObjectTypeEXTvaluepLayerPrefixmust be a null-terminated UTF-8 stringpMessagemust 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
Constructors
| DebugReportCallbackCreateInfoEXT | |
Fields
| |
Instances
newtype DebugReportFlagBitsEXT Source #
VkDebugReportFlagBitsEXT - Bitmask specifying events which cause a debug report callback
See Also
Constructors
| DebugReportFlagBitsEXT Flags |
Bundled Patterns
| 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
'
VkDebugReportObjectTypeEXT 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
Constructors
| DebugReportObjectTypeEXT Int32 |
Bundled Patterns
Instances
type PFN_vkDebugReportCallbackEXT = FunPtr FN_vkDebugReportCallbackEXT Source #
PFN_vkDebugReportCallbackEXT - Application-defined debug report callback function
Parameters
flagsspecifies theDebugReportFlagBitsEXTthat triggered this callback.
objectTypeis aDebugReportObjectTypeEXTvalue specifying the type of object being used or created at the time the event was triggered.objectis the object where the issue was detected. IfobjectTypeisDEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT,objectis undefined.locationis a component (layer, driver, loader) defined value specifying the location of the trigger. This is an optional value.messageCodeis a layer-defined value indicating what test triggered this callback.pLayerPrefixis a null-terminated string that is an abbreviation of the name of the component making the callback.pLayerPrefixis only valid for the duration of the callback.pMessageis a null-terminated string detailing the trigger conditions.pMessageis only valid for the duration of the callback.pUserDatais the user data given when theDebugReportCallbackEXTwas created.
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
See Also
Constructors
| DebugReportCallbackEXT Word64 |