OpenXR 0.90.1 patch release
Change log for OpenXR 0.90.1 provisional spec update (8-May-2019)

No API changes, and only minimal consistency changes to the spec/registry.
Mostly an update for tooling, layers, loader, and sample code.
Header version has been bumped to 43, but no symbols that should have actually been in use have changed.

### GitHub Pull Requests

These had been integrated into the public repo incrementally.

- General, Build, Other
  - #8, #11, #12 - Improve BUILDING and README
  - #9 - Make Vulkan SDK dependency optional
  - #17 - Add install target to CMake files
  - #17 - API dump layer, build: timespec extension fixes
  - #19 - build: fix CMAKE_PRESENTATION_BACKEND default on linux
  - #34 - list: Fix list test output
- validation layer
  - #18, #22, #23 - Fix build and execution
  - #24 - Fix crash and refactor
- hello_xr
  - #13 - Do not query GL context API version before creating context
  - #26 - Fix a warning
- Loader
  - #3 - Don't cross 32/64 registry silos
  - #14 - Initialize XrExtensionProperties array parameter for rt_xrEnumerateInstanceExtensionProperties
  - #20 - Fix Linux manifest file search
  - #30 - Add default implementations of API functions to dispatch chains
  - #32 - Avoid crash when evaluating layer disable environment vars
  - #35 - Add 'unknown' strings to loader's *ToString fallback functions
  - #36 - Allow null instance in xrGetInstanceProcAddr() for certain entry points
  - #39 - Default to static loader only on Windows

### Internal Issues

- General, Build, Other
  - Unify (for the most part) the OpenXR and Vulkan generator scripts. (internal MR 1166)
  - List instance extensions in the "list" test. (internal MR 1169)
  - Avoid dllexport for all apps compiled with `openxr_platform_defines.h` (internal MR 1187)
  - Don't offer `BUILD_SPECIFICATION` unless the spec makefile is there. (internal MR 1179)
  - Add simple input example to hello_xr. (internal MR 1178)
  - Add a clang-format script for ease of development.
- API Registry and Headers
  - Remove impossible and undocumented error codes. (internal MR 1185 and 1189)
  - Mark layers in `XrFrameEndInfo` as optional. (internal MR 1151, internal issue 899)
  - Remove unused windows types from `openxr_platform.h` (internal MR 1197)
  - Make `openxr_platform.h` include `openxr.h` on which it depends. (internal MR 1140, internal issue 918)
  - Remove unused, undocumented defines. (internal MR 1238, internal issue 1012)
- Loader
  - Fix loader regkey search logic so 64bit application loads 64bit regkey value. (internal MR 1180)
  - Modify loader to be friendly to UWP (Universal Windows Platform) build target. (internal MR 1198)
211 files changed
tree: b700f0699a639f4a0223b42ab6e926447eb3b959
  1. .editorconfig
  2. .gitattributes
  3. .gitignore
  6. CMakeLists.txt
  10. checkCodespell
  11. doc/
  12. external/
  13. include/
  14. openxr-codespell.exclude
  16. specification/
  17. src/

OpenXR ® Software Development Kit (SDK) Project

NOTE: This repository contains components that will eventually be assembled into an OpenXR SDK, but are currently not organized nor packaged as a distributable SDK.

This repository contains source code and build scripts for implementations of the OpenXR loader, validation layers, and code samples.

The authoritative public repository is located at It hosts the public Issue tracker, and accepts patches (Pull Requests) from the general public.

Directory Structure           Instructions for building the projects             This file            Copyright and licensing information    Code of Conduct
external/             External code for projects in the repo
include/              OpenXR platform include file
specification/        xr.xml file
src/                  Source code for various projects
src/api_layer         Sample code for developing API layers
src/loader            OpenXR loader code
src/tests/            various test code (if looking for sample code start with hello_xr/)

Currently the best sample code is in src/tests/hello_xr/. More will be added in the future.

This structure is for the provisional specification. Things are incomplete at launch but will be added to going forward.