summaryrefslogtreecommitdiffstats
path: root/modules/openxr/util.h
diff options
context:
space:
mode:
Diffstat (limited to 'modules/openxr/util.h')
-rw-r--r--modules/openxr/util.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/modules/openxr/util.h b/modules/openxr/util.h
index 6665d45007..d95bc3bb8e 100644
--- a/modules/openxr/util.h
+++ b/modules/openxr/util.h
@@ -58,6 +58,17 @@
#define EXT_TRY_INIT_XR_FUNC(name) TRY_INIT_XR_FUNC(OpenXRAPI::get_singleton(), name)
#define OPENXR_TRY_API_INIT_XR_FUNC(name) TRY_INIT_XR_FUNC(this, name)
+#define GDEXTENSION_INIT_XR_FUNC(name) \
+ do { \
+ name##_ptr = reinterpret_cast<PFN_##name>(get_openxr_api()->get_instance_proc_addr(#name)); \
+ ERR_FAIL_COND(name##_ptr == nullptr); \
+ } while (0)
+
+#define GDEXTENSION_INIT_XR_FUNC_V(name) \
+ do { \
+ name##_ptr = reinterpret_cast<PFN_##name>(get_openxr_api()->get_instance_proc_addr(#name)); \
+ ERR_FAIL_COND_V(name##_ptr == nullptr, false); \
+ } while (0)
#define EXT_PROTO_XRRESULT_FUNC1(func_name, arg1_type, arg1) \
PFN_##func_name func_name##_ptr = nullptr; \