OpenXR: Allow moving vendor passthrough extensions to GDExtension
This commit is contained in:
@ -39,7 +39,7 @@
|
||||
#include "core/os/thread_safe.h"
|
||||
#include "core/variant/native_ptr.h"
|
||||
|
||||
class OpenXRExtensionWrapperExtension : public Object, OpenXRExtensionWrapper {
|
||||
class OpenXRExtensionWrapperExtension : public Object, public OpenXRExtensionWrapper, public OpenXRCompositionLayerProvider {
|
||||
GDCLASS(OpenXRExtensionWrapperExtension, Object);
|
||||
|
||||
protected:
|
||||
@ -59,6 +59,7 @@ public:
|
||||
virtual void *set_session_create_and_get_next_pointer(void *p_next_pointer) override;
|
||||
virtual void *set_swapchain_create_info_and_get_next_pointer(void *p_next_pointer) override;
|
||||
virtual void *set_hand_joint_locations_and_get_next_pointer(int p_hand_index, void *p_next_pointer) override;
|
||||
virtual XrCompositionLayerBaseHeader *get_composition_layer() override;
|
||||
|
||||
//TODO workaround as GDExtensionPtr<void> return type results in build error in godot-cpp
|
||||
GDVIRTUAL1R(uint64_t, _set_system_properties_and_get_next_pointer, GDExtensionPtr<void>);
|
||||
@ -66,6 +67,7 @@ public:
|
||||
GDVIRTUAL1R(uint64_t, _set_session_create_and_get_next_pointer, GDExtensionPtr<void>);
|
||||
GDVIRTUAL1R(uint64_t, _set_swapchain_create_info_and_get_next_pointer, GDExtensionPtr<void>);
|
||||
GDVIRTUAL2R(uint64_t, _set_hand_joint_locations_and_get_next_pointer, int, GDExtensionPtr<void>);
|
||||
GDVIRTUAL0R(uint64_t, _get_composition_layer);
|
||||
|
||||
virtual void on_register_metadata() override;
|
||||
virtual void on_before_instance_created() override;
|
||||
|
||||
Reference in New Issue
Block a user