Blender Git Commit Log
Git Commits -> Revision 6ae2979
November 5, 2019, 12:39 (GMT) |
Ghost DirectX compatibility from GSoC OpenXR branch Needed for DirectX-only OpenXR runtimes (e.g. Windows Mixed Reality). Adds a minimal DirectX 11 Ghost context, plus some shared DirectX-OpenGL resource interface using the NV_DX_interop2 WGL extension. I know that the current implementation fails on some systems, which is something I'll have to fix at some point. Don't know if this is a showstopper though, I can fix that in master too. For now this isn't going to be used by many people anyway. Recently I also learned that OSVR uses the same extension, see https://github.com/sensics/OSVR-RenderManager/blob/master/osvr/RenderKit/RenderManagerD3DOpenGL.cpp. Their implementation may be useful to fix the issue, according to a OSVR dev, it works quite reliably for them. Note: Didn't actually test just this patch on Windows yet. Differential Revision: https://developer.blender.org/D6190 |
Commit Details:
Full Hash: 6ae2979d05d846440dcaf2e7cd1ca81905fded06
Parent Commit: b698a92
Lines Changed: +722, -1
2 Added Paths:
/intern/ghost/intern/GHOST_ContextD3D.cpp (+446, -0) (View)
/intern/ghost/intern/GHOST_ContextD3D.h (+133, -0) (View)
/intern/ghost/intern/GHOST_ContextD3D.h (+133, -0) (View)
10 Modified Paths:
/intern/ghost/CMakeLists.txt (+2, -0) (Diff)
/intern/ghost/GHOST_C-api.h (+19, -0) (Diff)
/intern/ghost/GHOST_ISystem.h (+6, -0) (Diff)
/intern/ghost/GHOST_Types.h (+4, -1) (Diff)
/intern/ghost/intern/GHOST_C-api.cpp (+19, -0) (Diff)
/intern/ghost/intern/GHOST_System.cpp (+10, -0) (Diff)
/intern/ghost/intern/GHOST_System.h (+13, -0) (Diff)
/intern/ghost/intern/GHOST_SystemWin32.cpp (+42, -0) (Diff)
/intern/ghost/intern/GHOST_SystemWin32.h (+14, -0) (Diff)
/intern/ghost/intern/GHOST_WindowWin32.cpp (+14, -0) (Diff)
/intern/ghost/GHOST_C-api.h (+19, -0) (Diff)
/intern/ghost/GHOST_ISystem.h (+6, -0) (Diff)
/intern/ghost/GHOST_Types.h (+4, -1) (Diff)
/intern/ghost/intern/GHOST_C-api.cpp (+19, -0) (Diff)
/intern/ghost/intern/GHOST_System.cpp (+10, -0) (Diff)
/intern/ghost/intern/GHOST_System.h (+13, -0) (Diff)
/intern/ghost/intern/GHOST_SystemWin32.cpp (+42, -0) (Diff)
/intern/ghost/intern/GHOST_SystemWin32.h (+14, -0) (Diff)
/intern/ghost/intern/GHOST_WindowWin32.cpp (+14, -0) (Diff)