Releases: KhronosGroup/OpenXR-SDK
OpenXR SDK 1.0.17
OpenXR SDK 1.0.17 (2021-06-08)
This release features an important fix to the loader for an invalid-iterator bug
introduced in 1.0.16. All developers shipping the loader are strongly encouraged
to upgrade. It also includes a variety of new vendor extensions.
- Registry
- Add
XR_MSFT_scene_understanding
vendor extension.
(internal MR 2032) - Add
XR_MSFT_scene_understanding_serialization
vendor extension.
(internal MR 2032) - Add
XR_MSFT_composition_layer_reprojection
vendor extension.
(internal MR 2033) - Add
XR_OCULUS_audio_device_guid
vendor extension.
(internal MR 2053) - Add version 3 of
XR_FB_swapchain_update_state
vendor extension, which splits
platform and graphics API specific structs into separate extensions.
(internal MR 2059) - Apply formatting to registry XML by selectively committing changes made by
https://github.com/rpavlik/PrettyRegistryXml.
(internal MR 2070,
OpenXR-SDK-Source/#256) - Enforce that all
xrCreate
functions must be able to return
XR_ERROR_LIMIT_REACHED
andXR_ERROR_OUT_OF_MEMORY
, and adjust lists of
error codes accordingly.
(internal MR 2064) - Fix a usage of
>
without escaping as an XML entity.
(internal MR 2064) - Fix all cases of a success code (most often
XR_SESSION_LOSS_PENDING
)
appearing in theerrorcodes
attribute of a command.
(internal MR 2064,
internal issue 1566) - Improve comments for several enum values.
(internal MR 1982) - Perform some script clean-up and refactoring, including selective type
annotation and moving the Conventions abstract base class tospec_tools
.
(internal MR 2064) - Sort return codes, with some general, popular codes made to be early. Script
sort_codes.py
can be used to maintain this, though it mangles other XML
formatting, so use it with care. https://github.com/rpavlik/PrettyRegistryXml
can format, and eventually sort return codes (currently sort order does not
match).
(internal MR 2064,
OpenXR-SDK-Source/#256)
- Add
- SDK
- Loader: Fix iteration over explicit layer manifests.
(OpenXR-SDK-Source/#256) - validation layer: Don't try to apply
strlen
towchar_t
-based output
buffers.
(internal MR 2053)
- Loader: Fix iteration over explicit layer manifests.
OpenXR SDK 1.0.16
nupkg signed by Ryan Pavlik, key fingerprint F029455EAB70F520FF4A03BD7F534CD56F00321E
See https://github.com/KhronosGroup/OpenXR-SDK-Source/releases/ for additional release artifacts.
OpenXR SDK 1.0.16 (2021-05-11)
This release contains an update to define a new error code,
XR_ERROR_RUNTIME_UNAVAILABLE
, now returned by the loader at xrCreateInstance
and xrEnumerateInstanceProperties
when it cannot find or load a runtime for
some reason. This should be more clear for developers when encountering it, as
well as helpful when troubleshooting errors hit by users. (The
previously-returned error was typically XR_ERROR_INSTANCE_LOST
, which is
confusing when returned when trying to create an instance.) This release also
includes a new multi-vendor extension, a new vendor extension, and improved
concurrency handling in the loader, among smaller fixes.
- Registry
- Add new
XR_ERROR_RUNTIME_UNAVAILABLE
error code, add
XR_ERROR_RUNTIME_UNAVAILABLE
as a supported error code toxrCreateInstance
andxrEnumerateInstanceProperties
, and removeXR_ERROR_INSTANCE_LOST
as a
supported error code fromxrCreateInstance
.
(internal MR 2024,
internal issue 1552,
OpenXR-SDK-Source/#177) - Add
XR_EXT_hand_joint_motion_range
multi-vendor extension.
(internal MR 1995) - Add
XR_FB_swapchain_update_state
vendor extension.
(internal MR 1997) - Fix missing
XR_ERROR_INSTANCE_LOST
return codes for extension functions in
XR_EXT_performance_settings
,XR_EXT_debug_utils
,
XR_EXT_conformance_automation
, andXR_EXT_thermal_query
.
(internal MR 2023,
OpenXR-Docs/#10,
internal issue 1256) - Reserve extension 166 for working group use.
(internal MR 2025)
- Add new
- SDK
- Loader: Change runtime part to return
XR_ERROR_RUNTIME_UNAVAILABLE
when
there is an error loading a runtime.
(internal MR 2024,
internal issue 1552,
OpenXR-SDK-Source/#177) - Loader: Simplify in areas where code paths were dead.
(internal MR 2024) - Loader: Improved locking around a few areas of the loader that aren't robust
against usual concurrent calls.
(OpenXR-SDK-Source/#252) - validation layer: Fix generated code when a protected extension contains a base
header type.
(internal MR 1997)
- Loader: Change runtime part to return
OpenXR SDK 1.0.15
nupkg signed by Ryan Pavlik, key fingerprint F029455EAB70F520FF4A03BD7F534CD56F00321E
See https://github.com/KhronosGroup/OpenXR-SDK-Source/releases/ for additional release artifacts.
OpenXR SDK 1.0.15 (2021-04-13)
The main SDK change in this release is that the OpenXR headers no longer
expose extension function prototypes because extension functions are not
exported by the loader. This should prevent some confusion during development
without affecting code that correctly compiles and links with older SDKs. Code
that was compiled but not linked (for instance, the automated tests of example
source in the specification) and that would not have successfully linked may
have their defects highlighted by this change, however. If you need those
prototypes still available, there is a preprocessor define that can re-enable
them. The function pointer definitions are always available.
In addition to that header change, this release contains three new vendor
extensions plus an assortment of SDK fixes.
- Registry
- Add
XR_VARJO_foveated_rendering
vendor extension.
(internal MR 1981) - Add
XR_VARJO_composition_layer_depth_test
vendor extension.
(internal MR 1998) - Add
XR_VARJO_environment_depth_estimation
vendor extension.
(internal MR 1998) - Add
uint16_t
toopenxr_platform_defines
(and associated scripts) so it may
be used easily by extensions.
(internal MR 2017) - Reserve extension 149 for working group use.
(internal MR 1999) - Reserve extension numbers 150 to 155 for ULTRALEAP extensions
(internal MR 2006) - Reserve extension numbers 156-165 for Facebook.
(internal MR 2018)
- Add
- SDK
- Hide prototypes for extension functions unless explicitly requested by defining
XR_EXTENSION_PROTOTYPES
. These functions are not exported from the loader, so
having their prototypes available is confusing and leads to link errors, etc.
(OpenXR-SDK-Source/#251,
OpenXR-SDK-Source/#174,
internal issue 1554,
internal issue 1338) - Also list API layers in list tool.
(internal MR 1991) - Ensure we expose the OpenXR headers in the build-time interface of the loader,
as well as the install-time interface, for use with FetchContent.cmake.
(OpenXR-SDK-Source/#242,
OpenXR-SDK-Source/#195,
internal issue 1409) - Improve
BUILDING.md
, including adding details on how to specify architecture
for VS2019.
(OpenXR-SDK-Source/#245,
OpenXR-SDK-Source/#253) - Loader: Fix loader failing to load on Windows 7 due to
pathcch
dependency.
(OpenXR-SDK-Source/#239,
OpenXR-SDK-Source/#214,
internal issue 1471,
OpenXR-SDK-Source/#236,
internal issue 1519) - Loader: Fix conflicting filename in
openxr_loader.def
causing a linker warning
when building debug for Windows.
(OpenXR-SDK-Source/#246) - Update
cgenerator.py
to generate header comments inopenxr.h
to show when a
struct extends another struct
(internal MR 2005) - hello_xr: Check for
shaderStorageImageMultisample
feature in Vulkan plugin
before using it.
(OpenXR-SDK-Source/#234,
OpenXR-SDK-Source/#233,
internal issue 1518) - hello_xr: Make sure
common.h
includes the reflection header that it uses.
(OpenXR-SDK-Source/#247) - layers: Revise documentation, re-formatting and updating to refer to real
functions and URLs.
(internal MR 2012) - loader: Check the instance handle passed to
xrGetInstanceProcAddr
.
(internal MR 1980) - loader: Fix building OpenXR-SDK with CMake's multi-config Ninja generator.
(OpenXR-SDK-Source/#249,
OpenXR-SDK-Source/#231) openxr_reflection.h
: Make reproducible/deterministic by sorting protection
defines in the script.
(internal MR 1993,
internal issue 1424)- xr_dependencies (shared utility): Include
unknwn.h
on Windows, even without
D3D enabled.
(OpenXR-SDK-Source/#250,
OpenXR-SDK-Source/#237)
- Hide prototypes for extension functions unless explicitly requested by defining
OpenXR SDK 1.0.14
Windows binaries and NuGet package of the loader are attached. Zip/nupkg file is signed by Ryan Pavlik, key fingerprint F029455EAB70F520FF4A03BD7F534CD56F00321E
Note that this release now comes with some new/added files in the zip:
- Binaries and associated manifests for the two API layers in the OpenXR-SDK-Source repo.
Additionally, future releases will have the large zipped binaries on the https://github.com/KhronosGroup/OpenXR-SDK-Source repo instead of here, since more of the build products are now packaged.
OpenXR SDK 1.0.14 (2021-01-27)
This release contains a collection of fixes and improvements, including one new
vendor extension. Notably, we have relicensed all files that become part of the
loader, so the loader may be "Apache-2.0 OR MIT" for downstream license
compatibility.
- Registry
- Add new
XR_FB_android_surface_swapchain_create
vendor extension.
(internal MR 1939,
internal issue 1493,
internal MR 1968) - Add missing
optional
attributes toXR_KHR_vulkan_enable2
structs. Fixes
validation layer.
(OpenXR-Docs/#72) - Correction to
locationFlags
field inXrHandJointLocationEXT
to be optional.
(internal MR 1945) - Reserve vendor extensions for Varjo.
(internal MR 1935) - Reserve vendor extensions for Magic Leap.
(internal MR 1967,
internal MR 1970) - Reserve extension number 143 to 148 for MSFT extensions.
(internal MR 1969) - Update Magic Leap ID and contact information.
(internal MR 1967)
- Add new
- SDK
- Add
./
to the start of the library name in API layer manifests on Windows, so
they are treated as a relative path.
(internal MR 1975) - Fix searching for prerequisites in generated CMake config files.
(internal MR 1963) - Start shipping the OpenXR API layers with the release artifacts.
(internal MR 1975) - cmake: Debug library uses d suffix on Windows. CMake
OPENXR_DEBUG_POSTFIX
variable can be set to something else to change it.
(OpenXR-SDK-Source/#229) - hello_xr: Remove redundant call to
xrInitializeLoaderKHR
.
(internal MR 1933) - hello_xr: Return supported sample count as 1 for GLES, GL and D3D11.
(internal MR 1962) - hello_xr: Use
android.app.NativeActivity
correctly in place of NativeActivity
subclass.
(internal MR 1976) - hello_xr: On Vulkan, explicitly add surface extensions for mirror window.
(OpenXR-SDK-Source/#230,
internal MR 1934) - loader: Relicense all files that become part of the loader, so the loader may
be "Apache-2.0 OR MIT" for downstream license compatibility.
(internal MR 1937,
internal issue 1449,
OpenXR-SDK-Source/#205) - loader: Protect against the application overriding loader symbols.
(internal MR 1961) - loader: Handle JSON files in the search path that are not objects.
(internal MR 1979)
- Add
OpenXR 1.0.13
Windows binaries and NuGet package of the loader are attached. Zip/nupkg file is signed by Ryan Pavlik, key fingerprint F029455EAB70F520FF4A03BD7F534CD56F00321E
Note that this release now comes with some new/added files in the zip:
- CMake config files for several Windows-based platforms: just point
OpenXR_DIR
to the directory you extracted this to (containing OpenXRConfig.cmake) - PDB files for all provided loader binaries
- Executable binaries of hello_xr.exe (the sample app, source is in OpenXR-SDK-Source ) and
openxr_runtime_list.exe
(which lists runtime details and extensions)
OpenXR 1.0.12
Windows binaries and NuGet package of the loader are attached. Zip/nupkg file is signed by Ryan Pavlik, key fingerprint F029455EAB70F520FF4A03BD7F534CD56F00321E
OpenXR 1.0.11
Windows binaries and NuGet package of the loader are attached. Zip/nupkg file is signed by Ryan Pavlik, key fingerprint F029455EAB70F520FF4A03BD7F534CD56F00321E
OpenXR 1.0.10
Windows binaries and NuGet package of the loader are attached. Zip/nupkg file is signed by Ryan Pavlik, key fingerprint F029455EAB70F520FF4A03BD7F534CD56F00321E
OpenXR 1.0.9
Windows binaries of the loader are attached. Zip file is signed by Ryan Pavlik, key fingerprint F029455EAB70F520FF4A03BD7F534CD56F00321E
OpenXR 1.0.8
Windows binaries of the loader, built with Visual Studio 2019, are attached. Zip file is signed by Ryan Pavlik, key fingerprint F029455EAB70F520FF4A03BD7F534CD56F00321E