summaryrefslogtreecommitdiffstats
path: root/modules/openxr/openxr_api_extension.cpp
diff options
context:
space:
mode:
authorBastiaan Olij <mux213@gmail.com>2024-08-05 17:25:28 +1000
committerBastiaan Olij <mux213@gmail.com>2024-08-27 12:07:01 +1000
commit08ffa5d89e4bbd427eb3d5ce0c0de1382d21f18a (patch)
treecc6e13540371870b31f8395e126b66f0ae42ad94 /modules/openxr/openxr_api_extension.cpp
parentdb76de5de8a415b29be4c7dd84b99bd0fe260822 (diff)
downloadredot-engine-08ffa5d89e4bbd427eb3d5ce0c0de1382d21f18a.tar.gz
Add support for the debug utils extension in OpenXR
Diffstat (limited to 'modules/openxr/openxr_api_extension.cpp')
-rw-r--r--modules/openxr/openxr_api_extension.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/modules/openxr/openxr_api_extension.cpp b/modules/openxr/openxr_api_extension.cpp
index a1744fa1db..f3bc178d3a 100644
--- a/modules/openxr/openxr_api_extension.cpp
+++ b/modules/openxr/openxr_api_extension.cpp
@@ -43,6 +43,10 @@ void OpenXRAPIExtension::_bind_methods() {
ClassDB::bind_method(D_METHOD("get_instance_proc_addr", "name"), &OpenXRAPIExtension::get_instance_proc_addr);
ClassDB::bind_method(D_METHOD("get_error_string", "result"), &OpenXRAPIExtension::get_error_string);
ClassDB::bind_method(D_METHOD("get_swapchain_format_name", "swapchain_format"), &OpenXRAPIExtension::get_swapchain_format_name);
+ ClassDB::bind_method(D_METHOD("set_object_name", "object_type", "object_handle", "object_name"), &OpenXRAPIExtension::set_object_name);
+ ClassDB::bind_method(D_METHOD("begin_debug_label_region", "label_name"), &OpenXRAPIExtension::begin_debug_label_region);
+ ClassDB::bind_method(D_METHOD("end_debug_label_region"), &OpenXRAPIExtension::end_debug_label_region);
+ ClassDB::bind_method(D_METHOD("insert_debug_label", "label_name"), &OpenXRAPIExtension::insert_debug_label);
ClassDB::bind_method(D_METHOD("is_initialized"), &OpenXRAPIExtension::is_initialized);
ClassDB::bind_method(D_METHOD("is_running"), &OpenXRAPIExtension::is_running);
@@ -116,6 +120,30 @@ String OpenXRAPIExtension::get_swapchain_format_name(int64_t p_swapchain_format)
return OpenXRAPI::get_singleton()->get_swapchain_format_name(p_swapchain_format);
}
+void OpenXRAPIExtension::set_object_name(int64_t p_object_type, uint64_t p_object_handle, const String &p_object_name) {
+ ERR_FAIL_NULL(OpenXRAPI::get_singleton());
+
+ OpenXRAPI::get_singleton()->set_object_name(XrObjectType(p_object_type), p_object_handle, p_object_name);
+}
+
+void OpenXRAPIExtension::begin_debug_label_region(const String &p_label_name) {
+ ERR_FAIL_NULL(OpenXRAPI::get_singleton());
+
+ OpenXRAPI::get_singleton()->begin_debug_label_region(p_label_name);
+}
+
+void OpenXRAPIExtension::end_debug_label_region() {
+ ERR_FAIL_NULL(OpenXRAPI::get_singleton());
+
+ OpenXRAPI::get_singleton()->end_debug_label_region();
+}
+
+void OpenXRAPIExtension::insert_debug_label(const String &p_label_name) {
+ ERR_FAIL_NULL(OpenXRAPI::get_singleton());
+
+ OpenXRAPI::get_singleton()->insert_debug_label(p_label_name);
+}
+
bool OpenXRAPIExtension::is_initialized() {
ERR_FAIL_NULL_V(OpenXRAPI::get_singleton(), false);
return OpenXRAPI::get_singleton()->is_initialized();