Week 10 (July 29 - August 2)
Short week, I did what I planned to do:
- Continued work for VR rendering on a separate thread (
temp-vr-draw-thread
branch):- Keep single context alive on the thread (7a711e133c). Should improve performance.
- Submitted patch to manage
GPU_matrix
stacks per GPUContext (D5405). This is needed for thread saveGPU_matrix
usage. - Fix all objects hidden (7922bd26a2)
- With the branch I now get ~54 FPS in the classroom scene (~43 FPS in
soc-2019-openxr
)
- Documented a couple of further things we can do to improve performance and get the branch ready for a merge: GSoC 2019: Core Support of Virtual Reality Headsets through OpenXR.
- Updated OpenXR to version 1.0 (e8f66ff060, 22966f4d35). Quite some build system related stuff changed, so this took a bit of effort.
- Added sources for OpenXR core API validation layer (40db778de3).
- Tried to get the validation layer to work on Windows, turns out there’s a bug in the OpenXR loader breaking Windows support for API layers. See https://github.com/KhronosGroup/OpenXR-SDK-Source/issues/89.
- Checked with Monado devs on why the Monado runtime doesn’t work for me, suspicion is that it’s a Optimus limitation on Linux.
Next Week
Need to check with Dalai (who’s at Siggraph currently), if I should prepare the branch for a merge yet. I’d rather spend more time on threaded drawing. This may take a few more days to complete. Besides that, I’ve listed possible tasks for the remaining GSoC time here: GSoC 2019: Core Support of Virtual Reality Headsets through OpenXR.