From 5a079a2d114f96d4847d1ee305d5b7c16eeec50e Mon Sep 17 00:00:00 2001 From: 3gg <3gg@shellblade.net> Date: Sat, 27 Dec 2025 12:03:39 -0800 Subject: Initial commit --- .../SDL-3.2.8/src/video/openvr/SDL_openvrvideo.h | 106 +++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 contrib/SDL-3.2.8/src/video/openvr/SDL_openvrvideo.h (limited to 'contrib/SDL-3.2.8/src/video/openvr/SDL_openvrvideo.h') diff --git a/contrib/SDL-3.2.8/src/video/openvr/SDL_openvrvideo.h b/contrib/SDL-3.2.8/src/video/openvr/SDL_openvrvideo.h new file mode 100644 index 0000000..6eade3e --- /dev/null +++ b/contrib/SDL-3.2.8/src/video/openvr/SDL_openvrvideo.h @@ -0,0 +1,106 @@ +#ifndef _SDL_OPENVRVIDEO_H +#define _SDL_OPENVRVIDEO_H + +#ifdef SDL_VIDEO_DRIVER_WINDOWS +#ifdef EXTERN_C +#undef EXTERN_C +#endif +#endif + +// OpenVR has a LOT of unused variables that GCC will freak out on. +#ifdef __GNUC__ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wunused-variable" +#endif + +#define USE_SDL +#include "openvr_capi.h" + +#ifdef __GNUC__ +#pragma GCC diagnostic pop +#endif + +#include + +#ifndef SDL_VIDEO_DRIVER_WINDOWS + +#include +#include +#include +#include +#include +#include + +#endif + + +struct SDL_WindowData +{ +#ifdef SDL_VIDEO_DRIVER_WINDOWS + SDL_Window *window; + HWND hwnd; + HWND parent; + HDC hdc; + HDC mdc; +#else + int dummy; +#endif +}; + +struct SDL_VideoData { + void * openVRLIB; + intptr_t vrtoken; + intptr_t (*FN_VR_InitInternal)( EVRInitError *peError, EVRApplicationType eType ); + const char *(*FN_VR_GetVRInitErrorAsEnglishDescription)( EVRInitError error ); + intptr_t (*FN_VR_GetGenericInterface)( const char *pchInterfaceVersion, EVRInitError *peError ); + + int is_buffer_rendering; + + unsigned int overlaytexture; + + unsigned int fbo, rbo; + + int saved_texture_state; + + struct VR_IVRSystem_FnTable *oSystem; + struct VR_IVROverlay_FnTable *oOverlay; + struct VR_IVRInput_FnTable * oInput; + VROverlayHandle_t overlayID, thumbID, cursorID; + + char * sOverlayName; + + VRActionSetHandle_t input_action_set; + VRActionHandle_t * input_action_handles_buttons; + int input_action_handles_buttons_count; + VRActionHandle_t * input_action_handles_axes; + int input_action_handles_axes_count; + VRActionHandle_t input_action_handles_haptics[2]; + + bool bKeyboardShown; + bool bHasShownOverlay; + int targw, targh; + int last_targw, last_targh; + int swap_interval; + + bool bDidCreateOverlay; + bool renderdoc_debugmarker_frame_end; + bool bIconOverridden; + + SDL_Window * window; + + SDL_Joystick *virtual_joystick; +#ifdef SDL_VIDEO_DRIVER_WINDOWS + HDC hdc; + HGLRC hglrc; +#else + EGLDisplay eglDpy; + EGLContext eglCtx; +#endif +}; + +struct SDL_DisplayData +{ + int dummy; +}; + +#endif -- cgit v1.2.3