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);
VK_EXT_debug_report
- Name String
VK_EXT_debug_report
- Extension Type
- Instance extension
- Registered Extension Number
- 12
- Revision
- 10
- Deprecation State
- Deprecated by
VK_EXT_debug_utils
extension
- 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
Modifier and TypeFieldDescriptionstatic final int
VkDebugReportFlagBitsEXT - Bitmask specifying events which cause a debug report callbackstatic final int
VkDebugReportFlagBitsEXT - Bitmask specifying events which cause a debug report callbackstatic final int
VkDebugReportFlagBitsEXT - Bitmask specifying events which cause a debug report callbackstatic final int
VkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final int
VkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final int
VkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final int
VkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final int
VkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final int
VkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final int
VkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final int
VkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final int
VkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final int
ExtendsVkDebugReportObjectTypeEXT
.static final int
VkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final int
VkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final int
VkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final int
VkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final int
VkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final int
VkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final int
VkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final int
VkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final int
VkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final int
VkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final int
VkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final int
VkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final int
VkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final int
VkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final int
VkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final int
VkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final int
VkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final int
VkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final int
ExtendsVkDebugReportObjectTypeEXT
.static final int
VkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final int
VkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final int
VkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final int
VkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final int
VkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final int
VkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final int
VkDebugReportObjectTypeEXT - Specify the type of an object handlestatic final int
VkDebugReportFlagBitsEXT - Bitmask specifying events which cause a debug report callbackstatic final int
VkDebugReportFlagBitsEXT - Bitmask specifying events which cause a debug report callbackstatic final int
ExtendsVkResult
.static final String
The extension name.static final int
The extension specification version.static final int
ExtendsVkObjectType
.static final int
ExtendsVkStructureType
.static final int
ExtendsVkStructureType
. -
Method Summary
Modifier and TypeMethodDescriptionstatic int
nvkCreateDebugReportCallbackEXT
(VkInstance instance, long pCreateInfo, long pAllocator, long pCallback) Unsafe version of:CreateDebugReportCallbackEXT
static void
nvkDebugReportMessageEXT
(VkInstance instance, int flags, int objectType, long object, long location, int messageCode, long pLayerPrefix, long pMessage) Unsafe version of:DebugReportMessageEXT
static void
nvkDestroyDebugReportCallbackEXT
(VkInstance instance, long callback, long pAllocator) Unsafe version of:DestroyDebugReportCallbackEXT
static int
vkCreateDebugReportCallbackEXT
(VkInstance instance, VkDebugReportCallbackCreateInfoEXT pCreateInfo, VkAllocationCallbacks pAllocator, long[] pCallback) Array version of:CreateDebugReportCallbackEXT
static int
vkCreateDebugReportCallbackEXT
(VkInstance instance, VkDebugReportCallbackCreateInfoEXT pCreateInfo, VkAllocationCallbacks pAllocator, LongBuffer pCallback) Create a debug report callback object.static void
vkDebugReportMessageEXT
(VkInstance instance, int flags, int objectType, long object, long location, int messageCode, CharSequence pLayerPrefix, CharSequence pMessage) Inject a message into a debug stream.static void
vkDebugReportMessageEXT
(VkInstance instance, int flags, int objectType, long object, long location, int messageCode, ByteBuffer pLayerPrefix, ByteBuffer pMessage) Inject a message into a debug stream.static void
vkDestroyDebugReportCallbackEXT
(VkInstance instance, long callback, 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_EXT
specifies that the application has violated a valid usage condition of the specification.DEBUG_REPORT_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.DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT
specifies a potentially non-optimal use of Vulkan, e.g. usingCmdClearColorImage
when settingVkAttachmentDescription
::loadOp
toATTACHMENT_LOAD_OP_CLEAR
would have worked.DEBUG_REPORT_INFORMATION_BIT_EXT
specifies an informational message such as resource details that may be handy when debugging an application.DEBUG_REPORT_DEBUG_BIT_EXT
specifies 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_EXT
specifies that the application has violated a valid usage condition of the specification.DEBUG_REPORT_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.DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT
specifies a potentially non-optimal use of Vulkan, e.g. usingCmdClearColorImage
when settingVkAttachmentDescription
::loadOp
toATTACHMENT_LOAD_OP_CLEAR
would have worked.DEBUG_REPORT_INFORMATION_BIT_EXT
specifies an informational message such as resource details that may be handy when debugging an application.DEBUG_REPORT_DEBUG_BIT_EXT
specifies 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_EXT
specifies that the application has violated a valid usage condition of the specification.DEBUG_REPORT_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.DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT
specifies a potentially non-optimal use of Vulkan, e.g. usingCmdClearColorImage
when settingVkAttachmentDescription
::loadOp
toATTACHMENT_LOAD_OP_CLEAR
would have worked.DEBUG_REPORT_INFORMATION_BIT_EXT
specifies an informational message such as resource details that may be handy when debugging an application.DEBUG_REPORT_DEBUG_BIT_EXT
specifies 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_EXT
specifies that the application has violated a valid usage condition of the specification.DEBUG_REPORT_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.DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT
specifies a potentially non-optimal use of Vulkan, e.g. usingCmdClearColorImage
when settingVkAttachmentDescription
::loadOp
toATTACHMENT_LOAD_OP_CLEAR
would have worked.DEBUG_REPORT_INFORMATION_BIT_EXT
specifies an informational message such as resource details that may be handy when debugging an application.DEBUG_REPORT_DEBUG_BIT_EXT
specifies 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_EXT
specifies that the application has violated a valid usage condition of the specification.DEBUG_REPORT_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.DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT
specifies a potentially non-optimal use of Vulkan, e.g. usingCmdClearColorImage
when settingVkAttachmentDescription
::loadOp
toATTACHMENT_LOAD_OP_CLEAR
would have worked.DEBUG_REPORT_INFORMATION_BIT_EXT
specifies an informational message such as resource details that may be handy when debugging an application.DEBUG_REPORT_DEBUG_BIT_EXT
specifies 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
VkDebugReportObjectTypeEXT
and Vulkan Handle RelationshipNote
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
VkDebugMarkerObjectNameInfoEXT
,VkDebugMarkerObjectTagInfoEXT
,DebugReportMessageEXT
Enum 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
VkDebugReportObjectTypeEXT
and Vulkan Handle RelationshipNote
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
VkDebugMarkerObjectNameInfoEXT
,VkDebugMarkerObjectTagInfoEXT
,DebugReportMessageEXT
Enum 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
VkDebugReportObjectTypeEXT
and Vulkan Handle RelationshipNote
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
VkDebugMarkerObjectNameInfoEXT
,VkDebugMarkerObjectTagInfoEXT
,DebugReportMessageEXT
Enum 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
VkDebugReportObjectTypeEXT
and Vulkan Handle RelationshipNote
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
VkDebugMarkerObjectNameInfoEXT
,VkDebugMarkerObjectTagInfoEXT
,DebugReportMessageEXT
Enum 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
VkDebugReportObjectTypeEXT
and Vulkan Handle RelationshipNote
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
VkDebugMarkerObjectNameInfoEXT
,VkDebugMarkerObjectTagInfoEXT
,DebugReportMessageEXT
Enum 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
VkDebugReportObjectTypeEXT
and Vulkan Handle RelationshipNote
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
VkDebugMarkerObjectNameInfoEXT
,VkDebugMarkerObjectTagInfoEXT
,DebugReportMessageEXT
Enum 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
VkDebugReportObjectTypeEXT
and Vulkan Handle RelationshipNote
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
VkDebugMarkerObjectNameInfoEXT
,VkDebugMarkerObjectTagInfoEXT
,DebugReportMessageEXT
Enum 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
VkDebugReportObjectTypeEXT
and Vulkan Handle RelationshipNote
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
VkDebugMarkerObjectNameInfoEXT
,VkDebugMarkerObjectTagInfoEXT
,DebugReportMessageEXT
Enum 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
VkDebugReportObjectTypeEXT
and Vulkan Handle RelationshipNote
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
VkDebugMarkerObjectNameInfoEXT
,VkDebugMarkerObjectTagInfoEXT
,DebugReportMessageEXT
Enum 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
VkDebugReportObjectTypeEXT
and Vulkan Handle RelationshipNote
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
VkDebugMarkerObjectNameInfoEXT
,VkDebugMarkerObjectTagInfoEXT
,DebugReportMessageEXT
Enum 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
VkDebugReportObjectTypeEXT
and Vulkan Handle RelationshipNote
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
VkDebugMarkerObjectNameInfoEXT
,VkDebugMarkerObjectTagInfoEXT
,DebugReportMessageEXT
Enum 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
VkDebugReportObjectTypeEXT
and Vulkan Handle RelationshipNote
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
VkDebugMarkerObjectNameInfoEXT
,VkDebugMarkerObjectTagInfoEXT
,DebugReportMessageEXT
Enum 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
VkDebugReportObjectTypeEXT
and Vulkan Handle RelationshipNote
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
VkDebugMarkerObjectNameInfoEXT
,VkDebugMarkerObjectTagInfoEXT
,DebugReportMessageEXT
Enum 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
VkDebugReportObjectTypeEXT
and Vulkan Handle RelationshipNote
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
VkDebugMarkerObjectNameInfoEXT
,VkDebugMarkerObjectTagInfoEXT
,DebugReportMessageEXT
Enum 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
VkDebugReportObjectTypeEXT
and Vulkan Handle RelationshipNote
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
VkDebugMarkerObjectNameInfoEXT
,VkDebugMarkerObjectTagInfoEXT
,DebugReportMessageEXT
Enum 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
VkDebugReportObjectTypeEXT
and Vulkan Handle RelationshipNote
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
VkDebugMarkerObjectNameInfoEXT
,VkDebugMarkerObjectTagInfoEXT
,DebugReportMessageEXT
Enum 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
VkDebugReportObjectTypeEXT
and Vulkan Handle RelationshipNote
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
VkDebugMarkerObjectNameInfoEXT
,VkDebugMarkerObjectTagInfoEXT
,DebugReportMessageEXT
Enum 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
VkDebugReportObjectTypeEXT
and Vulkan Handle RelationshipNote
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
VkDebugMarkerObjectNameInfoEXT
,VkDebugMarkerObjectTagInfoEXT
,DebugReportMessageEXT
Enum 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
VkDebugReportObjectTypeEXT
and Vulkan Handle RelationshipNote
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
VkDebugMarkerObjectNameInfoEXT
,VkDebugMarkerObjectTagInfoEXT
,DebugReportMessageEXT
Enum 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
VkDebugReportObjectTypeEXT
and Vulkan Handle RelationshipNote
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
VkDebugMarkerObjectNameInfoEXT
,VkDebugMarkerObjectTagInfoEXT
,DebugReportMessageEXT
Enum 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
VkDebugReportObjectTypeEXT
and Vulkan Handle RelationshipNote
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
VkDebugMarkerObjectNameInfoEXT
,VkDebugMarkerObjectTagInfoEXT
,DebugReportMessageEXT
Enum 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
VkDebugReportObjectTypeEXT
and Vulkan Handle RelationshipNote
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
VkDebugMarkerObjectNameInfoEXT
,VkDebugMarkerObjectTagInfoEXT
,DebugReportMessageEXT
Enum 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
VkDebugReportObjectTypeEXT
and Vulkan Handle RelationshipNote
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
VkDebugMarkerObjectNameInfoEXT
,VkDebugMarkerObjectTagInfoEXT
,DebugReportMessageEXT
Enum 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
VkDebugReportObjectTypeEXT
and Vulkan Handle RelationshipNote
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
VkDebugMarkerObjectNameInfoEXT
,VkDebugMarkerObjectTagInfoEXT
,DebugReportMessageEXT
Enum 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
VkDebugReportObjectTypeEXT
and Vulkan Handle RelationshipNote
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
VkDebugMarkerObjectNameInfoEXT
,VkDebugMarkerObjectTagInfoEXT
,DebugReportMessageEXT
Enum 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
VkDebugReportObjectTypeEXT
and Vulkan Handle RelationshipNote
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
VkDebugMarkerObjectNameInfoEXT
,VkDebugMarkerObjectTagInfoEXT
,DebugReportMessageEXT
Enum 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
VkDebugReportObjectTypeEXT
and Vulkan Handle RelationshipNote
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
VkDebugMarkerObjectNameInfoEXT
,VkDebugMarkerObjectTagInfoEXT
,DebugReportMessageEXT
Enum 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
VkDebugReportObjectTypeEXT
and Vulkan Handle RelationshipNote
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
VkDebugMarkerObjectNameInfoEXT
,VkDebugMarkerObjectTagInfoEXT
,DebugReportMessageEXT
Enum 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
VkDebugReportObjectTypeEXT
and Vulkan Handle RelationshipNote
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
VkDebugMarkerObjectNameInfoEXT
,VkDebugMarkerObjectTagInfoEXT
,DebugReportMessageEXT
Enum 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
VkDebugReportObjectTypeEXT
and Vulkan Handle RelationshipNote
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
VkDebugMarkerObjectNameInfoEXT
,VkDebugMarkerObjectTagInfoEXT
,DebugReportMessageEXT
Enum 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
VkDebugReportObjectTypeEXT
and Vulkan Handle RelationshipNote
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
VkDebugMarkerObjectNameInfoEXT
,VkDebugMarkerObjectTagInfoEXT
,DebugReportMessageEXT
Enum 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
VkDebugReportObjectTypeEXT
and Vulkan Handle RelationshipNote
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
VkDebugMarkerObjectNameInfoEXT
,VkDebugMarkerObjectTagInfoEXT
,DebugReportMessageEXT
Enum 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
VkDebugReportObjectTypeEXT
and Vulkan Handle RelationshipNote
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
VkDebugMarkerObjectNameInfoEXT
,VkDebugMarkerObjectTagInfoEXT
,DebugReportMessageEXT
Enum 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
VkDebugReportObjectTypeEXT
and Vulkan Handle RelationshipNote
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
VkDebugMarkerObjectNameInfoEXT
,VkDebugMarkerObjectTagInfoEXT
,DebugReportMessageEXT
Enum values:
- See Also:
-
-
Method Details
-
nvkCreateDebugReportCallbackEXT
public static int nvkCreateDebugReportCallbackEXT(VkInstance instance, long pCreateInfo, long pAllocator, long pCallback) Unsafe version of:CreateDebugReportCallbackEXT
-
vkCreateDebugReportCallbackEXT
public static int vkCreateDebugReportCallbackEXT(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)
instance
must be a validVkInstance
handlepCreateInfo
must be a valid pointer to a validVkDebugReportCallbackCreateInfoEXT
structure- If
pAllocator
is notNULL
,pAllocator
must be a valid pointer to a validVkAllocationCallbacks
structure pCallback
must be a valid pointer to aVkDebugReportCallbackEXT
handle
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 aVkDebugReportCallbackCreateInfoEXT
structure 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 aVkDebugReportCallbackEXT
handle in which the created object is returned.
-
nvkDestroyDebugReportCallbackEXT
public static void nvkDestroyDebugReportCallbackEXT(VkInstance instance, long callback, long pAllocator) Unsafe version of:DestroyDebugReportCallbackEXT
-
vkDestroyDebugReportCallbackEXT
public static void vkDestroyDebugReportCallbackEXT(VkInstance instance, long callback, @Nullable VkAllocationCallbacks pAllocator) Destroy a debug report callback object.C Specification
To destroy a
VkDebugReportCallbackEXT
object, call:void vkDestroyDebugReportCallbackEXT( VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator);
Valid Usage
- If
VkAllocationCallbacks
were provided whencallback
was created, a compatible set of callbacks must be provided here - If no
VkAllocationCallbacks
were provided whencallback
was created,pAllocator
must beNULL
Valid Usage (Implicit)
instance
must be a validVkInstance
handle- If
callback
is notNULL_HANDLE
,callback
must be a validVkDebugReportCallbackEXT
handle - If
pAllocator
is notNULL
,pAllocator
must be a valid pointer to a validVkAllocationCallbacks
structure - If
callback
is a valid handle, it must have been created, allocated, or retrieved frominstance
Host Synchronization
- Host access to
callback
must be externally synchronized
See Also
- Parameters:
instance
- the instance where the callback was created.callback
- theVkDebugReportCallbackEXT
object to destroy.callback
is an externally synchronized object and must not be used on more than one thread at a time. This means thatvkDestroyDebugReportCallbackEXT
must 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(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(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
pUserData
value that was defined at the time the callback was registered.Valid Usage
object
must be a Vulkan object orNULL_HANDLE
- If
objectType
is notDEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT
andobject
is notNULL_HANDLE
,object
must be a Vulkan object of the corresponding type associated withobjectType
as defined inVkDebugReportObjectTypeEXT
and Vulkan Handle Relationship
Valid Usage (Implicit)
instance
must be a validVkInstance
handleflags
must be a valid combination ofVkDebugReportFlagBitsEXT
valuesflags
must not be 0objectType
must be a validVkDebugReportObjectTypeEXT
valuepLayerPrefix
must be a null-terminated UTF-8 stringpMessage
must be a null-terminated UTF-8 string
- Parameters:
instance
- the debug stream’sVkInstance
.flags
- specifies theVkDebugReportFlagBitsEXT
classification of this event/message.objectType
- aVkDebugReportObjectTypeEXT
specifying the type of object being used or created at the time the event was triggered.object
- the object where the issue was detected.object
can beNULL_HANDLE
if 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 string detailing the trigger conditions.
-
vkDebugReportMessageEXT
public static void vkDebugReportMessageEXT(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
pUserData
value that was defined at the time the callback was registered.Valid Usage
object
must be a Vulkan object orNULL_HANDLE
- If
objectType
is notDEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT
andobject
is notNULL_HANDLE
,object
must be a Vulkan object of the corresponding type associated withobjectType
as defined inVkDebugReportObjectTypeEXT
and Vulkan Handle Relationship
Valid Usage (Implicit)
instance
must be a validVkInstance
handleflags
must be a valid combination ofVkDebugReportFlagBitsEXT
valuesflags
must not be 0objectType
must be a validVkDebugReportObjectTypeEXT
valuepLayerPrefix
must be a null-terminated UTF-8 stringpMessage
must be a null-terminated UTF-8 string
- Parameters:
instance
- the debug stream’sVkInstance
.flags
- specifies theVkDebugReportFlagBitsEXT
classification of this event/message.objectType
- aVkDebugReportObjectTypeEXT
specifying the type of object being used or created at the time the event was triggered.object
- the object where the issue was detected.object
can beNULL_HANDLE
if 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 string detailing the trigger conditions.
-
vkCreateDebugReportCallbackEXT
public static int vkCreateDebugReportCallbackEXT(VkInstance instance, VkDebugReportCallbackCreateInfoEXT pCreateInfo, @Nullable VkAllocationCallbacks pAllocator, long[] pCallback) Array version of:CreateDebugReportCallbackEXT
-