| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Graphics.Vulkan.Extensions.VK_EXT_debug_utils
- newtype VkDebugUtilsMessageSeverityFlagBitsEXT = VkDebugUtilsMessageSeverityFlagBitsEXT VkFlags
- pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT :: VkDebugUtilsMessageSeverityFlagBitsEXT
- pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT :: VkDebugUtilsMessageSeverityFlagBitsEXT
- pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT :: VkDebugUtilsMessageSeverityFlagBitsEXT
- pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT :: VkDebugUtilsMessageSeverityFlagBitsEXT
- newtype VkDebugUtilsMessageTypeFlagBitsEXT = VkDebugUtilsMessageTypeFlagBitsEXT VkFlags
- pattern VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT :: VkDebugUtilsMessageTypeFlagBitsEXT
- pattern VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT :: VkDebugUtilsMessageTypeFlagBitsEXT
- pattern VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT :: VkDebugUtilsMessageTypeFlagBitsEXT
- newtype VkDebugUtilsMessengerCreateFlagsEXT = VkDebugUtilsMessengerCreateFlagsEXT VkFlags
- newtype VkDebugUtilsMessengerCallbackDataFlagsEXT = VkDebugUtilsMessengerCallbackDataFlagsEXT VkFlags
- pattern VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: VkStructureType
- pattern VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: VkStructureType
- pattern VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: VkStructureType
- pattern VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: VkStructureType
- pattern VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: VkStructureType
- pattern VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT :: VkObjectType
- pattern VK_EXT_DEBUG_UTILS_SPEC_VERSION :: Integral a => a
- pattern VK_EXT_DEBUG_UTILS_EXTENSION_NAME :: (Eq a, IsString a) => a
- type PFN_vkDebugUtilsMessengerCallbackEXT = Ptr (("messageSeverity" ::: VkDebugUtilsMessageSeverityFlagBitsEXT) -> ("messageType" ::: VkDebugUtilsMessageTypeFlagsEXT) -> ("pCallbackData" ::: Ptr VkDebugUtilsMessengerCallbackDataEXT) -> ("pUserData" ::: Ptr ()) -> IO VkBool32)
- type VkDebugUtilsMessengerEXT = Ptr VkDebugUtilsMessengerEXT_T
- vkSetDebugUtilsObjectNameEXT :: ("device" ::: VkDevice) -> ("pNameInfo" ::: Ptr VkDebugUtilsObjectNameInfoEXT) -> IO VkResult
- vkSetDebugUtilsObjectTagEXT :: ("device" ::: VkDevice) -> ("pTagInfo" ::: Ptr VkDebugUtilsObjectTagInfoEXT) -> IO VkResult
- vkQueueBeginDebugUtilsLabelEXT :: ("queue" ::: VkQueue) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO ()
- vkQueueEndDebugUtilsLabelEXT :: ("queue" ::: VkQueue) -> IO ()
- vkQueueInsertDebugUtilsLabelEXT :: ("queue" ::: VkQueue) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO ()
- vkCmdBeginDebugUtilsLabelEXT :: ("commandBuffer" ::: VkCommandBuffer) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO ()
- vkCmdEndDebugUtilsLabelEXT :: ("commandBuffer" ::: VkCommandBuffer) -> IO ()
- vkCmdInsertDebugUtilsLabelEXT :: ("commandBuffer" ::: VkCommandBuffer) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO ()
- vkCreateDebugUtilsMessengerEXT :: ("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkDebugUtilsMessengerCreateInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pMessenger" ::: Ptr VkDebugUtilsMessengerEXT) -> IO VkResult
- vkDestroyDebugUtilsMessengerEXT :: ("instance" ::: VkInstance) -> ("messenger" ::: VkDebugUtilsMessengerEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()
- vkSubmitDebugUtilsMessageEXT :: ("instance" ::: VkInstance) -> ("messageSeverity" ::: VkDebugUtilsMessageSeverityFlagBitsEXT) -> ("messageTypes" ::: VkDebugUtilsMessageTypeFlagsEXT) -> ("pCallbackData" ::: Ptr VkDebugUtilsMessengerCallbackDataEXT) -> IO ()
- data VkDebugUtilsObjectNameInfoEXT = VkDebugUtilsObjectNameInfoEXT {}
- data VkDebugUtilsObjectTagInfoEXT = VkDebugUtilsObjectTagInfoEXT {
- vkSType :: VkStructureType
- vkPNext :: Ptr ()
- vkObjectType :: VkObjectType
- vkObjectHandle :: Word64
- vkTagName :: Word64
- vkTagSize :: CSize
- vkPTag :: Ptr ()
- data VkDebugUtilsLabelEXT = VkDebugUtilsLabelEXT {
- vkSType :: VkStructureType
- vkPNext :: Ptr ()
- vkPLabelName :: Ptr CChar
- vkColor :: Vector 4 CFloat
- data VkDebugUtilsMessengerCreateInfoEXT = VkDebugUtilsMessengerCreateInfoEXT {}
- data VkDebugUtilsMessengerCallbackDataEXT = VkDebugUtilsMessengerCallbackDataEXT {
- vkSType :: VkStructureType
- vkPNext :: Ptr ()
- vkFlags :: VkDebugUtilsMessengerCallbackDataFlagsEXT
- vkPMessageIdName :: Ptr CChar
- vkMessageIdNumber :: Int32
- vkPMessage :: Ptr CChar
- vkQueueLabelCount :: Word32
- vkPQueueLabels :: Ptr VkDebugUtilsLabelEXT
- vkCmdBufLabelCount :: Word32
- vkPCmdBufLabels :: Ptr VkDebugUtilsLabelEXT
- vkObjectCount :: Word32
- vkPObjects :: Ptr VkDebugUtilsObjectNameInfoEXT
- type VkDebugUtilsMessageSeverityFlagsEXT = VkDebugUtilsMessageSeverityFlagBitsEXT
- type VkDebugUtilsMessageTypeFlagsEXT = VkDebugUtilsMessageTypeFlagBitsEXT
Documentation
newtype VkDebugUtilsMessageSeverityFlagBitsEXT Source #
VkDebugUtilsMessageSeverityFlagBitsEXT - Bitmask specifying which severities of events cause a debug messenger callback
See Also
VkDebugUtilsMessageSeverityFlagsEXT, vkSubmitDebugUtilsMessageEXT
Constructors
| VkDebugUtilsMessageSeverityFlagBitsEXT VkFlags |
Instances
pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT :: VkDebugUtilsMessageSeverityFlagBitsEXT Source #
VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT specifies the most
verbose output indicating all diagnostic messages from the Vulkan
loader, layers, and drivers should be captured.
pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT :: VkDebugUtilsMessageSeverityFlagBitsEXT Source #
VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT specifies an
informational message such as resource details that may be handy when
debugging an application.
pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT :: VkDebugUtilsMessageSeverityFlagBitsEXT Source #
VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT specifies use of
Vulkan that may expose an app bug. Such cases may not be immediately
harmful, such as a fragment shader outputting to a location with no
attachment. Other cases may point to behavior that is almost certainly
bad when unintended such as using an image whose memory has not been
filled. In general if you see a warning but you know that the behavior
is intended/desired, then simply ignore the warning.
pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT :: VkDebugUtilsMessageSeverityFlagBitsEXT Source #
VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT specifies that an error
that may cause undefined results, including an application crash.
newtype VkDebugUtilsMessageTypeFlagBitsEXT Source #
VkDebugUtilsMessageTypeFlagBitsEXT - Bitmask specifying which types of events cause a debug messenger callback
See Also
Constructors
| VkDebugUtilsMessageTypeFlagBitsEXT VkFlags |
Instances
pattern VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT :: VkDebugUtilsMessageTypeFlagBitsEXT Source #
VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT specifies that some
general event has occurred. This is typically a non-specification,
non-performance event.
pattern VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT :: VkDebugUtilsMessageTypeFlagBitsEXT Source #
VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT specifies that
something has occurred during validation against the Vulkan
specification that may indicate invalid behavior.
pattern VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT :: VkDebugUtilsMessageTypeFlagBitsEXT Source #
VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT specifies a
potentially non-optimal use of Vulkan, e.g. using
vkCmdClearColorImage when
setting VkAttachmentDescription::loadOp
to VK_ATTACHMENT_LOAD_OP_CLEAR would have worked.
newtype VkDebugUtilsMessengerCreateFlagsEXT Source #
Constructors
| VkDebugUtilsMessengerCreateFlagsEXT VkFlags |
Instances
newtype VkDebugUtilsMessengerCallbackDataFlagsEXT Source #
Constructors
| VkDebugUtilsMessengerCallbackDataFlagsEXT VkFlags |
Instances
pattern VK_EXT_DEBUG_UTILS_SPEC_VERSION :: Integral a => a Source #
pattern VK_EXT_DEBUG_UTILS_EXTENSION_NAME :: (Eq a, IsString a) => a Source #
type PFN_vkDebugUtilsMessengerCallbackEXT = Ptr (("messageSeverity" ::: VkDebugUtilsMessageSeverityFlagBitsEXT) -> ("messageType" ::: VkDebugUtilsMessageTypeFlagsEXT) -> ("pCallbackData" ::: Ptr VkDebugUtilsMessengerCallbackDataEXT) -> ("pUserData" ::: Ptr ()) -> IO VkBool32) Source #
PFN_vkDebugUtilsMessengerCallbackEXT - Application-defined debug messenger callback function
Parameters
messageSeverityspecifies theVkDebugUtilsMessageSeverityFlagBitsEXTthat triggered this callback.
messageTypesspecifies theVkDebugUtilsMessageTypeFlagBitsEXTthat triggered this callback.pCallbackDatacontains all the callback related data in theVkDebugUtilsMessengerCallbackDataEXTstructure.pUserDatais the user data provided when theVkDebugUtilsMessengerEXTwas created.
Description
The callback must not call vkDestroyDebugUtilsMessengerEXT.
The callback returns a VkBool32, which is interpreted in a
layer-specified manner. The application should always return
VK_FALSE. The VK_TRUE value is reserved for use in layer
development.
See Also
type VkDebugUtilsMessengerEXT = Ptr VkDebugUtilsMessengerEXT_T Source #
VkDebugUtilsMessengerEXT - Opaque handle to a debug messenger object
Description
The debug messenger will provide detailed feedback on the application’s use of Vulkan when events of interest occur. When an event of interest does occur, the debug messenger will submit a debug message to the debug callback that was provided during its creation. Additionally, the debug messenger is responsible with filtering out debug messages that the callback isn’t interested in and will only provide desired debug messages.
See Also
vkCreateDebugUtilsMessengerEXT, vkDestroyDebugUtilsMessengerEXT
vkSetDebugUtilsObjectNameEXT :: ("device" ::: VkDevice) -> ("pNameInfo" ::: Ptr VkDebugUtilsObjectNameInfoEXT) -> IO VkResult Source #
vkSetDebugUtilsObjectNameEXT - Give a user-friendly name to an object
Parameters
deviceis the device that created the object.
pNameInfois a pointer to an instance of theVkDebugUtilsObjectNameInfoEXTstructure specifying the parameters of the name to set on the object.
Description
Valid Usage (Implicit)
devicemust be a validVkDevicehandle
pNameInfomust be a valid pointer to a validVkDebugUtilsObjectNameInfoEXTstructure
Host Synchronization
- Host access to
pNameInfo.objectHandlemust be externally synchronized
Return Codes
- Success
- -
VK_SUCCESS
- Failure
- -
VK_ERROR_OUT_OF_HOST_MEMORYVK_ERROR_OUT_OF_DEVICE_MEMORY
See Also
vkSetDebugUtilsObjectTagEXT :: ("device" ::: VkDevice) -> ("pTagInfo" ::: Ptr VkDebugUtilsObjectTagInfoEXT) -> IO VkResult Source #
vkSetDebugUtilsObjectTagEXT - Attach arbitrary data to an object
Parameters
deviceis the device that created the object.
pTagInfois a pointer to an instance of theVkDebugUtilsObjectTagInfoEXTstructure specifying the parameters of the tag to attach to the object.
Description
Valid Usage (Implicit)
devicemust be a validVkDevicehandle
pTagInfomust be a valid pointer to a validVkDebugUtilsObjectTagInfoEXTstructure
Host Synchronization
- Host access to
pTagInfo.objectHandlemust be externally synchronized
Return Codes
- Success
- -
VK_SUCCESS
- Failure
- -
VK_ERROR_OUT_OF_HOST_MEMORYVK_ERROR_OUT_OF_DEVICE_MEMORY
See Also
vkQueueBeginDebugUtilsLabelEXT :: ("queue" ::: VkQueue) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO () Source #
vkQueueBeginDebugUtilsLabelEXT - Open a queue debug label region
Parameters
queueis the queue in which to start a debug label region.
pLabelInfois a pointer to an instance of theVkDebugUtilsLabelEXTstructure specifying the parameters of the label region to open.
Description
Valid Usage (Implicit)
queuemust be a validVkQueuehandle
pLabelInfomust be a valid pointer to a validVkDebugUtilsLabelEXTstructure
Command Properties
+-----------------+-----------------+-----------------+-----------------+ | <#VkCommandBuff | <#vkCmdBeginRen | <#VkQueueFlagBi | <#synchronizati | | erLevel Command | derPass Render | ts Supported Qu | on-pipeline-sta | | Buffer Levels> | Pass Scope> | eue Types> | ges-types Pipel | | | | | ine Type> | +=================+=================+=================+=================+ | - | - | Any | - | +-----------------+-----------------+-----------------+-----------------+
See Also
vkQueueEndDebugUtilsLabelEXT :: ("queue" ::: VkQueue) -> IO () Source #
vkQueueEndDebugUtilsLabelEXT - Close a queue debug label region
Parameters
queueis the queue in which a debug label region should be closed.
Description
The calls to vkQueueBeginDebugUtilsLabelEXT and
vkQueueEndDebugUtilsLabelEXT must be matched and balanced.
Valid Usage
- There must be an outstanding
vkQueueBeginDebugUtilsLabelEXTcommand prior to thevkQueueEndDebugUtilsLabelEXTon the queue
Valid Usage (Implicit)
queuemust be a validVkQueuehandle
Command Properties
+-----------------+-----------------+-----------------+-----------------+ | <#VkCommandBuff | <#vkCmdBeginRen | <#VkQueueFlagBi | <#synchronizati | | erLevel Command | derPass Render | ts Supported Qu | on-pipeline-sta | | Buffer Levels> | Pass Scope> | eue Types> | ges-types Pipel | | | | | ine Type> | +=================+=================+=================+=================+ | - | - | Any | - | +-----------------+-----------------+-----------------+-----------------+
See Also
vkQueueInsertDebugUtilsLabelEXT :: ("queue" ::: VkQueue) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO () Source #
vkQueueInsertDebugUtilsLabelEXT - Insert a label into a queue
Parameters
queueis the queue into which a debug label will be inserted.
pLabelInfois a pointer to an instance of theVkDebugUtilsLabelEXTstructure specifying the parameters of the label to insert.
Description
Valid Usage (Implicit)
queuemust be a validVkQueuehandle
pLabelInfomust be a valid pointer to a validVkDebugUtilsLabelEXTstructure
Command Properties
+-----------------+-----------------+-----------------+-----------------+ | <#VkCommandBuff | <#vkCmdBeginRen | <#VkQueueFlagBi | <#synchronizati | | erLevel Command | derPass Render | ts Supported Qu | on-pipeline-sta | | Buffer Levels> | Pass Scope> | eue Types> | ges-types Pipel | | | | | ine Type> | +=================+=================+=================+=================+ | - | - | Any | - | +-----------------+-----------------+-----------------+-----------------+
See Also
vkCmdBeginDebugUtilsLabelEXT :: ("commandBuffer" ::: VkCommandBuffer) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO () Source #
vkCmdBeginDebugUtilsLabelEXT - Open a command buffer debug label region
Parameters
commandBufferis the command buffer into which the command is recorded.
pLabelInfois a pointer to an instance of theVkDebugUtilsLabelEXTstructure specifying the parameters of the label region to open.
Description
Valid Usage (Implicit)
commandBuffermust be a validVkCommandBufferhandle
pLabelInfomust be a valid pointer to a validVkDebugUtilsLabelEXTstructurecommandBuffermust be in the recording state- The
VkCommandPoolthatcommandBufferwas allocated from must support graphics, or compute operations
Host Synchronization
- Host access to the
VkCommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
+-----------------+-----------------+-----------------+-----------------+ | <#VkCommandBuff | <#vkCmdBeginRen | <#VkQueueFlagBi | <#synchronizati | | erLevel Command | derPass Render | ts Supported Qu | on-pipeline-sta | | Buffer Levels> | Pass Scope> | eue Types> | ges-types Pipel | | | | | ine Type> | +=================+=================+=================+=================+ | Primary | Both | Graphics | | | Secondary | | Compute | | +-----------------+-----------------+-----------------+-----------------+
See Also
vkCmdEndDebugUtilsLabelEXT :: ("commandBuffer" ::: VkCommandBuffer) -> IO () Source #
vkCmdEndDebugUtilsLabelEXT - Close a command buffer label region
Parameters
commandBufferis the command buffer into which the command is recorded.
Description
An application may open a debug label region in one command buffer and
close it in another, or otherwise split debug label regions across
multiple command buffers or multiple queue submissions. When viewed from
the linear series of submissions to a single queue, the calls to
vkCmdBeginDebugUtilsLabelEXT and vkCmdEndDebugUtilsLabelEXT must
be matched and balanced.
Valid Usage
- There must be an outstanding
vkCmdBeginDebugUtilsLabelEXTcommand prior to thevkCmdEndDebugUtilsLabelEXTon the queue thatcommandBufferis submitted to
- If
commandBufferis a secondary command buffer, there must be an outstandingvkCmdBeginDebugUtilsLabelEXTcommand recorded tocommandBufferthat has not previously been ended by a call tovkCmdEndDebugUtilsLabelEXT.
Valid Usage (Implicit)
commandBuffermust be a validVkCommandBufferhandle
commandBuffermust be in the recording state- The
VkCommandPoolthatcommandBufferwas allocated from must support graphics, or compute operations
Host Synchronization
- Host access to the
VkCommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
+-----------------+-----------------+-----------------+-----------------+ | <#VkCommandBuff | <#vkCmdBeginRen | <#VkQueueFlagBi | <#synchronizati | | erLevel Command | derPass Render | ts Supported Qu | on-pipeline-sta | | Buffer Levels> | Pass Scope> | eue Types> | ges-types Pipel | | | | | ine Type> | +=================+=================+=================+=================+ | Primary | Both | Graphics | | | Secondary | | Compute | | +-----------------+-----------------+-----------------+-----------------+
See Also
vkCmdInsertDebugUtilsLabelEXT :: ("commandBuffer" ::: VkCommandBuffer) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO () Source #
vkCmdInsertDebugUtilsLabelEXT - Insert a label into a command buffer
Parameters
commandBufferis the command buffer into which the command is recorded.
pInfois a pointer to an instance of theVkDebugUtilsLabelEXTstructure specifying the parameters of the label to insert.
Description
Valid Usage (Implicit)
commandBuffermust be a validVkCommandBufferhandle
pLabelInfomust be a valid pointer to a validVkDebugUtilsLabelEXTstructurecommandBuffermust be in the recording state- The
VkCommandPoolthatcommandBufferwas allocated from must support graphics, or compute operations
Host Synchronization
- Host access to the
VkCommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
+-----------------+-----------------+-----------------+-----------------+ | <#VkCommandBuff | <#vkCmdBeginRen | <#VkQueueFlagBi | <#synchronizati | | erLevel Command | derPass Render | ts Supported Qu | on-pipeline-sta | | Buffer Levels> | Pass Scope> | eue Types> | ges-types Pipel | | | | | ine Type> | +=================+=================+=================+=================+ | Primary | Both | Graphics | | | Secondary | | Compute | | +-----------------+-----------------+-----------------+-----------------+
See Also
vkCreateDebugUtilsMessengerEXT :: ("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkDebugUtilsMessengerCreateInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pMessenger" ::: Ptr VkDebugUtilsMessengerEXT) -> IO VkResult Source #
vkCreateDebugUtilsMessengerEXT - Create a debug messenger object
Parameters
instancethe instance the messenger will be used with.
pCreateInfopoints to aVkDebugUtilsMessengerCreateInfoEXTstructure which contains the callback pointer as well as defines the conditions under which this messenger will trigger the callback.pAllocatorcontrols host memory allocation as described in the Memory Allocation chapter.pMessengeris a pointer to record theVkDebugUtilsMessengerEXTobject created.
Description
Valid Usage (Implicit)
instancemust be a validVkInstancehandle
pCreateInfomust be a valid pointer to a validVkDebugUtilsMessengerCreateInfoEXTstructure- If
pAllocatoris notNULL,pAllocatormust be a valid pointer to a validVkAllocationCallbacksstructure pMessengermust be a valid pointer to aVkDebugUtilsMessengerEXThandle
Return Codes
- Success
- -
VK_SUCCESS
- Failure
- -
VK_ERROR_OUT_OF_HOST_MEMORY
See Also
VkAllocationCallbacks,
VkDebugUtilsMessengerCreateInfoEXT, VkDebugUtilsMessengerEXT,
VkInstance
vkDestroyDebugUtilsMessengerEXT :: ("instance" ::: VkInstance) -> ("messenger" ::: VkDebugUtilsMessengerEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () Source #
vkDestroyDebugUtilsMessengerEXT - Destroy a debug messenger object
Parameters
instancethe instance where the callback was created.
messengertheVkDebugUtilsMessengerEXTobject to destroy.messengeris an externally synchronized object and must not be used on more than one thread at a time. This means thatvkDestroyDebugUtilsMessengerEXTmust not be called when a callback is active.pAllocatorcontrols host memory allocation as described in the Memory Allocation chapter.
Description
Valid Usage
- If
VkAllocationCallbackswere provided whenmessengerwas created, a compatible set of callbacks must be provided here
- If no
VkAllocationCallbackswere provided whenmessengerwas created,pAllocatormust beNULL
Valid Usage (Implicit)
instancemust be a validVkInstancehandle
messengermust be a validVkDebugUtilsMessengerEXThandle- If
pAllocatoris notNULL,pAllocatormust be a valid pointer to a validVkAllocationCallbacksstructure messengermust have been created, allocated, or retrieved frominstance
Host Synchronization
- Host access to
messengermust be externally synchronized
See Also
vkSubmitDebugUtilsMessageEXT :: ("instance" ::: VkInstance) -> ("messageSeverity" ::: VkDebugUtilsMessageSeverityFlagBitsEXT) -> ("messageTypes" ::: VkDebugUtilsMessageTypeFlagsEXT) -> ("pCallbackData" ::: Ptr VkDebugUtilsMessengerCallbackDataEXT) -> IO () Source #
vkSubmitDebugUtilsMessageEXT - Inject a message into a debug stream
Parameters
instanceis the debug stream’sVkInstance.
messageSeverityis theVkDebugUtilsMessageSeverityFlagBitsEXTseverity of this event/message.messageTypesis a bitmask ofVkDebugUtilsMessageTypeFlagBitsEXTspecifying which type of event(s) to identify with this message.pCallbackDatacontains all the callback related data in theVkDebugUtilsMessengerCallbackDataEXTstructure.
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 messenger was registered.
Valid Usage (Implicit)
instancemust be a validVkInstancehandle
messageSeveritymust be a validVkDebugUtilsMessageSeverityFlagBitsEXTvaluemessageTypesmust be a valid combination ofVkDebugUtilsMessageTypeFlagBitsEXTvaluesmessageTypesmust not be0pCallbackDatamust be a valid pointer to a validVkDebugUtilsMessengerCallbackDataEXTstructure
See Also
VkDebugUtilsMessageSeverityFlagBitsEXT,
VkDebugUtilsMessageTypeFlagsEXT,
VkDebugUtilsMessengerCallbackDataEXT,
VkInstance
data VkDebugUtilsObjectNameInfoEXT Source #
VkDebugUtilsObjectNameInfoEXT - Specify parameters of a name to give to an object
Description
Applications may change the name associated with an object simply by
calling vkSetDebugUtilsObjectNameEXT again with a new string. If
pObjectName is an empty string, then any previously set name is
removed.
Valid Usage
objectTypemust not beVK_OBJECT_TYPE_UNKNOWN
objectHandlemust not beVK_NULL_HANDLEobjectHandlemust be a Vulkan object of the type associated withobjectTypeas defined in {html_spec_relative}#debugging-object-types.
Valid Usage (Implicit)
sTypemust beVK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT
pNextmust beNULLobjectTypemust be a validVkObjectTypevalue- If
pObjectNameis notNULL,pObjectNamemust be a null-terminated UTF-8 string
See Also
VkDebugUtilsMessengerCallbackDataEXT,
VkObjectType,
VkStructureType,
vkSetDebugUtilsObjectNameEXT
Constructors
| VkDebugUtilsObjectNameInfoEXT | |
Fields
| |
data VkDebugUtilsObjectTagInfoEXT Source #
VkDebugUtilsObjectTagInfoEXT - Specify parameters of a tag to attach to an object
Description
The tagName parameter gives a name or identifier to the type of data
being tagged. This can be used by debugging layers to easily filter for
only data that can be used by that implementation.
Valid Usage
objectTypemust not beVK_OBJECT_TYPE_UNKNOWN
objectHandlemust not beVK_NULL_HANDLEobjectHandlemust be a Vulkan object of the type associated withobjectTypeas defined in {html_spec_relative}#debugging-object-types.
Valid Usage (Implicit)
sTypemust beVK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT
pNextmust beNULLobjectTypemust be a validVkObjectTypevaluepTagmust be a valid pointer to an array oftagSizebytestagSizemust be greater than0
See Also
Constructors
| VkDebugUtilsObjectTagInfoEXT | |
Fields
| |
data VkDebugUtilsLabelEXT Source #
VkDebugUtilsLabelEXT - Specify parameters of a label region
Description
Valid Usage (Implicit)
sTypemust beVK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT
pNextmust beNULLpLabelNamemust be a null-terminated UTF-8 string
See Also
VkDebugUtilsMessengerCallbackDataEXT,
VkStructureType,
vkCmdBeginDebugUtilsLabelEXT, vkCmdInsertDebugUtilsLabelEXT,
vkQueueBeginDebugUtilsLabelEXT, vkQueueInsertDebugUtilsLabelEXT
Constructors
| VkDebugUtilsLabelEXT | |
Fields
| |
data VkDebugUtilsMessengerCreateInfoEXT Source #
VkDebugUtilsMessengerCreateInfoEXT - Structure specifying parameters of a newly created debug messenger
Description
For each VkDebugUtilsMessengerEXT that is created the
VkDebugUtilsMessengerCreateInfoEXT::messageSeverity and
VkDebugUtilsMessengerCreateInfoEXT::messageTypes determine when that
VkDebugUtilsMessengerCreateInfoEXT::pfnUserCallback is called. The
process to determine if the user’s pfnUserCallback is triggered when an
event occurs is as follows:
The implementation will perform a bitwise AND of the event’s
VkDebugUtilsMessageSeverityFlagBitsEXTwith themessageSeverityprovided during creation of theVkDebugUtilsMessengerEXTobject.- If the value is 0, the message is skipped.
The implementation will perform bitwise AND of the event’s
VkDebugUtilsMessageTypeFlagBitsEXTwith themessageTypeprovided during the creation of theVkDebugUtilsMessengerEXTobject.- If the value is 0, the message is skipped.
- The callback will trigger a debug message for the current event
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 can receive multiple callbacks if multiple
VkDebugUtilsMessengerEXT objects are created. A callback will always
be executed in the same thread as the originating Vulkan call.
A callback can be called from multiple threads simultaneously (if the application is making Vulkan calls from multiple threads).
Valid Usage
pfnUserCallbackmust be a validPFN_vkDebugUtilsMessengerCallbackEXT
Valid Usage (Implicit)
sTypemust beVK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT
flagsmust be0messageSeveritymust be a valid combination ofVkDebugUtilsMessageSeverityFlagBitsEXTvaluesmessageSeveritymust not be0messageTypemust be a valid combination ofVkDebugUtilsMessageTypeFlagBitsEXTvaluesmessageTypemust not be0
See Also
PFN_vkDebugUtilsMessengerCallbackEXT,
VkDebugUtilsMessageSeverityFlagsEXT,
VkDebugUtilsMessageTypeFlagsEXT,
VkDebugUtilsMessengerCreateFlagsEXT,
VkStructureType,
vkCreateDebugUtilsMessengerEXT
Constructors
| VkDebugUtilsMessengerCreateInfoEXT | |
Fields
| |
data VkDebugUtilsMessengerCallbackDataEXT Source #
VkDebugUtilsMessengerCallbackDataEXT - Structure specifying parameters returned to the callback
Description
Note
This structure should only be considered valid during the lifetime of the triggered callback.
Since adding queue and command buffer labels behaves like pushing and
popping onto a stack, the order of both pQueueLabels and
pCmdBufLabels is based on the order the labels were defined. The
result is that the first label in either pQueueLabels or
pCmdBufLabels will be the first defined (and therefore the oldest)
while the last label in each list will be the most recent.
Note
pQueueLabels will only be non-NULL if one of the objects in pObjects
can be related directly to a defined VkQueue which has had one or more
labels associated with it.
Likewise, pCmdBufLabels will only be non-NULL if one of the objects in
pObjects can be related directly to a defined VkCommandBuffer which
has had one or more labels associated with it. Additionally, while
command buffer labels allow for beginning and ending across different
command buffers, the debug messaging framework cannot guarantee that
labels in pCmdBufLables will contain those defined outside of the
associated command buffer. This is partially due to the fact that the
association of one command buffer with another may not have been defined
at the time the debug message is triggered.
Valid Usage (Implicit)
sTypemust beVK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT
pNextmust beNULLflagsmust be0- If
pMessageIdNameis notNULL,pMessageIdNamemust be a null-terminated UTF-8 string pMessagemust be a null-terminated UTF-8 stringobjectCountmust be greater than0
See Also
VkDebugUtilsLabelEXT, VkDebugUtilsMessengerCallbackDataFlagsEXT,
VkDebugUtilsObjectNameInfoEXT,
VkStructureType,
vkSubmitDebugUtilsMessageEXT
Constructors
| VkDebugUtilsMessengerCallbackDataEXT | |
Fields
| |