You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-04 12:00:25 +00:00
Add GDExtension support for OpenXR extension wrappers
This commit adds the classes OpenXRExtensionWrapperExtension and OpenXRAPIExtension that can be used in GDExtensions to define OpenXR extension wrappers. It modifies extension wrapper registration so that they can be registered before OpenXRAPI instantiation (e.g. in core level initialization of GDExtensions). Developed by Migeran (https://migeran.com)
This commit is contained in:
@@ -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; \
|
||||
|
||||
Reference in New Issue
Block a user