Top Description Fields Constructors Methods
org.lwjgl.openxr

public Class EXTDebugUtils

extends Object
Class Inheritance
Imports
org.lwjgl.*, org.lwjgl.system.*

The XR_EXT_debug_utils extension.

Due to the nature of the OpenXR interface, there is very little error information available to the developer and application. By using the XR_EXT_debug_utils extension, developers can obtain more information. When combined with validation layers, even more detailed feedback on the application’s use of OpenXR will be provided.

This extension provides the following capabilities:

Field Summary

Modifier and TypeField and Description
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final String
public static final int
XR_EXT_debug_utils_SPEC_VERSION

The extension specification version.

public static final int
public static final int
XR_TYPE_DEBUG_UTILS_LABEL_EXT

Extends XrStructureType.

public static final int
public static final int
public static final int

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
public static int
nxrCreateDebugUtilsMessengerEXT(XrInstance instance, long createInfo, long messenger)

Unsafe version of: CreateDebugUtilsMessengerEXT

public static int
public static int
public static int
nxrSetDebugUtilsObjectNameEXT(XrInstance instance, long nameInfo)

Unsafe version of: SetDebugUtilsObjectNameEXT

public static int
nxrSubmitDebugUtilsMessageEXT(XrInstance instance, long messageSeverity, long messageTypes, long callbackData)

Unsafe version of: SubmitDebugUtilsMessageEXT

public static int
xrCreateDebugUtilsMessengerEXT(XrInstance
the instance the messenger will be used with.
instance
,
XrDebugUtilsMessengerCreateInfoEXT
points to an XrDebugUtilsMessengerCreateInfoEXT structure, which contains the callback pointer as well as defines the conditions under which this messenger will trigger the callback.
createInfo
,
PointerBuffer
a pointer to which the created XrDebugUtilsMessengerEXT object is returned.
messenger
)

Creates a debug messenger.

public static int
xrDestroyDebugUtilsMessengerEXT(XrDebugUtilsMessengerEXT
the XrDebugUtilsMessengerEXT object to destroy. messenger is an externally synchronized object and must not be used on more than one thread at a time. This means that DestroyDebugUtilsMessengerEXT must not be called when a callback is active.
messenger
)

Destroys a debug messenger.

public static int
xrSessionBeginDebugUtilsLabelRegionEXT(XrSession
the XrSession that a label region should be associated with.
session
,
XrDebugUtilsLabelEXT
the XrDebugUtilsLabelEXT containing the label information for the region that should be begun.
labelInfo
)

Session begin debug utils label region.

public static int
xrSessionEndDebugUtilsLabelRegionEXT(XrSession
the XrSession that a label region should be associated with.
session
)

Session end debug utils label region.

public static int
xrSessionInsertDebugUtilsLabelEXT(XrSession
the XrSession that a label region should be associated with.
session
,
XrDebugUtilsLabelEXT
the XrDebugUtilsLabelEXT containing the label information for the region that should be begun.
labelInfo
)

Session insert debug utils label.

public static int
xrSetDebugUtilsObjectNameEXT(XrInstance
the XrInstance that the object was created under.
instance
,
XrDebugUtilsObjectNameInfoEXT
a pointer to an instance of the XrDebugUtilsObjectNameInfoEXT structure specifying the parameters of the name to set on the object.
nameInfo
)

Sets debug utils object name.

public static int
xrSubmitDebugUtilsMessageEXT(XrInstance
the debug stream’s XrInstance.
instance
,
long
a single bit value of XrDebugUtilsMessageSeverityFlagsEXT severity of this event/message.
messageSeverity
,
long
an XrDebugUtilsMessageTypeFlagsEXT bitmask of XrDebugUtilsMessageTypeFlagBitsEXT specifying which types of event to identify this message with.
messageTypes
,
XrDebugUtilsMessengerCallbackDataEXT
contains all the callback related data in the XrDebugUtilsMessengerCallbackDataEXT structure.
callbackData
)

Submits debug utils message.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

XR_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXTback to summary
public static final int XR_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT

XrDebugUtilsMessageSeverityFlagBitsEXT - XrDebugUtilsMessageSeverityFlagBitsEXT

