public class EXTDebugReport
extends java.lang.Object
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.
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. This callback is only valid for the duration of the CreateInstance and the DestroyInstance call. Use CreateDebugReportCallbackEXT to create persistent callback objects.
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 = {
VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT, // sType
NULL, // pNext
VK_DEBUG_REPORT_ERROR_BIT_EXT | // flags
VK_DEBUG_REPORT_WARNING_BIT_EXT,
myOutputDebugString, // pfnCallback
NULL // pUserData
};
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 = {
VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT, // sType
NULL, // pNext
VK_DEBUG_REPORT_WARNING_BIT_EXT, // flags
mystdOutLogger, // pfnCallback
NULL // pUserData
};
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_reportVK_EXT_debug_utils extension| Modifier and Type | Field and Description |
|---|---|
static int |
VK_DEBUG_REPORT_DEBUG_BIT_EXT
VkDebugReportFlagBitsEXT - Bitmask specifying events which cause a debug report callback
|
static int |
VK_DEBUG_REPORT_ERROR_BIT_EXT
VkDebugReportFlagBitsEXT - Bitmask specifying events which cause a debug report callback
|
static int |
VK_DEBUG_REPORT_INFORMATION_BIT_EXT
VkDebugReportFlagBitsEXT - Bitmask specifying events which cause a debug report callback
|
static int |
VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT
VkDebugReportObjectTypeEXT - Specify the type of an object handle
|
static int |
VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT
VkDebugReportObjectTypeEXT - Specify the type of an object handle
|
static int |
VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT
VkDebugReportObjectTypeEXT - Specify the type of an object handle
|
static int |
VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT
VkDebugReportObjectTypeEXT - Specify the type of an object handle
|
static int |
VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT
VkDebugReportObjectTypeEXT - Specify the type of an object handle
|
static int |
VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT
VkDebugReportObjectTypeEXT - Specify the type of an object handle
|
static int |
VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT
VkDebugReportObjectTypeEXT - Specify the type of an object handle
|
static int |
VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT
VkDebugReportObjectTypeEXT - Specify the type of an object handle
|
static int |
VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT
VkDebugReportObjectTypeEXT - Specify the type of an object handle
|
static int |
VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT
Extends
VkDebugReportObjectTypeEXT. |
static int |
VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT
VkDebugReportObjectTypeEXT - Specify the type of an object handle
|
static int |
VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT
VkDebugReportObjectTypeEXT - Specify the type of an object handle
|
static int |
VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT
VkDebugReportObjectTypeEXT - Specify the type of an object handle
|
static int |
VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT
VkDebugReportObjectTypeEXT - Specify the type of an object handle
|
static int |
VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT
VkDebugReportObjectTypeEXT - Specify the type of an object handle
|
static int |
VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT
VkDebugReportObjectTypeEXT - Specify the type of an object handle
|
static int |
VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT
VkDebugReportObjectTypeEXT - Specify the type of an object handle
|
static int |
VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT
VkDebugReportObjectTypeEXT - Specify the type of an object handle
|
static int |
VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT
VkDebugReportObjectTypeEXT - Specify the type of an object handle
|
static int |
VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT
VkDebugReportObjectTypeEXT - Specify the type of an object handle
|
static int |
VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT
VkDebugReportObjectTypeEXT - Specify the type of an object handle
|
static int |
VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT
VkDebugReportObjectTypeEXT - Specify the type of an object handle
|
static int |
VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT
VkDebugReportObjectTypeEXT - Specify the type of an object handle
|
static int |
VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT
VkDebugReportObjectTypeEXT - Specify the type of an object handle
|
static int |
VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT
VkDebugReportObjectTypeEXT - Specify the type of an object handle
|
static int |
VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT
VkDebugReportObjectTypeEXT - Specify the type of an object handle
|
static int |
VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT
VkDebugReportObjectTypeEXT - Specify the type of an object handle
|
static int |
VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT
VkDebugReportObjectTypeEXT - Specify the type of an object handle
|
static int |
VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT
VkDebugReportObjectTypeEXT - Specify the type of an object handle
|
static int |
VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT
VkDebugReportObjectTypeEXT - Specify the type of an object handle
|
static int |
VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT
Extends
VkDebugReportObjectTypeEXT. |
static int |
VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT
VkDebugReportObjectTypeEXT - Specify the type of an object handle
|
static int |
VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT
VkDebugReportObjectTypeEXT - Specify the type of an object handle
|
static int |
VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT
VkDebugReportObjectTypeEXT - Specify the type of an object handle
|
static int |
VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT
VkDebugReportObjectTypeEXT - Specify the type of an object handle
|
static int |
VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT
VkDebugReportObjectTypeEXT - Specify the type of an object handle
|
static int |
VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT
VkDebugReportObjectTypeEXT - Specify the type of an object handle
|
static int |
VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT
VkDebugReportObjectTypeEXT - Specify the type of an object handle
|
static int |
VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT
VkDebugReportFlagBitsEXT - Bitmask specifying events which cause a debug report callback
|
static int |
VK_DEBUG_REPORT_WARNING_BIT_EXT
VkDebugReportFlagBitsEXT - Bitmask specifying events which cause a debug report callback
|
static int |
VK_ERROR_VALIDATION_FAILED_EXT
Extends
VkResult. |
static java.lang.String |
VK_EXT_DEBUG_REPORT_EXTENSION_NAME
The extension name.
|
static int |
VK_EXT_DEBUG_REPORT_SPEC_VERSION
The extension specification version.
|
static int |
VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT
Extends
VkObjectType. |
static int |
VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT
Extends
VkStructureType. |
static int |
VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT
Extends
VkStructureType. |
| Modifier and Type | Method and Description |
|---|---|
static int |
nvkCreateDebugReportCallbackEXT(org.lwjgl.vulkan.VkInstance instance,
long pCreateInfo,
long pAllocator,
long pCallback)
Unsafe version of:
CreateDebugReportCallbackEXT |
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 |
static void |
nvkDestroyDebugReportCallbackEXT(org.lwjgl.vulkan.VkInstance instance,
long callback,
long pAllocator)
Unsafe version of:
DestroyDebugReportCallbackEXT |
static int |
vkCreateDebugReportCallbackEXT(org.lwjgl.vulkan.VkInstance instance,
VkDebugReportCallbackCreateInfoEXT pCreateInfo,
VkAllocationCallbacks pAllocator,
long[] pCallback)
Array version of:
CreateDebugReportCallbackEXT |
static int |
vkCreateDebugReportCallbackEXT(org.lwjgl.vulkan.VkInstance instance,
VkDebugReportCallbackCreateInfoEXT pCreateInfo,
VkAllocationCallbacks pAllocator,
java.nio.LongBuffer pCallback)
Create a debug report callback object.
|
static void |
vkDebugReportMessageEXT(org.lwjgl.vulkan.VkInstance instance,
int flags,
int objectType,
long object,
long location,
int messageCode,
java.nio.ByteBuffer pLayerPrefix,
java.nio.ByteBuffer pMessage)
Inject a message into a debug stream.
|
static void |
vkDebugReportMessageEXT(org.lwjgl.vulkan.VkInstance instance,
int flags,
int objectType,
long object,
long location,
int messageCode,
java.lang.CharSequence pLayerPrefix,
java.lang.CharSequence pMessage)
Inject a message into a debug stream.
|
static void |
vkDestroyDebugReportCallbackEXT(org.lwjgl.vulkan.VkInstance instance,
long callback,
VkAllocationCallbacks pAllocator)
Destroy a debug report callback object.
|
public static final int VK_EXT_DEBUG_REPORT_SPEC_VERSION
public static final java.lang.String VK_EXT_DEBUG_REPORT_EXTENSION_NAME
public static final int VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT
VkStructureType.
public static final int VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT
VkStructureType.
public static final int VK_ERROR_VALIDATION_FAILED_EXT
VkResult.public static final int VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT
VkObjectType.public static final int VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT
VkDebugReportObjectTypeEXT.
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT
VkDebugReportObjectTypeEXT.
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT
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.
VkDebugMarkerObjectNameInfoEXT, VkDebugMarkerObjectTagInfoEXT, DebugReportMessageEXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT
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.
VkDebugMarkerObjectNameInfoEXT, VkDebugMarkerObjectTagInfoEXT, DebugReportMessageEXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT
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.
VkDebugMarkerObjectNameInfoEXT, VkDebugMarkerObjectTagInfoEXT, DebugReportMessageEXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT
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.
VkDebugMarkerObjectNameInfoEXT, VkDebugMarkerObjectTagInfoEXT, DebugReportMessageEXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT
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.
VkDebugMarkerObjectNameInfoEXT, VkDebugMarkerObjectTagInfoEXT, DebugReportMessageEXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT
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.
VkDebugMarkerObjectNameInfoEXT, VkDebugMarkerObjectTagInfoEXT, DebugReportMessageEXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT
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.
VkDebugMarkerObjectNameInfoEXT, VkDebugMarkerObjectTagInfoEXT, DebugReportMessageEXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT
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.
VkDebugMarkerObjectNameInfoEXT, VkDebugMarkerObjectTagInfoEXT, DebugReportMessageEXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT
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.
VkDebugMarkerObjectNameInfoEXT, VkDebugMarkerObjectTagInfoEXT, DebugReportMessageEXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT
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.
VkDebugMarkerObjectNameInfoEXT, VkDebugMarkerObjectTagInfoEXT, DebugReportMessageEXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT
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.
VkDebugMarkerObjectNameInfoEXT, VkDebugMarkerObjectTagInfoEXT, DebugReportMessageEXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT
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.
VkDebugMarkerObjectNameInfoEXT, VkDebugMarkerObjectTagInfoEXT, DebugReportMessageEXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT
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.
VkDebugMarkerObjectNameInfoEXT, VkDebugMarkerObjectTagInfoEXT, DebugReportMessageEXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT
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.
VkDebugMarkerObjectNameInfoEXT, VkDebugMarkerObjectTagInfoEXT, DebugReportMessageEXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT
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.
VkDebugMarkerObjectNameInfoEXT, VkDebugMarkerObjectTagInfoEXT, DebugReportMessageEXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT
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.
VkDebugMarkerObjectNameInfoEXT, VkDebugMarkerObjectTagInfoEXT, DebugReportMessageEXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT
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.
VkDebugMarkerObjectNameInfoEXT, VkDebugMarkerObjectTagInfoEXT, DebugReportMessageEXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT
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.
VkDebugMarkerObjectNameInfoEXT, VkDebugMarkerObjectTagInfoEXT, DebugReportMessageEXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT
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.
VkDebugMarkerObjectNameInfoEXT, VkDebugMarkerObjectTagInfoEXT, DebugReportMessageEXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT
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.
VkDebugMarkerObjectNameInfoEXT, VkDebugMarkerObjectTagInfoEXT, DebugReportMessageEXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT
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.
VkDebugMarkerObjectNameInfoEXT, VkDebugMarkerObjectTagInfoEXT, DebugReportMessageEXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT
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.
VkDebugMarkerObjectNameInfoEXT, VkDebugMarkerObjectTagInfoEXT, DebugReportMessageEXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT
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.
VkDebugMarkerObjectNameInfoEXT, VkDebugMarkerObjectTagInfoEXT, DebugReportMessageEXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT
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.
VkDebugMarkerObjectNameInfoEXT, VkDebugMarkerObjectTagInfoEXT, DebugReportMessageEXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT
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.
VkDebugMarkerObjectNameInfoEXT, VkDebugMarkerObjectTagInfoEXT, DebugReportMessageEXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT
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.
VkDebugMarkerObjectNameInfoEXT, VkDebugMarkerObjectTagInfoEXT, DebugReportMessageEXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT
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.
VkDebugMarkerObjectNameInfoEXT, VkDebugMarkerObjectTagInfoEXT, DebugReportMessageEXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT
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.
VkDebugMarkerObjectNameInfoEXT, VkDebugMarkerObjectTagInfoEXT, DebugReportMessageEXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT
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.
VkDebugMarkerObjectNameInfoEXT, VkDebugMarkerObjectTagInfoEXT, DebugReportMessageEXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT
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.
VkDebugMarkerObjectNameInfoEXT, VkDebugMarkerObjectTagInfoEXT, DebugReportMessageEXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT
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.
VkDebugMarkerObjectNameInfoEXT, VkDebugMarkerObjectTagInfoEXT, DebugReportMessageEXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT
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.
VkDebugMarkerObjectNameInfoEXT, VkDebugMarkerObjectTagInfoEXT, DebugReportMessageEXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT
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.
VkDebugMarkerObjectNameInfoEXT, VkDebugMarkerObjectTagInfoEXT, DebugReportMessageEXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT
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.
VkDebugMarkerObjectNameInfoEXT, VkDebugMarkerObjectTagInfoEXT, DebugReportMessageEXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT
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.
VkDebugMarkerObjectNameInfoEXT, VkDebugMarkerObjectTagInfoEXT, DebugReportMessageEXT
public static final int VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT
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.
VkDebugMarkerObjectNameInfoEXT, VkDebugMarkerObjectTagInfoEXT, DebugReportMessageEXT
public static final int VK_DEBUG_REPORT_INFORMATION_BIT_EXT
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. using CmdClearColorImage when setting VkAttachmentDescription::loadOp to ATTACHMENT_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.VkDebugReportFlagsEXT
public static final int VK_DEBUG_REPORT_WARNING_BIT_EXT
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. using CmdClearColorImage when setting VkAttachmentDescription::loadOp to ATTACHMENT_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.VkDebugReportFlagsEXT
public static final int VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT
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. using CmdClearColorImage when setting VkAttachmentDescription::loadOp to ATTACHMENT_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.VkDebugReportFlagsEXT
public static final int VK_DEBUG_REPORT_ERROR_BIT_EXT
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. using CmdClearColorImage when setting VkAttachmentDescription::loadOp to ATTACHMENT_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.VkDebugReportFlagsEXT
public static final int VK_DEBUG_REPORT_DEBUG_BIT_EXT
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. using CmdClearColorImage when setting VkAttachmentDescription::loadOp to ATTACHMENT_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.VkDebugReportFlagsEXT
public static int nvkCreateDebugReportCallbackEXT(org.lwjgl.vulkan.VkInstance instance,
long pCreateInfo,
long pAllocator,
long pCallback)
CreateDebugReportCallbackEXTpublic static int vkCreateDebugReportCallbackEXT(org.lwjgl.vulkan.VkInstance instance,
VkDebugReportCallbackCreateInfoEXT pCreateInfo,
@Nullable
VkAllocationCallbacks pAllocator,
java.nio.LongBuffer pCallback)
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);
instance must be a valid VkInstance handlepCreateInfo must be a valid pointer to a valid VkDebugReportCallbackCreateInfoEXT structurepAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structurepCallback must be a valid pointer to a VkDebugReportCallbackEXT handleinstance - the instance the callback will be logged on.pCreateInfo - a pointer to a VkDebugReportCallbackCreateInfoEXT 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 a VkDebugReportCallbackEXT handle in which the created object is returned.public static void nvkDestroyDebugReportCallbackEXT(org.lwjgl.vulkan.VkInstance instance,
long callback,
long pAllocator)
DestroyDebugReportCallbackEXTpublic static void vkDestroyDebugReportCallbackEXT(org.lwjgl.vulkan.VkInstance instance,
long callback,
@Nullable
VkAllocationCallbacks pAllocator)
To destroy a VkDebugReportCallbackEXT object, call:
void vkDestroyDebugReportCallbackEXT(
VkInstance instance,
VkDebugReportCallbackEXT callback,
const VkAllocationCallbacks* pAllocator);
VkAllocationCallbacks were provided when callback was created, a compatible set of callbacks must be provided hereVkAllocationCallbacks were provided when callback was created, pAllocator must be NULLinstance must be a valid VkInstance handlecallback must be a valid VkDebugReportCallbackEXT handlepAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structurecallback must have been created, allocated, or retrieved from instancecallback must be externally synchronizedinstance - the instance where the callback was created.callback - the VkDebugReportCallbackEXT object to destroy. callback is an externally synchronized object and must not be used on more than one thread at a time. This means that vkDestroyDebugReportCallbackEXT must not be called when a callback is active.pAllocator - controls host memory allocation as described in the Memory Allocation chapter.public static void nvkDebugReportMessageEXT(org.lwjgl.vulkan.VkInstance instance,
int flags,
int objectType,
long object,
long location,
int messageCode,
long pLayerPrefix,
long pMessage)
DebugReportMessageEXTpublic static void vkDebugReportMessageEXT(org.lwjgl.vulkan.VkInstance instance,
int flags,
int objectType,
long object,
long location,
int messageCode,
java.nio.ByteBuffer pLayerPrefix,
java.nio.ByteBuffer pMessage)
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);
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.
object must be a Vulkan object or NULL_HANDLEobjectType is not DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT and object is not NULL_HANDLE, object must be a Vulkan object of the corresponding type associated with objectType as defined in VkDebugReportObjectTypeEXT and Vulkan Handle Relationship.instance must be a valid VkInstance handleflags must be a valid combination of VkDebugReportFlagBitsEXT valuesflags must not be 0objectType must be a valid VkDebugReportObjectTypeEXT valuepLayerPrefix must be a null-terminated UTF-8 stringpMessage must be a null-terminated UTF-8 stringinstance - the debug stream’s VkInstance.flags - specifies the VkDebugReportFlagBitsEXT classification of this event/message.objectType - a VkDebugReportObjectTypeEXT specifying the type of object being used or created at the time the event was triggered.object - this is the object where the issue was detected. object can be NULL_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.public static void vkDebugReportMessageEXT(org.lwjgl.vulkan.VkInstance instance,
int flags,
int objectType,
long object,
long location,
int messageCode,
java.lang.CharSequence pLayerPrefix,
java.lang.CharSequence pMessage)
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);
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.
object must be a Vulkan object or NULL_HANDLEobjectType is not DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT and object is not NULL_HANDLE, object must be a Vulkan object of the corresponding type associated with objectType as defined in VkDebugReportObjectTypeEXT and Vulkan Handle Relationship.instance must be a valid VkInstance handleflags must be a valid combination of VkDebugReportFlagBitsEXT valuesflags must not be 0objectType must be a valid VkDebugReportObjectTypeEXT valuepLayerPrefix must be a null-terminated UTF-8 stringpMessage must be a null-terminated UTF-8 stringinstance - the debug stream’s VkInstance.flags - specifies the VkDebugReportFlagBitsEXT classification of this event/message.objectType - a VkDebugReportObjectTypeEXT specifying the type of object being used or created at the time the event was triggered.object - this is the object where the issue was detected. object can be NULL_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.public static int vkCreateDebugReportCallbackEXT(org.lwjgl.vulkan.VkInstance instance,
VkDebugReportCallbackCreateInfoEXT pCreateInfo,
@Nullable
VkAllocationCallbacks pAllocator,
long[] pCallback)
CreateDebugReportCallbackEXTCopyright LWJGL. All Rights Reserved. License terms.