= VR Support through OpenXR - TODO's
This task is to list open ToDo's for the //Core Support of Virtual Reality Headsets through OpenXR// GSoC project. Most of the items here should be tackled as part of the GSoC coding period.
New features to be added are __not__ listed here.
* [x] Dark VR session rendering on Windows Mixed Reality runtime (rB5350015d51)
* [x] Lighting changes with head movements (rB091cc94379)
* [x] Head position seems to move upon rolling view (rBfc31be5ab0)
* [x] OpenGL support is not done (rB3a4034a741)
* [x] OpenGL swap calls cause issues with frame syncing, throtteling drawing in some cases (rB62bbd2e37d).
*  Use a separate thread VR rendering. OpenXR blocks threads for frame rate synchronization, which probably makes other rendering lag a bit. This way we can also keep a single OpenGL context alive on this thread, which avoids expensive context switches. -- // In progress, see [[ https://developer.blender.org/diffusion/B/history/temp-vr-draw-thread/ | temp-vr-draw-thread ]] branch.//
*  Remove limit of one shared DirectX/OpenGL resource per DirectX context. Will also fix constant re-registration of the shared resource and improve performance.
== General Stability
* [x] Memory leak (rB55362436d9)
*  ~~Monado OpenXR runtime crashes at swapchain creation~~ -- //(Appears to be a limitation of NVidia optimus on Linux. Monado team is checking.)//
== Build System
*  ~~Automatically set environment variables required to find API-layers~~ -- //The OpenXR SDK repository we currently (and preferably) use doesn't include the API-layers. For now users will have to setup the layers themelves if they want to use them (it's a debug feature only).//
*  ~~More generic CMake variables (e.g. autodetect OpenXR version)~~ -- //Not needed after recent refactor of OpenXR related build system parts.//
* [x] Pre-master-merge: Remove bundled OpenXR sources support (rB0dd3f3925b)
* [x] Remove support for non-OpenGL windows? Useful for testing, but unused by now (rB873223f38d).