Revision 1404edb by Julian Eisel (soc-2019-openxr, temp-ghost_openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) June 12, 2019, 09:34 (GMT) |
Support DirectX Ghost context creation Adds support for creating a DirectX 11 Ghost context. It's not used yet and more stuff besides creation is needed. Also, other versions than 11 should probably be supported. We need a DirectX context to support the Windows Mixed Reality OpenXR Runtime, a rather important one to support. Idea is to use an extension for OpenGL-DirectX interoperability for drawing the OpenGL offscreen viewport render using DirectX. |
Revision 2f68a76 by Julian Eisel (soc-2019-openxr, temp-ghost_openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) June 11, 2019, 15:52 (GMT) |
Split wm_xr.c into multiple files Similar to gizmo/ and message_bus/, there's now a xr/ directory containing header files and a intern/ directory for source and internal header files. Guess this is reasonable to do. And better to do early on to avoid loosing much git history. |
Revision 304d9a2 by Julian Eisel (soc-2019-openxr, temp-ghost_openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) June 11, 2019, 14:35 (GMT) |
Fix compile errors and crashes on Windows * Include needed Windows/DirectX headers * Disable zero sized arraz (GCC extension) * Add missing break causing failling assert * Add missing semicolon in Win only code :) |
Revision b169e32 by Julian Eisel (soc-2019-openxr, temp-ghost_openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) June 11, 2019, 12:18 (GMT) |
Fix compile error with system OpenXR SDK Graphics binding types were disabled by a compiler flag then. |
Revision 7238bbe by Julian Eisel (soc-2019-openxr, temp-ghost_openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) June 10, 2019, 20:16 (GMT) |
Cleanup: Rename graphics-lib to graphics-binding |
Revision a49b4ca by Julian Eisel (soc-2019-openxr, temp-ghost_openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) June 10, 2019, 20:06 (GMT) |
Merge branch 'master' into soc-2019-openxr |
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. |
Revision 5d6da57 by Julian Eisel (soc-2019-openxr, temp-ghost_openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) June 6, 2019, 16:38 (GMT) |
Cleanup: Move OpenXRData struct out of wmXRContext Just to make access a bit more convenient. |
Revision e968bbc by Julian Eisel (soc-2019-openxr, temp-ghost_openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) June 6, 2019, 15:37 (GMT) |
Fix wrong enum-type used for switch Why doesn't MSVC warn about this, grr... |
Revision b1b0e05 by Julian Eisel (soc-2019-openxr, temp-ghost_openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) June 6, 2019, 09:25 (GMT) |
Fix CMake errors after merge (?) Not sure if this is caused by changes just merged in, or by a system upgrade I just did. Either way, fixed it now. |
Revision e547026 by Julian Eisel (soc-2019-openxr, temp-ghost_openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) June 6, 2019, 08:56 (GMT) |
Merge branch 'master' into soc-2019-openxr |
Revision f816380 by Julian Eisel (soc-2019-openxr, temp-ghost_openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) June 5, 2019, 16:03 (GMT) |
Silence warning, fix mem-leak, don't destroy NULL session |
Revision 5e642bf by Julian Eisel (soc-2019-openxr, temp-ghost_openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) June 5, 2019, 14:55 (GMT) |
Initial session state handling To correctly start a session, a graphics extension specific object needs to be passed to the OpenXR runtime. E.g. for the Windows Mixed Reality runtime, XrGraphicsBindingD3D11KHR needs to be passed with a valid DirectX device. Since we don't have any DirectX compatibility working, I can't test this on Windows yet. So to test this I finally need to get Monado to work on Linux and correctly setup the OpenGL extension there. |
Revision 0d1a22f by Julian Eisel (soc-2019-openxr, temp-ghost_openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) June 5, 2019, 08:20 (GMT) |
Barebones for managing session changes Adds initial OpenXR event querying so that session state change events can be handled. Doesn't do any handling yet. |
Revision 20a1af9 by Julian Eisel (soc-2019-openxr, temp-ghost_openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) June 4, 2019, 23:00 (GMT) |
Enable graphics extensions if available Check if available extensions includes the GL one, or the DirectX one on Windows. Enable them if available. |
Revision c9c1b90 by Julian Eisel (soc-2019-openxr, temp-ghost_openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) June 4, 2019, 16:30 (GMT) |
Cleanup: Correct local variable name |
Revision 4192281 by Julian Eisel (soc-2019-openxr, temp-ghost_openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) June 4, 2019, 16:27 (GMT) |
Fix layer and extension count not stored as intended |
Revision 329dead by Julian Eisel (soc-2019-openxr, temp-ghost_openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) June 4, 2019, 15:39 (GMT) |
Print OpenXR runtime name once connected |
Revision 53845c5 by Julian Eisel (soc-2019-openxr, temp-ghost_openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) June 4, 2019, 15:00 (GMT) |
Merge branch 'master' into soc-2019-openxr |
Revision 35c9e3b by Julian Eisel (soc-2019-openxr, temp-ghost_openxr, temp-vr-draw-thread, vamr-openxr-module, vr_scene_inspection) June 4, 2019, 14:42 (GMT) |
Initial VR-session starting/ending Adds operator to toggle a VR session, exposed in the Window top-bar menu. It triggers the needed calls for session creation and destruction. Setting up the XR-system (a configuration of related devices) is also done now. Calling WMR runtime functions fails currently. Not sure why. So while this executes required routines, it doesn't really work. |
|