Blender Git Loki

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)

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)
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021