63 error_customdata.
wm = wm;
67 const GHOST_TXrGraphicsBinding gpu_bindings_candidates[] = {
68 GHOST_kXrGraphicsOpenGL,
70 GHOST_kXrGraphicsD3D11,
73 GHOST_XrContextCreateInfo create_info = {
74 .gpu_binding_candidates = gpu_bindings_candidates,
75 .gpu_binding_candidates_count =
ARRAY_SIZE(gpu_bindings_candidates),
80 create_info.context_flag |= GHOST_kXrContextDebug;
83 create_info.context_flag |= GHOST_kXrContextDebugTime;
87 create_info.context_flag |= GHOST_kXrContextGpuNVIDIA;
96 GHOST_XrGraphicsContextBindFuncs(
context,
158 if ((*runtime)->context !=
NULL) {
159 GHOST_XrContextHandle
context = (*runtime)->context;
162 (*runtime)->context =
NULL;
164 if ((*runtime)->area) {
168 (*runtime)->area =
NULL;
void IDP_FreeProperty(struct IDProperty *prop)
void BKE_reports_clear(ReportList *reports)
void ED_area_offscreen_free(struct wmWindowManager *wm, struct wmWindow *win, struct ScrArea *area)
GHOST C-API function and type declarations.
GHOST_TSuccess GHOST_XrEventsHandle(GHOST_XrContextHandle xr_contexthandle)
GHOST_XrContextHandle GHOST_XrContextCreate(const GHOST_XrContextCreateInfo *create_info)
void GHOST_XrContextDestroy(GHOST_XrContextHandle xr_contexthandle)
void GHOST_XrErrorHandler(GHOST_XrErrorHandlerFn handler_fn, void *customdata)
Read Guarded memory(de)allocation.
void *(* MEM_callocN)(size_t len, const char *str)
static void error(const char *str)
struct View3DShading shading
struct ReportList reports
XrSessionSettings session_settings
struct wmXrRuntimeData * runtime
GHOST_XrContextHandle context
void WM_report(eReportType type, const char *message)
void WM_report_banner_show(void)
bool wm_xr_init(wmWindowManager *wm)
static void wm_xr_error_handler(const GHOST_XrError *error)
void wm_xr_runtime_data_free(wmXrRuntimeData **runtime)
wmXrRuntimeData * wm_xr_runtime_data_create(void)
bool wm_xr_events_handle(wmWindowManager *wm)
void wm_xr_exit(wmWindowManager *wm)
void WM_xr_actionmaps_clear(wmXrRuntimeData *runtime)
void wm_xr_draw_view(const GHOST_XrDrawViewInfo *draw_view, void *customdata)
Draw a viewport for a single eye.
void wm_xr_session_gpu_binding_context_destroy(GHOST_ContextHandle context)
void wm_xr_session_actions_update(wmWindowManager *wm)
wmWindow * wm_xr_session_root_window_or_fallback_get(const wmWindowManager *wm, const wmXrRuntimeData *runtime_data)
void * wm_xr_session_gpu_binding_context_create(void)
void wm_xr_session_data_free(wmXrSessionState *state)
bool WM_xr_session_is_ready(const wmXrData *xr)