VkDebugReportCallbackCreateInfoEXT
The definition of VkDebugReportCallbackCreateInfoEXT is:
typedef struct VkDebugReportCallbackCreateInfoEXT {
VkStructureType sType;
const void* pNext;
VkDebugReportFlagsEXT flags;
PFN_vkDebugReportCallbackEXT pfnCallback;
void* pUserData;
} VkDebugReportCallbackCreateInfoEXT;
sType
is a VkStructureType value identifying this structure.pNext
isNULL
or a pointer to a structure extending this structure.flags
is a bitmask of VkDebugReportFlagBitsEXT specifying which event(s) will cause this callback to be called.pfnCallback
is the application callback function to call.pUserData
is user data to be passed to the callback.
For each VkDebugReportCallbackEXT
that is created the
VkDebugReportCallbackCreateInfoEXT
::flags
determine when that
VkDebugReportCallbackCreateInfoEXT
::pfnCallback
is called.
When an event happens, the implementation will do a bitwise AND of the
event’s VkDebugReportFlagBitsEXT flags to each
VkDebugReportCallbackEXT
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
VkDebugReportCallbackEXT
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)
VUID-VkDebugReportCallbackCreateInfoEXT-sType-sType
sType
must be VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT
VUID-VkDebugReportCallbackCreateInfoEXT-flags-parameter
flags
must be a valid combination of VkDebugReportFlagBitsEXT values
VUID-VkDebugReportCallbackCreateInfoEXT-pfnCallback-parameter
pfnCallback
must be a valid PFN_vkDebugReportCallbackEXT value