commit | 2ca461bd70da91a8aaf18da6ec70b37376f1b4be | [log] [tgz] |
---|---|---|
author | Ryan Pavlik <ryan.pavlik@collabora.com> | Tue Jul 28 19:58:41 2020 |
committer | Ryan Pavlik <ryan.pavlik@collabora.com> | Tue Jul 28 19:58:41 2020 |
tree | 894c3ed9f82957d980bf302793827b28bebd40cb | |
parent | 97cfe495bb7a3853266b646d1c79e169387f9c7a [diff] |
OpenXR SDK 1.0.10 (2020-07-28) Note the relicensing of the registry XML file and some include files provided by or generated by this repository (first item in each changelog section). Each file’s header, or an adjacent file with .license appended to the filename, is the best reference for its license terms. We are currently working on ensuring all files have an SPDX license identifier tag either in them or in an adjacent file. This is still in progress but mostly complete. - Registry - Relicense registry XML from MIT-like “Khronos Free Use License for Software and Documentation” to, at your option, either the Apache License, Version 2.0, found at http://www.apache.org/licenses/LICENSE-2.0, or the MIT License, found at http://opensource.org/licenses/MIT, for broader license compatibility with downstream projects. (SPDX License Identifier expression “Apache-2.0 OR MIT”) (internal MR 1814, OpenXR-Docs/#3, internal issue 958) - Add XR_MSFT_holographic_window_attachment vendor extension. (internal MR 1833) - Add XR_EXT_hp_mixed_reality_controller multi-vendor extension. (internal MR 1834) - Add XR_EXT_samsung_odyssey_controller multi-vendor extension. (internal MR 1835) - Add XR_VALVE_analog_threshold vendor extension. (internal MR 1859) - Add XR_MND_swapchain_input_attachment vendor extension. (internal MR 1865) - Reserve extension numbers 71 to 78 for Facebook extensions. (internal MR 1839) - Reserve extension numbers 79 to 88 for Valve extensions. (internal MR 1842) - Reserve extension numbers 89 to 92 for Khronos extensions. (internal MR 1844) - Reserve extension numbers 93 to 94 for EXT_unbounded_reference_space and EXT_spatial_anchor. (internal MR 1854) - XR_EPIC_view_configuration_fov: Fix recommendedFov incorrectly being named recommendedMutableFov. This is a SOURCE-INCOMPATIBLE CHANGE to a vendor extension. (internal MR 1812) - schema: Adjust to permit bitmask expansion in extensions, already supported by toolchain thanks to Vulkan. (internal MR 1865) - scripts: Teach xml-consistency to handle bitmask values defined in extensions. (internal MR 1865) - SDK - Relicense generated headers openxr.h, openxr_platform.h, openxr_reflection.h, and static header openxr_platform_defines.h from the Apache License, version 2.0, to, at your option, either the Apache License, Version 2.0, found at http://www.apache.org/licenses/LICENSE-2.0, or the MIT License, found at http://opensource.org/licenses/MIT, for broader license compatibility with downstream projects. (SPDX License Identifier expression “Apache-2.0 OR MIT”) (internal MR 1814, OpenXR-Docs/#3, internal issue 958) - Loader: Fix loading relative runtime libraries on Linux. (internal MR 1817) - Loader: Fix error on xrCreateInstance when explicitly trying to enable an implicit API layer. (internal MR 1858) - Modify Azure DevOps build pipeline to automatically generate a NuGet package. (OpenXR-SDK-Source/#196) - Partially revert build system changes related to detecting Direct3D, to fix builds. (internal MR 1802) - Portability fixes, including checking for timespec_get before enabling XR_USE_TIMESPEC. (internal MR 1804) - cmake: export OpenXRConfig.cmake during install. Two targets can be imported by another CMake application: OpenXR::openxr_loader and OpenXR::headers. (OpenXR-SDK-Source/#191, OpenXR-SDK-Source/#185) - hello_xr: Fix disparity between swapchain and render pass sample count in Vulkan in the case where implementation recommends a value higher than one. (internal MR 1794) - hello_xr: Fix build on a minimal Linux install by ensuring we check for all dependencies we use. We had missed checking for xcb_glx. (internal MR 1799, internal issue 1360) - hello_xr: Fix a Vulkan crash on Windows related to the mirror window. (internal MR 1823) - hello_xr: Use more proper linear formats (internal MR 1840) - hello_xr: Enable use of glslangValidator to compile shaders if shaderc is not available. (internal MR 1857) - hello_xr: Fix verbose per-layer information. (internal MR 1866) - hello_xr: Add Valve Index Controller bindings. Also use trigger value instead of squeeze click for grab action on Vive Wand controller. (OpenXR-SDK-Source/#163) - openxr_reflection: Add XR_LIST_STRUCT_ expansion macros for structure types, as well as XR_LIST_STRUCTURE_TYPES macro associating types with XrStructureType values. (internal MR 1495) - openxr_reflection: Adds XR_LIST_EXTENSIONS() macro, which will call your supplied macro name with the name and extension number of all known extensions. (internal MR 1864)
This repository contains OpenXR headers, as well as source code and build scripts for the OpenXR loader. It contains all generated source files and headers pre-generated for minimum dependencies.
The authoritative public repository for this project is located at https://github.com/KhronosGroup/OpenXR-SDK.
The public repository containing the scripts that generate the files in this repository is located at https://github.com/KhronosGroup/OpenXR-SDK-Source. It hosts the public Issue tracker, and accepts patches (Pull Requests) from the general public. That repository is also where sample code (hello_xr) and API layer source can be found.
Note that this repo is effectively read-only: changes to this repo should be made in the OpenXR-SDK-Source repo instead
BUILDING.md
- Instructions for building the projectsREADME.md
- This fileCOPYING.md
- Copyright and licensing informationCODE_OF_CONDUCT.md
- Code of Conductexternal/
- External code for projects in the repoinclude/
- OpenXR header filessrc/external/jsoncpp
- The jsoncpp project source code, an included dependency of the loader.src/loader
- OpenXR loader code, including generated codeThe project is set up to build using CMake.
By default, the OpenXR loader is built as a static library on Windows and a dynamic library on other platforms. To specify alternate behavior, define the CMake option DYNAMIC_LOADER
, e.g. by adding -DDYNAMIC_LOADER=ON
or -DDYNAMIC_LOADER=OFF
to your CMake command line.
Building the OpenXR components in this tree on Windows is supported using Visual Studio 2013 and newer. Before beginning, make sure the appropriate “msbuild.exe” is in your PATH. Also, when generating the solutions/projects using CMake, be sure to use the correct compiler version number. The following table is provided to help you:
Visual Studio | Version Number |
---|---|
Visual Studio 2013 | 12 |
Visual Studio 2015 | 14 |
Visual Studio 2017 | 15 |
Specific sample command lines for building follow. If you're already familiar with the process of building a project with CMake, you may skim or skip these instructions.
First, generate the 64-bit solution and project files using CMake:
mkdir build\win64 cd build\win64 cmake -G "Visual Studio [Version Number] Win64" ..\..
Finally, open the build\win64\OPENXR.sln
in the Visual Studio to build the loader.
First, generate the 32-bit solution and project files using CMake:
mkdir build\win32 cd build\win32 cmake -G "Visual Studio [Version Number]" ..\..
Open the build\win32\OPENXR.sln
in the Visual Studio to build the loader.
The following set of Debian/Ubuntu packages provides all required libs for building for xlib or xcb with OpenGL and Vulkan support.
build-essential
cmake
(of somewhat recent vintage, 3.10+ known working)libgl1-mesa-dev
libvulkan-dev
libx11-xcb-dev
libxcb-dri2-0-dev
libxcb-glx0-dev
libxcb-icccm4-dev
libxcb-keysyms1-dev
libxcb-randr0-dev
libxrandr-dev
libxxf86vm-dev
mesa-common-dev
Specific sample command lines for building follow. If you're already familiar with the process of building a project with CMake, you may skim or skip these instructions.
mkdir -p build/linux_debug cd build/linux_debug cmake -DCMAKE_BUILD_TYPE=Debug ../.. make
mkdir -p build/linux_release cd build/linux_release cmake -DCMAKE_BUILD_TYPE=Release ../.. make