Class EXTDebugReport
VK_EXT_debug_report extension, developers can obtain much more detailed feedback on the application’s use of Vulkan. This extension defines a way for layers and the implementation to call back to the application for events of interest to the application.
Examples
VK_EXT_debug_report allows an application to register multiple callbacks with the validation layers. Some callbacks may log the information to a file, others may cause a debug break point or other application-defined behavior. An application can register callbacks even when no validation layers are enabled, but they will only be called for loader and, if implemented, driver events.
To capture events that occur while creating or destroying an instance an application can link a VkDebugReportCallbackCreateInfoEXT structure to the pNext element of the VkInstanceCreateInfo structure given to CreateInstance.
Example uses: Create three callback objects. One will log errors and warnings to the debug console using Windows OutputDebugString. The second will cause the debugger to break at that callback when an error happens and the third will log warnings to stdout.
VkResult res;
VkDebugReportCallbackEXT cb1, cb2, cb3;
VkDebugReportCallbackCreateInfoEXT callback1 = {
.sType = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
.pNext = NULL,
.flags = VK_DEBUG_REPORT_ERROR_BIT_EXT |
VK_DEBUG_REPORT_WARNING_BIT_EXT,
.pfnCallback = myOutputDebugString,
.pUserData = NULL
};
res = vkCreateDebugReportCallbackEXT(instance, &callback1, &cb1);
if (res != VK_SUCCESS)
// Do error handling for VK_ERROR_OUT_OF_MEMORY
callback.flags = VK_DEBUG_REPORT_ERROR_BIT_EXT;
callback.pfnCallback = myDebugBreak;
callback.pUserData = NULL;
res = vkCreateDebugReportCallbackEXT(instance, &callback, &cb2);
if (res != VK_SUCCESS)
// Do error handling for VK_ERROR_OUT_OF_MEMORY
VkDebugReportCallbackCreateInfoEXT callback3 = {
.sType = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
.pNext = NULL,
.flags = VK_DEBUG_REPORT_WARNING_BIT_EXT,
.pfnCallback = mystdOutLogger,
.pUserData = NULL
};
res = vkCreateDebugReportCallbackEXT(instance, &callback3, &cb3);
if (res != VK_SUCCESS)
// Do error handling for VK_ERROR_OUT_OF_MEMORY
...
// remove callbacks when cleaning up
vkDestroyDebugReportCallbackEXT(instance, cb1);
vkDestroyDebugReportCallbackEXT(instance, cb2);
vkDestroyDebugReportCallbackEXT(instance, cb3);
- Name String
VK_EXT_debug_report- Extension Type
- Instance extension
- Registered Extension Number
- 12
- Revision
- 10
- API Interactions
- Interacts with VK_VERSION_1_1
- Deprecation State
- Deprecated by
VK_EXT_debug_utilsextension
- Deprecated by
- Special Use
- Contact
- Courtney Goeltzenleuchter courtney-g
Other Extension Metadata
- Last Modified Date
- 2020-12-14
- IP Status
- No known IP claims.
- Contributors
- Courtney Goeltzenleuchter, LunarG
- Dan Ginsburg, Valve
- Jon Ashburn, LunarG
- Mark Lobodzinski, LunarG
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intVkDebugReportFlagBitsEXT - Bitmask specifying events which cause a debug report callbackstatic final intVkDebugReportFlagBitsEXT - Bitmask specifying events which cause a debug report callbackstatic final intVkDebugReportFlagBitsEXT - Bitmask specifying events which cause a debug report callbackstatic final intVkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final intVkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final intVkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final intVkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final intVkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final intVkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final intVkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final intVkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final intVkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final intExtendsVkDebugReportObjectTypeEXT.static final intVkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final intVkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final intVkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final intVkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final intVkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final intVkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final intVkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final intVkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final intVkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final intVkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final intVkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final intVkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final intVkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final intVkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final intVkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final intVkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final intVkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final intVkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final intExtendsVkDebugReportObjectTypeEXT.static final intVkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final intVkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final intVkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final intVkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final intVkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final intVkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final intVkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final intVkDebugReportFlagBitsEXT - Bitmask specifying events which cause a debug report callbackstatic final intVkDebugReportFlagBitsEXT - Bitmask specifying events which cause a debug report callbackstatic final intExtendsVkResult.static final StringThe extension name.static final intThe extension specification version.static final intExtendsVkObjectType.static final intExtendsVkStructureType.static final intExtendsVkStructureType. -
Method Summary
Modifier and TypeMethodDescriptionstatic intnvkCreateDebugReportCallbackEXT(org.lwjgl.vulkan.VkInstance instance, long pCreateInfo, long pAllocator, long pCallback) Unsafe version of:CreateDebugReportCallbackEXTstatic voidnvkDebugReportMessageEXT(org.lwjgl.vulkan.VkInstance instance, int flags, int objectType, long object, long location, int messageCode, long pLayerPrefix, long pMessage) Unsafe version of:DebugReportMessageEXTstatic voidnvkDestroyDebugReportCallbackEXT(org.lwjgl.vulkan.VkInstance instance, long callback, long pAllocator) Unsafe version of:DestroyDebugReportCallbackEXTstatic intvkCreateDebugReportCallbackEXT(org.lwjgl.vulkan.VkInstance instance, VkDebugReportCallbackCreateInfoEXT pCreateInfo, @Nullable VkAllocationCallbacks pAllocator, long[] pCallback) Array version of:CreateDebugReportCallbackEXTstatic intvkCreateDebugReportCallbackEXT(org.lwjgl.vulkan.VkInstance instance, VkDebugReportCallbackCreateInfoEXT pCreateInfo, @Nullable VkAllocationCallbacks pAllocator, LongBuffer pCallback) Create a debug report callback object.static voidvkDebugReportMessageEXT(org.lwjgl.vulkan.VkInstance instance, int flags, int objectType, long object, long location, int messageCode, CharSequence pLayerPrefix, CharSequence pMessage) Inject a message into a debug stream.static voidvkDebugReportMessageEXT(org.lwjgl.vulkan.VkInstance instance, int flags, int objectType, long object, long location, int messageCode, ByteBuffer pLayerPrefix, ByteBuffer pMessage) Inject a message into a debug stream.static voidvkDestroyDebugReportCallbackEXT(org.lwjgl.vulkan.VkInstance instance, long callback, @Nullable VkAllocationCallbacks pAllocator) Destroy a debug report callback object.
-
Field Details
-
VK_EXT_DEBUG_REPORT_SPEC_VERSION
public static final int VK_EXT_DEBUG_REPORT_SPEC_VERSIONThe extension specification version.- See Also:
-
VK_EXT_DEBUG_REPORT_EXTENSION_NAME
The extension name.- See Also:
-
VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT
public static final int VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXTExtendsVkStructureType.Enum values:
- See Also:
-
VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT
public static final int VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXTExtendsVkStructureType.Enum values:
- See Also:
-
VK_ERROR_VALIDATION_FAILED_EXT
public static final int VK_ERROR_VALIDATION_FAILED_EXTExtendsVkResult.- See Also:
-
VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT
public static final int VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXTExtendsVkObjectType.- See Also:
-
VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXTExtendsVkDebugReportObjectTypeEXT.Enum values:
- See Also:
-
VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXTExtendsVkDebugReportObjectTypeEXT.Enum values:
- See Also:
-
VK_DEBUG_REPORT_INFORMATION_BIT_EXT
public static final int VK_DEBUG_REPORT_INFORMATION_BIT_EXTVkDebugReportFlagBitsEXT - Bitmask specifying events which cause a debug report callbackDescription
DEBUG_REPORT_ERROR_BIT_EXTspecifies that the application has violated a valid usage condition of the specification.DEBUG_REPORT_WARNING_BIT_EXTspecifies use of Vulkan that may expose an application 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.DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXTspecifies a potentially non-optimal use of Vulkan, e.g. usingCmdClearColorImagewhen settingVkAttachmentDescription::loadOptoATTACHMENT_LOAD_OP_CLEARwould have worked.DEBUG_REPORT_INFORMATION_BIT_EXTspecifies an informational message such as resource details that may be handy when debugging an application.DEBUG_REPORT_DEBUG_BIT_EXTspecifies diagnostic information from the implementation and layers.
- See Also:
-
VK_DEBUG_REPORT_WARNING_BIT_EXT
public static final int VK_DEBUG_REPORT_WARNING_BIT_EXTVkDebugReportFlagBitsEXT - Bitmask specifying events which cause a debug report callbackDescription
DEBUG_REPORT_ERROR_BIT_EXTspecifies that the application has violated a valid usage condition of the specification.DEBUG_REPORT_WARNING_BIT_EXTspecifies use of Vulkan that may expose an application 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.DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXTspecifies a potentially non-optimal use of Vulkan, e.g. usingCmdClearColorImagewhen settingVkAttachmentDescription::loadOptoATTACHMENT_LOAD_OP_CLEARwould have worked.DEBUG_REPORT_INFORMATION_BIT_EXTspecifies an informational message such as resource details that may be handy when debugging an application.DEBUG_REPORT_DEBUG_BIT_EXTspecifies diagnostic information from the implementation and layers.
- See Also:
-
VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT
public static final int VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXTVkDebugReportFlagBitsEXT - Bitmask specifying events which cause a debug report callbackDescription
DEBUG_REPORT_ERROR_BIT_EXTspecifies that the application has violated a valid usage condition of the specification.DEBUG_REPORT_WARNING_BIT_EXTspecifies use of Vulkan that may expose an application 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.DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXTspecifies a potentially non-optimal use of Vulkan, e.g. usingCmdClearColorImagewhen settingVkAttachmentDescription::loadOptoATTACHMENT_LOAD_OP_CLEARwould have worked.DEBUG_REPORT_INFORMATION_BIT_EXTspecifies an informational message such as resource details that may be handy when debugging an application.DEBUG_REPORT_DEBUG_BIT_EXTspecifies diagnostic information from the implementation and layers.
- See Also:
-
VK_DEBUG_REPORT_ERROR_BIT_EXT
public static final int VK_DEBUG_REPORT_ERROR_BIT_EXTVkDebugReportFlagBitsEXT - Bitmask specifying events which cause a debug report callbackDescription
DEBUG_REPORT_ERROR_BIT_EXTspecifies that the application has violated a valid usage condition of the specification.DEBUG_REPORT_WARNING_BIT_EXTspecifies use of Vulkan that may expose an application 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.DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXTspecifies a potentially non-optimal use of Vulkan, e.g. usingCmdClearColorImagewhen settingVkAttachmentDescription::loadOptoATTACHMENT_LOAD_OP_CLEARwould have worked.DEBUG_REPORT_INFORMATION_BIT_EXTspecifies an informational message such as resource details that may be handy when debugging an application.DEBUG_REPORT_DEBUG_BIT_EXTspecifies diagnostic information from the implementation and layers.
- See Also:
-
VK_DEBUG_REPORT_DEBUG_BIT_EXT
public static final int VK_DEBUG_REPORT_DEBUG_BIT_EXTVkDebugReportFlagBitsEXT - Bitmask specifying events which cause a debug report callbackDescription
DEBUG_REPORT_ERROR_BIT_EXTspecifies that the application has violated a valid usage condition of the specification.DEBUG_REPORT_WARNING_BIT_EXTspecifies use of Vulkan that may expose an application 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.DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXTspecifies a potentially non-optimal use of Vulkan, e.g. usingCmdClearColorImagewhen settingVkAttachmentDescription::loadOptoATTACHMENT_LOAD_OP_CLEARwould have worked.DEBUG_REPORT_INFORMATION_BIT_EXTspecifies an informational message such as resource details that may be handy when debugging an application.DEBUG_REPORT_DEBUG_BIT_EXTspecifies diagnostic information from the implementation and layers.
- See Also:
-
VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXTVkDebugReportObjectTypeEXT - Specify the type of an object handleDescription
VkDebugReportObjectTypeEXTand Vulkan Handle RelationshipNote
The primary expected use of
ERROR_VALIDATION_FAILED_EXTis 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
VkDebugReportCallbackEXT,VkDebugMarkerObjectNameInfoEXT,VkDebugMarkerObjectTagInfoEXT,DebugReportMessageEXTEnum values:
- See Also:
-
VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXTVkDebugReportObjectTypeEXT - Specify the type of an object handleDescription
VkDebugReportObjectTypeEXTand Vulkan Handle RelationshipNote
The primary expected use of
ERROR_VALIDATION_FAILED_EXTis 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
VkDebugReportCallbackEXT,VkDebugMarkerObjectNameInfoEXT,VkDebugMarkerObjectTagInfoEXT,DebugReportMessageEXTEnum values:
- See Also:
-
VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXTVkDebugReportObjectTypeEXT - Specify the type of an object handleDescription
VkDebugReportObjectTypeEXTand Vulkan Handle RelationshipNote
The primary expected use of
ERROR_VALIDATION_FAILED_EXTis 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
VkDebugReportCallbackEXT,VkDebugMarkerObjectNameInfoEXT,VkDebugMarkerObjectTagInfoEXT,DebugReportMessageEXTEnum values:
- See Also:
-
VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXTVkDebugReportObjectTypeEXT - Specify the type of an object handleDescription
VkDebugReportObjectTypeEXTand Vulkan Handle RelationshipNote
The primary expected use of
ERROR_VALIDATION_FAILED_EXTis 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
VkDebugReportCallbackEXT,VkDebugMarkerObjectNameInfoEXT,VkDebugMarkerObjectTagInfoEXT,DebugReportMessageEXTEnum values:
- See Also:
-
VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXTVkDebugReportObjectTypeEXT - Specify the type of an object handleDescription
VkDebugReportObjectTypeEXTand Vulkan Handle RelationshipNote
The primary expected use of
ERROR_VALIDATION_FAILED_EXTis 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
VkDebugReportCallbackEXT,VkDebugMarkerObjectNameInfoEXT,VkDebugMarkerObjectTagInfoEXT,DebugReportMessageEXTEnum values:
- See Also:
-
VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXTVkDebugReportObjectTypeEXT - Specify the type of an object handleDescription
VkDebugReportObjectTypeEXTand Vulkan Handle RelationshipNote
The primary expected use of
ERROR_VALIDATION_FAILED_EXTis 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
VkDebugReportCallbackEXT,VkDebugMarkerObjectNameInfoEXT,VkDebugMarkerObjectTagInfoEXT,DebugReportMessageEXTEnum values:
- See Also:
-
VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXTVkDebugReportObjectTypeEXT - Specify the type of an object handleDescription
VkDebugReportObjectTypeEXTand Vulkan Handle RelationshipNote
The primary expected use of
ERROR_VALIDATION_FAILED_EXTis 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
VkDebugReportCallbackEXT,VkDebugMarkerObjectNameInfoEXT,VkDebugMarkerObjectTagInfoEXT,DebugReportMessageEXTEnum values:
- See Also:
-
VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXTVkDebugReportObjectTypeEXT - Specify the type of an object handleDescription
VkDebugReportObjectTypeEXTand Vulkan Handle RelationshipNote
The primary expected use of
ERROR_VALIDATION_FAILED_EXTis 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
VkDebugReportCallbackEXT,VkDebugMarkerObjectNameInfoEXT,VkDebugMarkerObjectTagInfoEXT,DebugReportMessageEXTEnum values:
- See Also:
-
VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXTVkDebugReportObjectTypeEXT - Specify the type of an object handleDescription
VkDebugReportObjectTypeEXTand Vulkan Handle RelationshipNote
The primary expected use of
ERROR_VALIDATION_FAILED_EXTis 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
VkDebugReportCallbackEXT,VkDebugMarkerObjectNameInfoEXT,VkDebugMarkerObjectTagInfoEXT,DebugReportMessageEXTEnum values:
- See Also:
-
VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXTVkDebugReportObjectTypeEXT - Specify the type of an object handleDescription
VkDebugReportObjectTypeEXTand Vulkan Handle RelationshipNote
The primary expected use of
ERROR_VALIDATION_FAILED_EXTis 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
VkDebugReportCallbackEXT,VkDebugMarkerObjectNameInfoEXT,VkDebugMarkerObjectTagInfoEXT,DebugReportMessageEXTEnum values:
- See Also:
-
VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXTVkDebugReportObjectTypeEXT - Specify the type of an object handleDescription
VkDebugReportObjectTypeEXTand Vulkan Handle RelationshipNote
The primary expected use of
ERROR_VALIDATION_FAILED_EXTis 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
VkDebugReportCallbackEXT,VkDebugMarkerObjectNameInfoEXT,VkDebugMarkerObjectTagInfoEXT,DebugReportMessageEXTEnum values:
- See Also:
-
VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXTVkDebugReportObjectTypeEXT - Specify the type of an object handleDescription
VkDebugReportObjectTypeEXTand Vulkan Handle RelationshipNote
The primary expected use of
ERROR_VALIDATION_FAILED_EXTis 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
VkDebugReportCallbackEXT,VkDebugMarkerObjectNameInfoEXT,VkDebugMarkerObjectTagInfoEXT,DebugReportMessageEXTEnum values:
- See Also:
-
VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXTVkDebugReportObjectTypeEXT - Specify the type of an object handleDescription
VkDebugReportObjectTypeEXTand Vulkan Handle RelationshipNote
The primary expected use of
ERROR_VALIDATION_FAILED_EXTis 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
VkDebugReportCallbackEXT,VkDebugMarkerObjectNameInfoEXT,VkDebugMarkerObjectTagInfoEXT,DebugReportMessageEXTEnum values:
- See Also:
-
VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXTVkDebugReportObjectTypeEXT - Specify the type of an object handleDescription
VkDebugReportObjectTypeEXTand Vulkan Handle RelationshipNote
The primary expected use of
ERROR_VALIDATION_FAILED_EXTis 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
VkDebugReportCallbackEXT,VkDebugMarkerObjectNameInfoEXT,VkDebugMarkerObjectTagInfoEXT,DebugReportMessageEXTEnum values:
- See Also:
-
VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXTVkDebugReportObjectTypeEXT - Specify the type of an object handleDescription
VkDebugReportObjectTypeEXTand Vulkan Handle RelationshipNote
The primary expected use of
ERROR_VALIDATION_FAILED_EXTis 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
VkDebugReportCallbackEXT,VkDebugMarkerObjectNameInfoEXT,VkDebugMarkerObjectTagInfoEXT,DebugReportMessageEXTEnum values:
- See Also:
-
VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXTVkDebugReportObjectTypeEXT - Specify the type of an object handleDescription
VkDebugReportObjectTypeEXTand Vulkan Handle RelationshipNote
The primary expected use of
ERROR_VALIDATION_FAILED_EXTis 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
VkDebugReportCallbackEXT,VkDebugMarkerObjectNameInfoEXT,VkDebugMarkerObjectTagInfoEXT,DebugReportMessageEXTEnum values:
- See Also:
-
VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXTVkDebugReportObjectTypeEXT - Specify the type of an object handleDescription
VkDebugReportObjectTypeEXTand Vulkan Handle RelationshipNote
The primary expected use of
ERROR_VALIDATION_FAILED_EXTis 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
VkDebugReportCallbackEXT,VkDebugMarkerObjectNameInfoEXT,VkDebugMarkerObjectTagInfoEXT,DebugReportMessageEXTEnum values:
- See Also:
-
VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXTVkDebugReportObjectTypeEXT - Specify the type of an object handleDescription
VkDebugReportObjectTypeEXTand Vulkan Handle RelationshipNote
The primary expected use of
ERROR_VALIDATION_FAILED_EXTis 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
VkDebugReportCallbackEXT,VkDebugMarkerObjectNameInfoEXT,VkDebugMarkerObjectTagInfoEXT,DebugReportMessageEXTEnum values:
- See Also:
-
VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXTVkDebugReportObjectTypeEXT - Specify the type of an object handleDescription
VkDebugReportObjectTypeEXTand Vulkan Handle RelationshipNote
The primary expected use of
ERROR_VALIDATION_FAILED_EXTis 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
VkDebugReportCallbackEXT,VkDebugMarkerObjectNameInfoEXT,VkDebugMarkerObjectTagInfoEXT,DebugReportMessageEXTEnum values:
- See Also:
-
VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXTVkDebugReportObjectTypeEXT - Specify the type of an object handleDescription
VkDebugReportObjectTypeEXTand Vulkan Handle RelationshipNote
The primary expected use of
ERROR_VALIDATION_FAILED_EXTis 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
VkDebugReportCallbackEXT,VkDebugMarkerObjectNameInfoEXT,VkDebugMarkerObjectTagInfoEXT,DebugReportMessageEXTEnum values:
- See Also:
-
VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXTVkDebugReportObjectTypeEXT - Specify the type of an object handleDescription
VkDebugReportObjectTypeEXTand Vulkan Handle RelationshipNote
The primary expected use of
ERROR_VALIDATION_FAILED_EXTis 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
VkDebugReportCallbackEXT,VkDebugMarkerObjectNameInfoEXT,VkDebugMarkerObjectTagInfoEXT,DebugReportMessageEXTEnum values:
- See Also:
-
VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXTVkDebugReportObjectTypeEXT - Specify the type of an object handleDescription
VkDebugReportObjectTypeEXTand Vulkan Handle RelationshipNote
The primary expected use of
ERROR_VALIDATION_FAILED_EXTis 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
VkDebugReportCallbackEXT,VkDebugMarkerObjectNameInfoEXT,VkDebugMarkerObjectTagInfoEXT,DebugReportMessageEXTEnum values:
- See Also:
-
VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXTVkDebugReportObjectTypeEXT - Specify the type of an object handleDescription
VkDebugReportObjectTypeEXTand Vulkan Handle RelationshipNote
The primary expected use of
ERROR_VALIDATION_FAILED_EXTis 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
VkDebugReportCallbackEXT,VkDebugMarkerObjectNameInfoEXT,VkDebugMarkerObjectTagInfoEXT,DebugReportMessageEXTEnum values:
- See Also:
-
VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXTVkDebugReportObjectTypeEXT - Specify the type of an object handleDescription
VkDebugReportObjectTypeEXTand Vulkan Handle RelationshipNote
The primary expected use of
ERROR_VALIDATION_FAILED_EXTis 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
VkDebugReportCallbackEXT,VkDebugMarkerObjectNameInfoEXT,VkDebugMarkerObjectTagInfoEXT,DebugReportMessageEXTEnum values:
- See Also:
-
VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXTVkDebugReportObjectTypeEXT - Specify the type of an object handleDescription
VkDebugReportObjectTypeEXTand Vulkan Handle RelationshipNote
The primary expected use of
ERROR_VALIDATION_FAILED_EXTis 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
VkDebugReportCallbackEXT,VkDebugMarkerObjectNameInfoEXT,VkDebugMarkerObjectTagInfoEXT,DebugReportMessageEXTEnum values:
- See Also:
-
VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXTVkDebugReportObjectTypeEXT - Specify the type of an object handleDescription
VkDebugReportObjectTypeEXTand Vulkan Handle RelationshipNote
The primary expected use of
ERROR_VALIDATION_FAILED_EXTis 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
VkDebugReportCallbackEXT,VkDebugMarkerObjectNameInfoEXT,VkDebugMarkerObjectTagInfoEXT,DebugReportMessageEXTEnum values:
- See Also:
-
VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXTVkDebugReportObjectTypeEXT - Specify the type of an object handleDescription
VkDebugReportObjectTypeEXTand Vulkan Handle RelationshipNote
The primary expected use of
ERROR_VALIDATION_FAILED_EXTis 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
VkDebugReportCallbackEXT,VkDebugMarkerObjectNameInfoEXT,VkDebugMarkerObjectTagInfoEXT,DebugReportMessageEXTEnum values:
- See Also:
-
VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXTVkDebugReportObjectTypeEXT - Specify the type of an object handleDescription
VkDebugReportObjectTypeEXTand Vulkan Handle RelationshipNote
The primary expected use of
ERROR_VALIDATION_FAILED_EXTis 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
VkDebugReportCallbackEXT,VkDebugMarkerObjectNameInfoEXT,VkDebugMarkerObjectTagInfoEXT,DebugReportMessageEXTEnum values:
- See Also:
-
VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXTVkDebugReportObjectTypeEXT - Specify the type of an object handleDescription
VkDebugReportObjectTypeEXTand Vulkan Handle RelationshipNote
The primary expected use of
ERROR_VALIDATION_FAILED_EXTis 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
VkDebugReportCallbackEXT,VkDebugMarkerObjectNameInfoEXT,VkDebugMarkerObjectTagInfoEXT,DebugReportMessageEXTEnum values:
- See Also:
-
VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXTVkDebugReportObjectTypeEXT - Specify the type of an object handleDescription
VkDebugReportObjectTypeEXTand Vulkan Handle RelationshipNote
The primary expected use of
ERROR_VALIDATION_FAILED_EXTis 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
VkDebugReportCallbackEXT,VkDebugMarkerObjectNameInfoEXT,VkDebugMarkerObjectTagInfoEXT,DebugReportMessageEXTEnum values:
- See Also:
-
VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXTVkDebugReportObjectTypeEXT - Specify the type of an object handleDescription
VkDebugReportObjectTypeEXTand Vulkan Handle RelationshipNote
The primary expected use of
ERROR_VALIDATION_FAILED_EXTis 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
VkDebugReportCallbackEXT,VkDebugMarkerObjectNameInfoEXT,VkDebugMarkerObjectTagInfoEXT,DebugReportMessageEXTEnum values:
- See Also:
-
VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXTVkDebugReportObjectTypeEXT - Specify the type of an object handleDescription
VkDebugReportObjectTypeEXTand Vulkan Handle RelationshipNote
The primary expected use of
ERROR_VALIDATION_FAILED_EXTis 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
VkDebugReportCallbackEXT,VkDebugMarkerObjectNameInfoEXT,VkDebugMarkerObjectTagInfoEXT,DebugReportMessageEXTEnum values:
- See Also:
-
VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXTVkDebugReportObjectTypeEXT - Specify the type of an object handleDescription
VkDebugReportObjectTypeEXTand Vulkan Handle RelationshipNote
The primary expected use of
ERROR_VALIDATION_FAILED_EXTis 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
VkDebugReportCallbackEXT,VkDebugMarkerObjectNameInfoEXT,VkDebugMarkerObjectTagInfoEXT,DebugReportMessageEXTEnum values:
- See Also:
-
VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXTVkDebugReportObjectTypeEXT - Specify the type of an object handleDescription
VkDebugReportObjectTypeEXTand Vulkan Handle RelationshipNote
The primary expected use of
ERROR_VALIDATION_FAILED_EXTis 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
VkDebugReportCallbackEXT,VkDebugMarkerObjectNameInfoEXT,VkDebugMarkerObjectTagInfoEXT,DebugReportMessageEXTEnum values:
- See Also:
-
-
Method Details
-
nvkCreateDebugReportCallbackEXT
public static int nvkCreateDebugReportCallbackEXT(org.lwjgl.vulkan.VkInstance instance, long pCreateInfo, long pAllocator, long pCallback) Unsafe version of:CreateDebugReportCallbackEXT -
vkCreateDebugReportCallbackEXT
public static int vkCreateDebugReportCallbackEXT(org.lwjgl.vulkan.VkInstance instance, VkDebugReportCallbackCreateInfoEXT pCreateInfo, @Nullable VkAllocationCallbacks pAllocator, LongBuffer pCallback) Create a debug report callback object.C Specification
Debug report callbacks give more detailed feedback on the application’s use of Vulkan when events of interest occur.
To register a debug report callback, an application uses
CreateDebugReportCallbackEXT.VkResult vkCreateDebugReportCallbackEXT( VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback);Valid Usage (Implicit)
instancemust be a validVkInstancehandlepCreateInfomust be a valid pointer to a validVkDebugReportCallbackCreateInfoEXTstructure- If
pAllocatoris notNULL,pAllocatormust be a valid pointer to a validVkAllocationCallbacksstructure pCallbackmust be a valid pointer to aVkDebugReportCallbackEXThandle
Return Codes
- On success, this command returns
- On failure, this command returns
See Also
- Parameters:
instance- the instance the callback will be logged on.pCreateInfo- a pointer to aVkDebugReportCallbackCreateInfoEXTstructure defining the conditions under which this callback will be called.pAllocator- controls host memory allocation as described in the Memory Allocation chapter.pCallback- a pointer to aVkDebugReportCallbackEXThandle in which the created object is returned.
-
nvkDestroyDebugReportCallbackEXT
public static void nvkDestroyDebugReportCallbackEXT(org.lwjgl.vulkan.VkInstance instance, long callback, long pAllocator) Unsafe version of:DestroyDebugReportCallbackEXT -
vkDestroyDebugReportCallbackEXT
public static void vkDestroyDebugReportCallbackEXT(org.lwjgl.vulkan.VkInstance instance, long callback, @Nullable VkAllocationCallbacks pAllocator) Destroy a debug report callback object.C Specification
To destroy a
VkDebugReportCallbackEXTobject, call:void vkDestroyDebugReportCallbackEXT( VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator);Valid Usage
- If
VkAllocationCallbackswere provided whencallbackwas created, a compatible set of callbacks must be provided here - If no
VkAllocationCallbackswere provided whencallbackwas created,pAllocatormust beNULL
Valid Usage (Implicit)
instancemust be a validVkInstancehandle- If
callbackis notNULL_HANDLE,callbackmust be a validVkDebugReportCallbackEXThandle - If
pAllocatoris notNULL,pAllocatormust be a valid pointer to a validVkAllocationCallbacksstructure - If
callbackis a valid handle, it must have been created, allocated, or retrieved frominstance
Host Synchronization
- Host access to
callbackmust be externally synchronized
See Also
- Parameters:
instance- the instance where the callback was created.callback- theVkDebugReportCallbackEXTobject to destroy.callbackis an externally synchronized object and must not be used on more than one thread at a time. This means thatvkDestroyDebugReportCallbackEXTmust not be called when a callback is active.pAllocator- controls host memory allocation as described in the Memory Allocation chapter.
- If
-
nvkDebugReportMessageEXT
public static void nvkDebugReportMessageEXT(org.lwjgl.vulkan.VkInstance instance, int flags, int objectType, long object, long location, int messageCode, long pLayerPrefix, long pMessage) Unsafe version of:DebugReportMessageEXT -
vkDebugReportMessageEXT
public static void vkDebugReportMessageEXT(org.lwjgl.vulkan.VkInstance instance, int flags, int objectType, long object, long location, int messageCode, ByteBuffer pLayerPrefix, ByteBuffer pMessage) Inject a message into a debug stream.C Specification
To inject its own messages into the debug stream, call:
void vkDebugReportMessageEXT( VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const char* pLayerPrefix, const char* pMessage);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
pUserDatavalue 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 inVkDebugReportObjectTypeEXTand Vulkan Handle Relationship
Valid Usage (Implicit)
instancemust be a validVkInstancehandleflagsmust be a valid combination ofVkDebugReportFlagBitsEXTvaluesflagsmust not be 0objectTypemust be a validVkDebugReportObjectTypeEXTvaluepLayerPrefixmust be a null-terminated UTF-8 stringpMessagemust be a null-terminated UTF-8 string
- Parameters:
instance- the debug stream’sVkInstance.flags- specifies theVkDebugReportFlagBitsEXTclassification of this event/message.objectType- aVkDebugReportObjectTypeEXTspecifying the type of object being used or created at the time the event was triggered.object- the object where the issue was detected.objectcan beNULL_HANDLEif there is no object associated with the event.location- an application-defined value.messageCode- an application-defined value.pLayerPrefix- the abbreviation of the component making this event/message.pMessage- a null-terminated UTF-8 string detailing the trigger conditions.
-
vkDebugReportMessageEXT
public static void vkDebugReportMessageEXT(org.lwjgl.vulkan.VkInstance instance, int flags, int objectType, long object, long location, int messageCode, CharSequence pLayerPrefix, CharSequence pMessage) Inject a message into a debug stream.C Specification
To inject its own messages into the debug stream, call:
void vkDebugReportMessageEXT( VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const char* pLayerPrefix, const char* pMessage);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
pUserDatavalue 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 inVkDebugReportObjectTypeEXTand Vulkan Handle Relationship
Valid Usage (Implicit)
instancemust be a validVkInstancehandleflagsmust be a valid combination ofVkDebugReportFlagBitsEXTvaluesflagsmust not be 0objectTypemust be a validVkDebugReportObjectTypeEXTvaluepLayerPrefixmust be a null-terminated UTF-8 stringpMessagemust be a null-terminated UTF-8 string
- Parameters:
instance- the debug stream’sVkInstance.flags- specifies theVkDebugReportFlagBitsEXTclassification of this event/message.objectType- aVkDebugReportObjectTypeEXTspecifying the type of object being used or created at the time the event was triggered.object- the object where the issue was detected.objectcan beNULL_HANDLEif there is no object associated with the event.location- an application-defined value.messageCode- an application-defined value.pLayerPrefix- the abbreviation of the component making this event/message.pMessage- a null-terminated UTF-8 string detailing the trigger conditions.
-
vkCreateDebugReportCallbackEXT
public static int vkCreateDebugReportCallbackEXT(org.lwjgl.vulkan.VkInstance instance, VkDebugReportCallbackCreateInfoEXT pCreateInfo, @Nullable VkAllocationCallbacks pAllocator, long[] pCallback) Array version of:CreateDebugReportCallbackEXT
-