GPU: OpenXR integration (#14837)
Based on Beyley's initial draft in #11601. Co-authored-by: Beyley Cardellio <ep1cm1n10n123@gmail.com> Co-authored-by: Ethan Lee <flibitijibibo@gmail.com>
This commit is contained in:
@@ -38,6 +38,7 @@
|
||||
#endif
|
||||
|
||||
#include <SDL3/SDL.h>
|
||||
#include <SDL3/SDL_openxr.h>
|
||||
#define SDL_MAIN_NOIMPL // don't drag in header-only implementation of SDL_main
|
||||
#include <SDL3/SDL_main.h>
|
||||
#include "../core/SDL_core_unsupported.h"
|
||||
@@ -597,6 +598,7 @@ static void SDL_InitDynamicAPI(void)
|
||||
#else // SDL_DYNAMIC_API
|
||||
|
||||
#include <SDL3/SDL.h>
|
||||
#include <SDL3/SDL_openxr.h>
|
||||
|
||||
Sint32 SDL_DYNAPI_entry(Uint32 apiver, void *table, Uint32 tablesize);
|
||||
Sint32 SDL_DYNAPI_entry(Uint32 apiver, void *table, Uint32 tablesize)
|
||||
|
||||
@@ -1272,6 +1272,13 @@ SDL3_0.0.0 {
|
||||
SDL_LoadSurface;
|
||||
SDL_SetWindowFillDocument;
|
||||
SDL_TryLockJoysticks;
|
||||
SDL_CreateGPUXRSession;
|
||||
SDL_GetGPUXRSwapchainFormats;
|
||||
SDL_CreateGPUXRSwapchain;
|
||||
SDL_DestroyGPUXRSwapchain;
|
||||
SDL_OpenXR_LoadLibrary;
|
||||
SDL_OpenXR_UnloadLibrary;
|
||||
SDL_OpenXR_GetXrGetInstanceProcAddr;
|
||||
# extra symbols go here (don't modify this line)
|
||||
local: *;
|
||||
};
|
||||
|
||||
@@ -1298,3 +1298,10 @@
|
||||
#define SDL_LoadSurface SDL_LoadSurface_REAL
|
||||
#define SDL_SetWindowFillDocument SDL_SetWindowFillDocument_REAL
|
||||
#define SDL_TryLockJoysticks SDL_TryLockJoysticks_REAL
|
||||
#define SDL_CreateGPUXRSession SDL_CreateGPUXRSession_REAL
|
||||
#define SDL_GetGPUXRSwapchainFormats SDL_GetGPUXRSwapchainFormats_REAL
|
||||
#define SDL_CreateGPUXRSwapchain SDL_CreateGPUXRSwapchain_REAL
|
||||
#define SDL_DestroyGPUXRSwapchain SDL_DestroyGPUXRSwapchain_REAL
|
||||
#define SDL_OpenXR_LoadLibrary SDL_OpenXR_LoadLibrary_REAL
|
||||
#define SDL_OpenXR_UnloadLibrary SDL_OpenXR_UnloadLibrary_REAL
|
||||
#define SDL_OpenXR_GetXrGetInstanceProcAddr SDL_OpenXR_GetXrGetInstanceProcAddr_REAL
|
||||
|
||||
@@ -1306,3 +1306,10 @@ SDL_DYNAPI_PROC(SDL_Surface*,SDL_LoadSurface_IO,(SDL_IOStream *a,bool b),(a,b),r
|
||||
SDL_DYNAPI_PROC(SDL_Surface*,SDL_LoadSurface,(const char *a),(a),return)
|
||||
SDL_DYNAPI_PROC(bool,SDL_SetWindowFillDocument,(SDL_Window *a,bool b),(a,b),return)
|
||||
SDL_DYNAPI_PROC(bool,SDL_TryLockJoysticks,(void),(),return)
|
||||
SDL_DYNAPI_PROC(XrResult,SDL_CreateGPUXRSession,(SDL_GPUDevice *a,const XrSessionCreateInfo *b,XrSession *c),(a,b,c),return)
|
||||
SDL_DYNAPI_PROC(SDL_GPUTextureFormat*,SDL_GetGPUXRSwapchainFormats,(SDL_GPUDevice *a,XrSession b,int *c),(a,b,c),return)
|
||||
SDL_DYNAPI_PROC(XrResult,SDL_CreateGPUXRSwapchain,(SDL_GPUDevice *a,XrSession b,const XrSwapchainCreateInfo *c,SDL_GPUTextureFormat d,XrSwapchain *e,SDL_GPUTexture ***f),(a,b,c,d,e,f),return)
|
||||
SDL_DYNAPI_PROC(XrResult,SDL_DestroyGPUXRSwapchain,(SDL_GPUDevice *a,XrSwapchain b,SDL_GPUTexture **c),(a,b,c),return)
|
||||
SDL_DYNAPI_PROC(bool,SDL_OpenXR_LoadLibrary,(void),(),return)
|
||||
SDL_DYNAPI_PROC(void,SDL_OpenXR_UnloadLibrary,(void),(),)
|
||||
SDL_DYNAPI_PROC(PFN_xrGetInstanceProcAddr,SDL_OpenXR_GetXrGetInstanceProcAddr,(void),(),return)
|
||||
|
||||
Reference in New Issue
Block a user