monado/src/xrt/state_trackers/oxr/oxr_api_debug.c
2021-03-08 11:20:52 +00:00

126 lines
3.7 KiB
C

// Copyright 2019, Collabora, Ltd.
// SPDX-License-Identifier: BSL-1.0
/*!
* @file
* @brief Debug messaging entrypoints for the OpenXR state tracker.
* @author Jakob Bornecrantz <jakob@collabora.com>
* @ingroup oxr_api
*/
#include "util/u_trace_marker.h"
#include "oxr_objects.h"
#include "oxr_logger.h"
#include "oxr_api_funcs.h"
#include "oxr_api_verify.h"
XrResult
oxr_xrSetDebugUtilsObjectNameEXT(XrInstance instance, const XrDebugUtilsObjectNameInfoEXT *nameInfo)
{
OXR_TRACE_MARKER();
struct oxr_instance *inst;
struct oxr_logger log;
OXR_VERIFY_INSTANCE_AND_INIT_LOG(&log, instance, inst, "xrSetDebugUtilsObjectNameEXT");
OXR_VERIFY_EXTENSION(&log, inst, EXT_debug_utils);
return oxr_error(&log, XR_ERROR_RUNTIME_FAILURE, " not implemented");
}
XrResult
oxr_xrCreateDebugUtilsMessengerEXT(XrInstance instance,
const XrDebugUtilsMessengerCreateInfoEXT *createInfo,
XrDebugUtilsMessengerEXT *messenger)
{
OXR_TRACE_MARKER();
struct oxr_instance *inst;
struct oxr_debug_messenger *mssngr;
struct oxr_logger log;
OXR_VERIFY_INSTANCE_AND_INIT_LOG(&log, instance, inst, "xrCreateDebugUtilsMessengerEXT");
OXR_VERIFY_EXTENSION(&log, inst, EXT_debug_utils);
OXR_VERIFY_ARG_TYPE_AND_NOT_NULL(&log, createInfo, XR_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT);
OXR_VERIFY_ARG_NOT_NULL(&log, messenger);
XrResult ret = oxr_create_messenger(&log, inst, createInfo, &mssngr);
if (ret != XR_SUCCESS) {
return ret;
}
*messenger = oxr_messenger_to_openxr(mssngr);
return XR_SUCCESS;
}
XrResult
oxr_xrDestroyDebugUtilsMessengerEXT(XrDebugUtilsMessengerEXT messenger)
{
OXR_TRACE_MARKER();
struct oxr_debug_messenger *mssngr;
struct oxr_logger log;
OXR_VERIFY_MESSENGER_AND_INIT_LOG(&log, messenger, mssngr, "xrDestroyDebugUtilsMessengerEXT");
OXR_VERIFY_EXTENSION(&log, mssngr->inst, EXT_debug_utils);
return oxr_handle_destroy(&log, &mssngr->handle);
}
XrResult
oxr_xrSubmitDebugUtilsMessageEXT(XrInstance instance,
XrDebugUtilsMessageSeverityFlagsEXT messageSeverity,
XrDebugUtilsMessageTypeFlagsEXT messageTypes,
const XrDebugUtilsMessengerCallbackDataEXT *callbackData)
{
OXR_TRACE_MARKER();
struct oxr_instance *inst;
struct oxr_logger log;
OXR_VERIFY_INSTANCE_AND_INIT_LOG(&log, instance, inst, "xrSubmitDebugUtilsMessageEXT");
OXR_VERIFY_EXTENSION(&log, inst, EXT_debug_utils);
oxr_warn(&log, " not fully implemented");
return XR_SUCCESS;
}
XrResult
oxr_xrSessionBeginDebugUtilsLabelRegionEXT(XrSession session, const XrDebugUtilsLabelEXT *labelInfo)
{
OXR_TRACE_MARKER();
struct oxr_session *sess;
struct oxr_logger log;
OXR_VERIFY_SESSION_AND_INIT_LOG(&log, session, sess, "xrSessionBeginDebugUtilsLabelRegionEXT");
OXR_VERIFY_EXTENSION(&log, sess->sys->inst, EXT_debug_utils);
return oxr_error(&log, XR_ERROR_RUNTIME_FAILURE, " not implemented");
}
XrResult
oxr_xrSessionEndDebugUtilsLabelRegionEXT(XrSession session)
{
OXR_TRACE_MARKER();
struct oxr_session *sess;
struct oxr_logger log;
OXR_VERIFY_SESSION_AND_INIT_LOG(&log, session, sess, "xrSessionEndDebugUtilsLabelRegionEXT");
OXR_VERIFY_EXTENSION(&log, sess->sys->inst, EXT_debug_utils);
return oxr_error(&log, XR_ERROR_RUNTIME_FAILURE, " not implemented");
}
XrResult
oxr_xrSessionInsertDebugUtilsLabelEXT(XrSession session, const XrDebugUtilsLabelEXT *labelInfo)
{
OXR_TRACE_MARKER();
struct oxr_session *sess;
struct oxr_logger log;
OXR_VERIFY_SESSION_AND_INIT_LOG(&log, session, sess, "xrSessionInsertDebugUtilsLabelEXT");
OXR_VERIFY_EXTENSION(&log, sess->sys->inst, EXT_debug_utils);
return oxr_error(&log, XR_ERROR_RUNTIME_FAILURE, " not implemented");
}