Class VkDebugUtilsMessengerCreateInfoEXT

  • All Implemented Interfaces:
    java.lang.AutoCloseable, NativeResource, Pointer

    public class VkDebugUtilsMessengerCreateInfoEXT
    extends Struct
    implements NativeResource
    Structure specifying parameters of a newly created debug messenger.

    For each VkDebugUtilsMessengerEXT that is created the VkDebugUtilsMessengerCreateInfoEXT::messageSeverity and VkDebugUtilsMessengerCreateInfoEXT::messageType 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 VkDebugUtilsMessageSeverityFlagBitsEXT with the messageSeverity provided during creation of the VkDebugUtilsMessengerEXT object.
      • If the value is 0, the message is skipped.
    • The implementation will perform bitwise AND of the event’s VkDebugUtilsMessageTypeFlagBitsEXT with the messageType provided during the creation of the VkDebugUtilsMessengerEXT object.
      • 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
    Valid Usage (Implicit)
    See Also

    VkDebugUtilsMessengerCallbackEXT, CreateDebugUtilsMessengerEXT

    Member documentation

    • sType – the type of this structure.
    • pNextNULL or a pointer to an extension-specific structure.
    • flags – 0 and reserved for future use.
    • messageSeverity – a bitmask of VkDebugUtilsMessageSeverityFlagBitsEXT specifying which severity of event(s) will cause this callback to be called.
    • messageType – a bitmask of VkDebugUtilsMessageTypeFlagBitsEXT specifying which type of event(s) will cause this callback to be called.
    • pfnUserCallback – the application callback function to call.
    • pUserData – user data to be passed to the callback.


     struct VkDebugUtilsMessengerCreateInfoEXT {
         VkStructureType sType;
         void const * pNext;
         VkDebugUtilsMessengerCreateFlagsEXT flags;
         VkDebugUtilsMessageSeverityFlagsEXT messageSeverity;
         VkDebugUtilsMessageTypeFlagsEXT messageType;
         PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback;
         void * pUserData;