Blender Git Loki
Git Commits -> Revision eb0424c
Revision eb0424c by Julian Eisel (soc-2019-openxr, temp-ghost_openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) June 10, 2019, 19:59 (GMT) |
Proper management of OpenXR graphics bindings for session setup OpenXR needs to interface with some graphics library (OpenGL, Vulkan, DirectX, etc.). This is done through graphics binding extensions. The OpenXR specification requires these to be properly set up before a session is created. Adds the following: * Support priority list of multiple graphics binding extensions (e.g. check OpenGL extension availability first, DirectX on Windows second, etc.) * Barebones for passing graphics library data to OpenXR session creation. This is highly system dependent, e.g. it requires GLX data for OpenGL on X11 systems (XrGraphicsBindingOpenGLXlibKHR). More work, including additions to GHOST, will be needed once I get to the more graphics related stuff. * Create an own graphics context for the VR session. It's not doing anything useful yet. This is just to fool the Monado OpenXR runtime so that it actually attempts to create the OpenXR session. * Had to add two CMake modules for platform dependent #define's required by the OpenXR specification. |
Commit Details:
Full Hash: eb0424c946f4121bfd6f51a4fbbed4c4af0289a1
Parent Commit: 5d6da57
Lines Changed: +366, -40
2 Added Paths:
/build_files/cmake/Modules/presentation.cmake (+101, -0) (View)
/build_files/cmake/Modules/xr_platform_defines.cmake (+39, -0) (View)
/build_files/cmake/Modules/xr_platform_defines.cmake (+39, -0) (View)
6 Modified Paths:
/source/blender/makesdna/DNA_windowmanager_types.h (+2, -0) (Diff)
/source/blender/windowmanager/CMakeLists.txt (+2, -0) (Diff)
/source/blender/windowmanager/intern/wm.c (+11, -1) (Diff)
/source/blender/windowmanager/intern/wm_operators.c (+40, -2) (Diff)
/source/blender/windowmanager/intern/wm_xr.c (+139, -35) (Diff)
/source/blender/windowmanager/wm.h (+32, -2) (Diff)
/source/blender/windowmanager/CMakeLists.txt (+2, -0) (Diff)
/source/blender/windowmanager/intern/wm.c (+11, -1) (Diff)
/source/blender/windowmanager/intern/wm_operators.c (+40, -2) (Diff)
/source/blender/windowmanager/intern/wm_xr.c (+139, -35) (Diff)
/source/blender/windowmanager/wm.h (+32, -2) (Diff)