Enum values:
XR_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXTback to summary
public static final int XR_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT

XrDebugUtilsMessageSeverityFlagBitsEXT - XrDebugUtilsMessageSeverityFlagBitsEXT

Enum values:
XR_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXTback to summary
public static final int XR_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT

XrDebugUtilsMessageSeverityFlagBitsEXT - XrDebugUtilsMessageSeverityFlagBitsEXT

Enum values:
XR_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXTback to summary
public static final int XR_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT

XrDebugUtilsMessageSeverityFlagBitsEXT - XrDebugUtilsMessageSeverityFlagBitsEXT

Enum values:
XR_DEBUG_UTILS_MESSAGE_TYPE_CONFORMANCE_BIT_EXTback to summary
public static final int XR_DEBUG_UTILS_MESSAGE_TYPE_CONFORMANCE_BIT_EXT

XrDebugUtilsMessageTypeFlagBitsEXT - XrDebugUtilsMessageTypeFlagBitsEXT

Enum values:
XR_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXTback to summary
public static final int XR_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT

XrDebugUtilsMessageTypeFlagBitsEXT - XrDebugUtilsMessageTypeFlagBitsEXT

Enum values:
XR_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXTback to summary
public static final int XR_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT

XrDebugUtilsMessageTypeFlagBitsEXT - XrDebugUtilsMessageTypeFlagBitsEXT

Enum values:
XR_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXTback to summary
public static final int XR_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT

XrDebugUtilsMessageTypeFlagBitsEXT - XrDebugUtilsMessageTypeFlagBitsEXT

Enum values:
XR_EXT_DEBUG_UTILS_EXTENSION_NAMEback to summary
public static final String XR_EXT_DEBUG_UTILS_EXTENSION_NAME

The extension name.

XR_EXT_debug_utils_SPEC_VERSIONback to summary
public static final int XR_EXT_debug_utils_SPEC_VERSION

The extension specification version.

XR_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXTback to summary
public static final int XR_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT

Extends XrObjectType.

XR_TYPE_DEBUG_UTILS_LABEL_EXTback to summary
public static final int XR_TYPE_DEBUG_UTILS_LABEL_EXT

Extends XrStructureType.

Enum values:
XR_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXTback to summary
public static final int XR_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT

Extends XrStructureType.

Enum values:
XR_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXTback to summary
public static final int XR_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT

Extends XrStructureType.

Enum values:
XR_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXTback to summary
public static final int XR_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT

Extends XrStructureType.

Enum values:

Constructor Detail

EXTDebugUtilsback to summary
protected EXTDebugUtils()

Method Detail

nxrCreateDebugUtilsMessengerEXTback to summary
public static int nxrCreateDebugUtilsMessengerEXT(XrInstance instance, long createInfo, long messenger)

Unsafe version of: CreateDebugUtilsMessengerEXT

nxrSessionBeginDebugUtilsLabelRegionEXTback to summary
public static int nxrSessionBeginDebugUtilsLabelRegionEXT(XrSession session, long labelInfo)

Unsafe version of: SessionBeginDebugUtilsLabelRegionEXT

nxrSessionInsertDebugUtilsLabelEXTback to summary
public static int nxrSessionInsertDebugUtilsLabelEXT(XrSession session, long labelInfo)

Unsafe version of: SessionInsertDebugUtilsLabelEXT

nxrSetDebugUtilsObjectNameEXTback to summary
public static int nxrSetDebugUtilsObjectNameEXT(XrInstance instance, long nameInfo)

Unsafe version of: SetDebugUtilsObjectNameEXT

nxrSubmitDebugUtilsMessageEXTback to summary
public static int nxrSubmitDebugUtilsMessageEXT(XrInstance instance, long messageSeverity, long messageTypes, long callbackData)

Unsafe version of: SubmitDebugUtilsMessageEXT

xrCreateDebugUtilsMessengerEXTback to summary
public static int xrCreateDebugUtilsMessengerEXT(XrInstance instance, XrDebugUtilsMessengerCreateInfoEXT createInfo, PointerBuffer messenger)

Creates a debug messenger.

C Specification

