blender/intern
Julian Eisel 3b1ef223ba Ghost: Support drawing OpenGL framebuffers into a DirectX 11 buffer
Adds a minimal DirectX 11 Ghost context, plus some shared DirectX-OpenGL
resource interface using the NV_DX_interop2 WGL extension. From what I
know, this should be available on modern GPUs. If not, it should fail
gracefully.
There should be no user visible changes at this point.

Needed for DirectX-only OpenXR platforms (e.g. Windows Mixed Reality). I
heard there are other use-cases as well though.

It's known that this currently fails on some AMD systems, but that seems
to be fixable.

Most of this comes from the 2019 GSoC project, "Core Support of Virtual
Reality Headsets through OpenXR"
(https://wiki.blender.org/wiki/User:Severin/GSoC-2019/).

Reviewed by: Jeroen Bakker, Ray Molenkam, Brecht van Lommel

Differential Revision: https://developer.blender.org/D6190
2020-03-05 18:29:29 +01:00
..
atomic Cleanup: comments (long lines) in atomic 2019-05-01 20:34:12 +10:00
audaspace CMake: Refactor external dependencies handling 2020-01-23 16:59:18 +01:00
clog Cleanup: quiet warnings 2019-10-07 12:22:05 +11:00
cycles Fix T74393: Cycles crashes when both OSL and Optix Denoising are enabled 2020-03-05 16:28:31 +01:00
dualcon Fix T53581: remesh modifier artifacts in sharp mode 2019-06-17 18:53:49 +02:00
eigen Fix eigen/openmp link error in some build configurations 2020-02-09 16:29:37 +01:00
ffmpeg Use FFmpeg's own av_guess_frame_rate() function instead of guessing ourselves 2019-09-19 15:12:53 +02:00
ghost Ghost: Support drawing OpenGL framebuffers into a DirectX 11 buffer 2020-03-05 18:29:29 +01:00
glew-mx ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00
guardedalloc Fix potential crash in guarded alloc stats, when there are no allocations 2020-01-31 13:01:07 +01:00
iksolver Cleanup: Fix build error with MSVC 2019-08-21 10:38:33 -06:00
itasc Cleanup: use 2 space indentation for CMake 2019-04-17 06:35:54 +02:00
libc_compat Build: change libc compatibility code to only be used for new glibc 2020-02-27 12:52:19 +01:00
libmv Cleanup: include missing CMake headers 2020-01-25 20:15:35 +11:00
locale CMake: Refactor external dependencies handling 2020-01-23 16:59:18 +01:00
mantaflow Fluid: More optimizations in smoke / liquid scripts 2020-03-05 14:22:51 +01:00
memutil Cleanup: doxygen comments 2019-11-25 01:51:11 +11:00
mikktspace Fix more undefined behavior in tangent space computation 2020-01-31 12:56:20 +01:00
numaapi Fix numaapi on PowerPC platforms 2020-01-15 11:18:24 +01:00
opencolorio Overlay: Fix overlays being washed out by render colors 2020-02-25 13:58:28 +01:00
opensubdiv OpenSubdiv: Allow less topology callbacks assigned 2020-02-28 14:30:49 +01:00
openvdb Cleanup: deduplicate OpenVDB library definitions/include/libs logic 2020-02-26 18:13:14 +01:00
quadriflow Cleanup: cmake indentation 2020-03-04 11:02:35 +11:00
rigidbody CMake: Refactor external dependencies handling 2020-01-23 16:59:18 +01:00
string Cleanup: comments (long lines) in string 2019-05-01 20:32:38 +10:00
utfconv Cleanup: spelling, repeated words 2019-11-25 00:55:11 +11:00
CMakeLists.txt Build: add compatibility between precompiled libraries and new glibc 2020-02-26 18:13:14 +01:00