Page MenuHome

Core XR Support [part 2]: Ghost DirectX compatibility
Needs ReviewPublic

Authored by Julian Eisel (Severin) on Tue, Nov 5, 1:39 PM.

Details

Summary

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.

Diff Detail

Repository
rB Blender
Branch
temp-openxr-directx (branched from master)
Build Status
Buildable 5559
Build 5559: arc lint + arc unit

Event Timeline

Accidentally diffed against master, rather than D6188.

Julian Eisel (Severin) retitled this revision from Ghost DirectX compatibility from GSoC OpenXR branch to Core XR Support [part 2]: Ghost DirectX compatibility.Tue, Nov 5, 1:44 PM
intern/ghost/intern/GHOST_ContextD3D.cpp
106

If handy, make it more clear, now it is not clear how and when to use it.