XrResult xrCreateDebugUtilsMessengerEXT(
    XrInstance                                  instance,
    const XrDebugUtilsMessengerCreateInfoEXT*   createInfo,
    XrDebugUtilsMessengerEXT*                   messenger);
Valid Usage (Implicit)
Thread Safety
  • Access to instance, and any child handles, must be externally synchronized
Return Codes
On success, this command returns
On failure, this command returns

The application must ensure that CreateDebugUtilsMessengerEXT is not executed in parallel with any OpenXR function that is also called with instance or child of instance.

When an event of interest occurs a debug messenger calls its createInfo->userCallback with a debug message from the producer of the event. Additionally, the debug messenger must filter out any debug messages that the application’s callback is not interested in based on XrDebugUtilsMessengerCreateInfoEXT flags, as described below.

See Also

XrDebugUtilsMessengerCreateInfoEXT, DestroyDebugUtilsMessengerEXT

Parameters
instance:XrInstance

the instance the messenger will be used with.

createInfo:XrDebugUtilsMessengerCreateInfoEXT

points to an XrDebugUtilsMessengerCreateInfoEXT structure, which contains the callback pointer as well as defines the conditions under which this messenger will trigger the callback.

messenger:PointerBuffer

a pointer to which the created XrDebugUtilsMessengerEXT object is returned.

Annotations
@NativeType:XrResult
xrDestroyDebugUtilsMessengerEXTback to summary
public static int xrDestroyDebugUtilsMessengerEXT(XrDebugUtilsMessengerEXT messenger)

Destroys a debug messenger.

C Specification

XrResult xrDestroyDebugUtilsMessengerEXT(
    XrDebugUtilsMessengerEXT                    messenger);
Valid Usage (Implicit)
Thread Safety
  • Access to messenger must be externally synchronized
  • Access to the XrInstance used to create messenger, and all of its child handles must be externally synchronized
Return Codes
On success, this command returns
On failure, this command returns

The application must ensure that DestroyDebugUtilsMessengerEXT is not executed in parallel with any OpenXR function that is also called with the instance or child of instance that it was created with.

See Also

CreateDebugUtilsMessengerEXT

Parameters
messenger:XrDebugUtilsMessengerEXT

the XrDebugUtilsMessengerEXT object to destroy. messenger is an externally synchronized object and must not be used on more than one thread at a time. This means that DestroyDebugUtilsMessengerEXT must not be called when a callback is active.

Annotations
@NativeType:XrResult
xrSessionBeginDebugUtilsLabelRegionEXTback to summary
public static int xrSessionBeginDebugUtilsLabelRegionEXT(XrSession session, XrDebugUtilsLabelEXT labelInfo)

Session begin debug utils label region.

C Specification

XrResult xrSessionBeginDebugUtilsLabelRegionEXT(
    XrSession                                   session,
    const XrDebugUtilsLabelEXT*                 labelInfo);
Valid Usage (Implicit)
Return Codes
On success, this command returns
On failure, this command returns

The SessionBeginDebugUtilsLabelRegionEXT function begins a label region within session.

See Also

XrDebugUtilsLabelEXT

Parameters
session:XrSession

the XrSession that a label region should be associated with.

labelInfo:XrDebugUtilsLabelEXT

the XrDebugUtilsLabelEXT containing the label information for the region that should be begun.

Annotations
@NativeType:XrResult
xrSessionEndDebugUtilsLabelRegionEXTback to summary
public static int xrSessionEndDebugUtilsLabelRegionEXT(XrSession session)

Session end debug utils label region.

C Specification

XrResult xrSessionEndDebugUtilsLabelRegionEXT(
    XrSession                                   session);
Valid Usage
Valid Usage (Implicit)
Return Codes
On success, this command returns
On failure, this command returns

This function ends the last label region begun with the SessionBeginDebugUtilsLabelRegionEXT function within the same session.

Parameters
session:XrSession

the XrSession that a label region should be associated with.

Annotations
@NativeType:XrResult
xrSessionInsertDebugUtilsLabelEXTback to summary
public static int xrSessionInsertDebugUtilsLabelEXT(XrSession session, XrDebugUtilsLabelEXT labelInfo)

Session insert debug utils label.

C Specification

