summaryrefslogtreecommitdiff
path: root/modules/openxr/openxr_api.h
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2023-01-05 12:51:18 +0100
committerRémi Verschelde <rverschelde@gmail.com>2023-01-05 12:51:18 +0100
commit5dfefc651711ea1f777e976d86a57ef6094e8be3 (patch)
tree903f07df6c6280dec78e3db7babea3c2add134ed /modules/openxr/openxr_api.h
parentac0c757e4680c992123d18a604765c6cbc3c000b (diff)
parentb6550c46ee0a42c7da516e3fc0299156d308eee4 (diff)
Merge pull request #70694 from BastiaanOlij/change_openxr_extensions
Various improvements to OpenXR extension wrappers
Diffstat (limited to 'modules/openxr/openxr_api.h')
-rw-r--r--modules/openxr/openxr_api.h16
1 files changed, 7 insertions, 9 deletions
diff --git a/modules/openxr/openxr_api.h b/modules/openxr/openxr_api.h
index 806e859da0..46082c5e56 100644
--- a/modules/openxr/openxr_api.h
+++ b/modules/openxr/openxr_api.h
@@ -65,6 +65,9 @@ private:
// our singleton
static OpenXRAPI *singleton;
+ // Registered extension wrappers
+ static Vector<OpenXRExtensionWrapper *> registered_extension_wrappers;
+
// linked XR interface
OpenXRInterface *xr_interface = nullptr;
@@ -75,15 +78,8 @@ private:
// extensions
uint32_t num_supported_extensions = 0;
XrExtensionProperties *supported_extensions = nullptr;
- Vector<OpenXRExtensionWrapper *> registered_extension_wrappers;
Vector<CharString> enabled_extensions;
- bool ext_hp_mixed_reality_available = false;
- bool ext_samsung_odyssey_available = false;
- bool ext_vive_cosmos_available = false;
- bool ext_vive_focus3_available = false;
- bool ext_huawei_controller_available = false;
-
// composition layer providers
Vector<OpenXRCompositionLayerProvider *> composition_layer_providers;
@@ -307,14 +303,16 @@ public:
bool interaction_profile_supports_io_path(const String &p_ip_path, const String &p_io_path);
static bool openxr_is_enabled(bool p_check_run_in_editor = true);
- static OpenXRAPI *get_singleton();
+ _FORCE_INLINE_ static OpenXRAPI *get_singleton() { return singleton; }
XrResult get_instance_proc_addr(const char *p_name, PFN_xrVoidFunction *p_addr);
String get_error_string(XrResult result);
String get_swapchain_format_name(int64_t p_swapchain_format) const;
void set_xr_interface(OpenXRInterface *p_xr_interface);
- void register_extension_wrapper(OpenXRExtensionWrapper *p_extension_wrapper);
+ static void register_extension_wrapper(OpenXRExtensionWrapper *p_extension_wrapper);
+ static void register_extension_metadata();
+ static void cleanup_extension_wrappers();
void set_form_factor(XrFormFactor p_form_factor);
XrFormFactor get_form_factor() const { return form_factor; }