Blender Git Loki

Blender Git "soc-2019-openxr" branch commits.

Page: 12 / 18

July 31, 2019, 00:18 (GMT)
Update OpenXR to version 1.0

Only tested on Windows.

Updates loader sources from the OpenXR SDK to latest 1.0 SDK and updates
requiremed version to 1.0. The compile time generation of files is a
thing of the past now (although you can still force it).
1.0 got released yesterday. Only one line needed fixing in our OpenXR
code to get it to compile. Rendering is black though.

For now I tried to keep edits to CMakeList.txt files minimal. So now
there are OpenXR CMake options exposed (with bad names), CMake prints,
etc.
July 30, 2019, 20:19 (GMT)
Merge branch 'master' into soc-2019-openxr
July 24, 2019, 14:41 (GMT)
Use fixed lighting, don't make it rotate with view rotation
July 24, 2019, 00:52 (GMT)
Fix broken VR viewport rotation and movement
July 23, 2019, 23:39 (GMT)
Use draw manager offscreen context for the VR session

This way we avoid the big overhead of context switches. Makes frames
render about twice as fast here. For heavy Spring scenes I'm getting
around 20 FPS here, classroom scene is at 50 FPS.
This is great given that drawing itself still isn't optimized for dual
eye rendering.
July 23, 2019, 17:16 (GMT)
Print 8 Frame average FPS for --debug-xr-time

Much more useful than a per frame FPS estimation. 8 frames are used for
the Blender viewport FPS stats too.
Refactored drawing data storage a bit.
July 23, 2019, 00:06 (GMT)
Add --debug-xr-time command line option for VR frame time info prints

Outputs frame render time in milliseconds and FPS this time would add up
to. We could average times so FPS is a bit more stable, but the
precision of un-averaged results may be helpful too.
July 22, 2019, 22:18 (GMT)
Merge branch 'master' into soc-2019-openxr
July 21, 2019, 11:15 (GMT)
Silence GCC warning
July 21, 2019, 01:18 (GMT)
Fix compile error with bundled OpenXR sources
July 20, 2019, 23:10 (GMT)
Fix troubling memory leak in offscreen viewport drawing

I'm not really sure why the leak happened - draw manager kept allocating
certain buffers - but I figured I could avoid it by not recreating
GPU_offscreen/GPU_viewport on every redraw.
This should also improve performance a bit.
July 20, 2019, 17:34 (GMT)
Pure OpenGL backend works now, let it take priority over DirectX
July 20, 2019, 17:33 (GMT)
Make OpenGL-only session backend work

Previously, only DirectX HMD rendering would work (and still takes
priority).
July 17, 2019, 13:18 (GMT)
Fix DirectX context not freed on session exit

Also rename XrSurfaceData to wmXrSurfaceData
July 17, 2019, 12:51 (GMT)
Fix for previous commit, accidental call to xrDestroySwapchain
July 17, 2019, 12:05 (GMT)
Fix possible OpenXR swapchain leak by using new unique_oxr_ptr
July 17, 2019, 11:35 (GMT)
Add helper class to RAII manage OpenXR handles

Adds generic unique_oxr_ptr to wrap xrCreate and xrDestroy functions of
OpenXR handles into a unique_ptr like RAII interface.

While for most cases, OpenXR resources can be freed by their owning
object, sometimes errors may occor before final ownership is established.
E.g. swapchain ownership is only transfered to the session object once
its swapchain-images are created - which may fail. With this RAII
wrapper, the swapchain would be freed on error (as this triggers stack
unwinding through an exception), no matter who holds ownership to it
currently.
There are other solutions to this problem, e.g. by establishing final
ownership right after/upon creation, or by explicit freeing in case an
error is spotted; it's too easy to make mistakes here though. Plus, we
may want to experiment with using this API for all OpenXR resources, to
entirely avoid the possibility of them leaking.
July 17, 2019, 09:29 (GMT)
Fix compile error with USE_FORCE_WINDOWED_SESSION enabled

At least get it to compile, this is still kinda broken though.
July 16, 2019, 22:41 (GMT)
Add helper batch file for testing on oculus rift.
July 16, 2019, 19:48 (GMT)
Temporarily let DirectX take priority over OpenGL

OpenGL doesn't work yet. Shouldn't be too difficult to get working, but
I don't have a working OpenXR runtime with OpenGL support to test here.
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021