[Bf-blender-cvs] [5d8906fbe54] vr_scene_inspection: Fix compile errors and wrong pointer use
Julian Eisel
noreply at git.blender.org
Mon Mar 16 17:27:01 CET 2020
Commit: 5d8906fbe549fab331c6b90471ed578f939e9d4b
Author: Julian Eisel
Date: Mon Mar 16 17:26:32 2020 +0100
Branches: vr_scene_inspection
https://developer.blender.org/rB5d8906fbe549fab331c6b90471ed578f939e9d4b
Fix compile errors and wrong pointer use
===================================================================
M intern/ghost/GHOST_Types.h
M source/blender/makesrna/intern/rna_wm.c
M source/blender/windowmanager/WM_api.h
M source/blender/windowmanager/intern/wm_xr.c
===================================================================
diff --git a/intern/ghost/GHOST_Types.h b/intern/ghost/GHOST_Types.h
index 7fb9ef3bc61..70c4d3ef00c 100644
--- a/intern/ghost/GHOST_Types.h
+++ b/intern/ghost/GHOST_Types.h
@@ -600,17 +600,6 @@ typedef void (*GHOST_TimerProcPtr)(struct GHOST_TimerTaskHandle__ *task, GHOST_T
struct GHOST_XrError;
struct GHOST_XrDrawViewInfo;
-enum GHOST_TXrGraphicsBinding;
-
-typedef void (*GHOST_XrErrorHandlerFn)(const struct GHOST_XrError *);
-
-typedef void (*GHOST_XrSessionExitFn)(void *customdata);
-
-typedef void *(*GHOST_XrGraphicsContextBindFn)(enum GHOST_TXrGraphicsBinding graphics_lib);
-typedef void (*GHOST_XrGraphicsContextUnbindFn)(enum GHOST_TXrGraphicsBinding graphics_lib,
- GHOST_ContextHandle graphics_context);
-typedef void (*GHOST_XrDrawViewFn)(const struct GHOST_XrDrawViewInfo *draw_view, void *customdata);
-
/**
* The XR view (i.e. the OpenXR runtime) may require a different graphics library than OpenGL. An
* offscreen texture of the viewport will then be drawn into using OpenGL, but the final texture
@@ -627,6 +616,16 @@ typedef enum GHOST_TXrGraphicsBinding {
/* For later */
// GHOST_kXrGraphicsVulkan,
} GHOST_TXrGraphicsBinding;
+
+typedef void (*GHOST_XrErrorHandlerFn)(const struct GHOST_XrError *);
+
+typedef void (*GHOST_XrSessionExitFn)(void *customdata);
+
+typedef void *(*GHOST_XrGraphicsContextBindFn)(enum GHOST_TXrGraphicsBinding graphics_lib);
+typedef void (*GHOST_XrGraphicsContextUnbindFn)(enum GHOST_TXrGraphicsBinding graphics_lib,
+ GHOST_ContextHandle graphics_context);
+typedef void (*GHOST_XrDrawViewFn)(const struct GHOST_XrDrawViewInfo *draw_view, void *customdata);
+
/* An array of GHOST_TXrGraphicsBinding items defining the candidate bindings to use. The first
* available candidate will be chosen, so order defines priority. */
typedef const GHOST_TXrGraphicsBinding *GHOST_XrGraphicsBindingCandidates;
diff --git a/source/blender/makesrna/intern/rna_wm.c b/source/blender/makesrna/intern/rna_wm.c
index bbec2bb7c7e..21ee3bcbe3f 100644
--- a/source/blender/makesrna/intern/rna_wm.c
+++ b/source/blender/makesrna/intern/rna_wm.c
@@ -1269,7 +1269,8 @@ static void rna_wmClipboard_set(PointerRNA *UNUSED(ptr), const char *value)
static PointerRNA rna_WindowManager_xr_session_state_get(PointerRNA *ptr)
{
wmWindowManager *wm = ptr->data;
- return rna_pointer_inherit_refine(ptr, &RNA_XrSessionState, &wm->xr);
+ struct wmXrSessionState *state = WM_xr_session_state_handle_get(&wm->xr);
+ return rna_pointer_inherit_refine(ptr, &RNA_XrSessionState, state);
}
# ifdef WITH_PYTHON
diff --git a/source/blender/windowmanager/WM_api.h b/source/blender/windowmanager/WM_api.h
index 95e4ae62e7b..f5cd26d26c4 100644
--- a/source/blender/windowmanager/WM_api.h
+++ b/source/blender/windowmanager/WM_api.h
@@ -875,6 +875,7 @@ void WM_generic_user_data_free(struct wmGenericUserData *user_data);
/* wm_xr.c */
bool WM_xr_session_exists(const wmXrData *xr);
bool WM_xr_session_is_ready(const wmXrData *xr);
+struct wmXrSessionState *WM_xr_session_state_handle_get(const wmXrData *xr);
bool WM_xr_session_state_viewer_location_get(const wmXrData *xr, float r_location[3]);
bool WM_xr_session_state_viewer_rotation_get(const wmXrData *xr, float r_rotation[4]);
bool WM_xr_session_state_viewer_matrix_info_get(const wmXrData *xr,
diff --git a/source/blender/windowmanager/intern/wm_xr.c b/source/blender/windowmanager/intern/wm_xr.c
index 746e66735c3..d39e9b7a0b1 100644
--- a/source/blender/windowmanager/intern/wm_xr.c
+++ b/source/blender/windowmanager/intern/wm_xr.c
@@ -69,7 +69,7 @@ struct wmXrRuntimeData *wm_xr_runtime_data_create(void);
void wm_xr_runtime_data_free(struct wmXrRuntimeData **runtime);
void wm_xr_draw_view(const GHOST_XrDrawViewInfo *, void *);
void *wm_xr_session_gpu_binding_context_create(GHOST_TXrGraphicsBinding);
-void wm_xr_session_gpu_binding_context_destroy(GHOST_TXrGraphicsBinding, void *);
+void wm_xr_session_gpu_binding_context_destroy(GHOST_TXrGraphicsBinding, GHOST_ContextHandle);
wmSurface *wm_xr_session_surface_create(wmWindowManager *, unsigned int);
void wm_xr_pose_to_viewmat(const GHOST_XrPose *pose, float r_viewmat[4][4]);
More information about the Bf-blender-cvs
mailing list