XrResult xrSessionInsertDebugUtilsLabelEXT(
    XrSession                                   session,
    const XrDebugUtilsLabelEXT*                 labelInfo);
Valid Usage (Implicit)
Return Codes
On success, this command returns
On failure, this command returns

The SessionInsertDebugUtilsLabelEXT function inserts an individual label within session. The individual labels are useful for different reasons based on the type of debugging scenario. When used with something active like a profiler or debugger, it identifies a single point of time. When used with logging, the individual label identifies that a particular location has been passed at the point the log message is triggered. Because of this usage, individual labels only exist in a log until the next call to any of the label functions:

See Also

XrDebugUtilsLabelEXT, SessionBeginDebugUtilsLabelRegionEXT, SessionEndDebugUtilsLabelRegionEXT

Parameters
session:XrSession

the XrSession that a label region should be associated with.

labelInfo:XrDebugUtilsLabelEXT

the XrDebugUtilsLabelEXT containing the label information for the region that should be begun.

Annotations
@NativeType:XrResult
xrSetDebugUtilsObjectNameEXTback to summary
public static int xrSetDebugUtilsObjectNameEXT(XrInstance instance, XrDebugUtilsObjectNameInfoEXT nameInfo)

Sets debug utils object name.

C Specification

XrResult xrSetDebugUtilsObjectNameEXT(
    XrInstance                                  instance,
    const XrDebugUtilsObjectNameInfoEXT*        nameInfo);
Valid Usage
Valid Usage (Implicit)
Thread Safety
  • Access to the objectHandle member of the nameInfo parameter must be externally synchronized
Return Codes
On success, this command returns
On failure, this command returns

Applications may change the name associated with an object simply by calling SetDebugUtilsObjectNameEXT again with a new string. If XrDebugUtilsObjectNameInfoEXT::objectName is an empty string, then any previously set name is removed.

See Also

XrDebugUtilsObjectNameInfoEXT

Parameters
instance:XrInstance

the XrInstance that the object was created under.

nameInfo:XrDebugUtilsObjectNameInfoEXT

a pointer to an instance of the XrDebugUtilsObjectNameInfoEXT structure specifying the parameters of the name to set on the object.

Annotations
@NativeType:XrResult
xrSubmitDebugUtilsMessageEXTback to summary
public static int xrSubmitDebugUtilsMessageEXT(XrInstance instance, long messageSeverity, long messageTypes, XrDebugUtilsMessengerCallbackDataEXT callbackData)

Submits debug utils message.

C Specification

XrResult                                    xrSubmitDebugUtilsMessageEXT(
    XrInstance                                  instance,
    XrDebugUtilsMessageSeverityFlagsEXT         messageSeverity,
    XrDebugUtilsMessageTypeFlagsEXT             messageTypes,
    const XrDebugUtilsMessengerCallbackDataEXT* callbackData);
Valid Usage
Valid Usage (Implicit)
  • The XR_EXT_debug_utils extension must be enabled prior to calling SubmitDebugUtilsMessageEXT
  • instance must be a valid XrInstance handle
  • messageSeverity must be a valid combination of XrDebugUtilsMessageSeverityFlagBitsEXT values
  • messageSeverity must not be 0
  • messageTypes must be a valid combination of XrDebugUtilsMessageTypeFlagBitsEXT values
  • messageTypes must not be 0
  • callbackData must be a pointer to a valid XrDebugUtilsMessengerCallbackDataEXT structure
Return Codes
On success, this command returns
On failure, this command returns

The application can also produce a debug message, and submit it into the OpenXR messaging system.

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 userData value that was defined at the time the messenger was created.

See Also

XrDebugUtilsMessengerCallbackDataEXT

Parameters
instance:XrInstance

the debug stream’s XrInstance.

messageSeverity:long

a single bit value of XrDebugUtilsMessageSeverityFlagsEXT severity of this event/message.

messageTypes:long

an XrDebugUtilsMessageTypeFlagsEXT bitmask of XrDebugUtilsMessageTypeFlagBitsEXT specifying which types of event to identify this message with.

callbackData:XrDebugUtilsMessengerCallbackDataEXT

contains all the callback related data in the XrDebugUtilsMessengerCallbackDataEXT structure.

Annotations
@NativeType:XrResult