diff options
Diffstat (limited to 'modules/openxr/util.h')
-rw-r--r-- | modules/openxr/util.h | 11 |
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; \ |