From a6e5ab437f293f72ebc6dc37e3ed8282fa246535 Mon Sep 17 00:00:00 2001
From: Ozkan Sezer <[EMAIL REDACTED]>
Date: Fri, 18 Oct 2024 17:24:02 +0300
Subject: [PATCH] video/openvr: Avoid type redefinition errors.
Also, let SDL handle stdint.h and stdbool.h.
---
src/video/openvr/SDL_openvrvideo.h | 15 +++++++--------
src/video/openvr/openvr_capi.h | 15 ++-------------
2 files changed, 9 insertions(+), 21 deletions(-)
diff --git a/src/video/openvr/SDL_openvrvideo.h b/src/video/openvr/SDL_openvrvideo.h
index 856eab02e2270..a66bbbe5c5960 100644
--- a/src/video/openvr/SDL_openvrvideo.h
+++ b/src/video/openvr/SDL_openvrvideo.h
@@ -15,6 +15,7 @@
#pragma GCC diagnostic ignored "-Wunused-variable"
#endif
+#define USE_SDL
#include "openvr_capi.h"
#ifdef __GNUC__
@@ -35,7 +36,7 @@
#endif
-typedef struct SDL_WindowData
+struct SDL_WindowData
{
#ifdef SDL_VIDEO_DRIVER_WINDOWS
SDL_Window *window;
@@ -46,9 +47,9 @@ typedef struct SDL_WindowData
#else
int dummy;
#endif
-} SDL_WindowData;
+};
-typedef struct SDL_VideoData {
+struct SDL_VideoData {
void * openVRLIB;
intptr_t vrtoken;
intptr_t (*FN_VR_InitInternal)( EVRInitError *peError, EVRApplicationType eType );
@@ -97,13 +98,11 @@ typedef struct SDL_VideoData {
EGLDisplay eglDpy;
EGLContext eglCtx;
#endif
-} SDL_VideoData;
+};
-
-typedef struct SDL_DisplayData
+struct SDL_DisplayData
{
int dummy;
-} SDL_DisplayData;
-
+};
#endif
diff --git a/src/video/openvr/openvr_capi.h b/src/video/openvr/openvr_capi.h
index af3ed966cbd43..7130422ee5678 100644
--- a/src/video/openvr/openvr_capi.h
+++ b/src/video/openvr/openvr_capi.h
@@ -46,6 +46,7 @@
#endif // OPENVR_API_EXPORTS
#endif
+#ifndef USE_SDL
#include <stdint.h>
#if defined( __WIN32 )
@@ -53,14 +54,7 @@ typedef char bool;
#else
#include <stdbool.h>
#endif
-
-typedef uint64_t PropertyContainerHandle_t;
-typedef uint32_t PropertyTypeTag_t;
-typedef uint64_t VRActionHandle_t;
-typedef uint64_t VRActionSetHandle_t;
-typedef uint64_t VRInputValueHandle_t;
-typedef uint64_t PathHandle_t;
-
+#endif // USE_SDL
// OpenVR Constants
@@ -1837,10 +1831,6 @@ typedef enum EBlockQueueCreationFlag
// OpenVR typedefs
-typedef uint32_t TrackedDeviceIndex_t;
-typedef uint32_t VRNotificationId;
-typedef uint64_t VROverlayHandle_t;
-
typedef uint32_t PropertyTypeTag_t;
typedef uint32_t SpatialAnchorHandle_t;
typedef void * glSharedTextureHandle_t;
@@ -1851,7 +1841,6 @@ typedef uint32_t DriverId_t;
typedef uint32_t TrackedDeviceIndex_t;
typedef uint64_t WebConsoleHandle_t;
typedef uint64_t PropertyContainerHandle_t;
-typedef uint32_t PropertyTypeTag_t;
typedef PropertyContainerHandle_t DriverHandle_t;
typedef uint64_t VRActionHandle_t;
typedef uint64_t VRActionSetHandle_t;