Releases: KhronosGroup/OpenXR-SDK-Source
OpenXR SDK (Source) 1.0.20
OpenXR SDK 1.0.20 (2021-10-04)
This release includes a proposed cross-vendor OpenXR loader for Android, Android
build system for hello_xr, and a number of new vendor extensions.
The Android loader can be found on Maven Central, by adding the following line to your Android app's build.gradle dependencies section:
implementation 'org.khronos.openxr:openxr_loader_for_android:1.0.20'Alternately, the AAR file (plus signature by the spec editor key and associated POM) are attached to this release.
Other release files are still signed by Ryan Pavlik's key as before, key fingerprint F029455EAB70F520FF4A03BD7F534CD56F00321E.
- Registry
- Add new
XR_HTCX_vive_tracker_interactionprovisional vendor extension.
(internal MR 1983) - Add new
XR_VARJO_marker_trackingvendor extension.
(internal MR 2129) - Add new
XR_FB_triangle_meshvendor extension.
(internal MR 2130) - Add new
XR_FB_passthroughvendor extension.
(internal MR 2130) - Reserve vendor extensions for Facebook.
(internal MR 2131) - Reserve a vendor extension for Almalence.
(OpenXR-Docs PR 99) - XR_FB_color_space: Fix XML markup to indicate that
XrSystemColorSpacePropertiesFBis chained toXrSystemProperties.
(internal MR 2143)
- Add new
- SDK
- Loader specification: Describe a cross-vendor loader for use on Android.
(internal MR 1949,
internal issue 1425) - hello_xr: Add Android build system, using new cross-vendor loader, and make
some improvements/fixes.
(internal MR 1949,
internal issue 1425) - loader: Implement cross-vendor loader for Android, with AAR Prefab packaging.
(internal MR 1949,
internal issue 1425)
- Loader specification: Describe a cross-vendor loader for use on Android.
OpenXR SDK (Source) 1.0.19
OpenXR SDK 1.0.19 (2021-08-24)
This release features a number of new or updated vendor extensions, as well as
some minor cleanups and bug fixes in the SDK.
- Registry
- Add
XR_SESSION_NOT_FOCUSEDas a possible success return code to
xrApplyHapticFeedbackandxrStopHapticFeedback.
(internal MR 2106,
internal issue 1270) - Add new
XR_FB_hand_tracking_meshvendor extension.
(internal MR 2089) - Add new
XR_FB_hand_tracking_capsulesvendor extension.
(internal MR 2089) - Add new
XR_FB_hand_tracking_aimvendor extension.
(internal MR 2089) - Add version 1 of new
XR_FB_space_warpvendor extension.
(internal MR 2115) - Register new Author ID for Almalence.
(OpenXR-Docs PR 92,
OpenXR-Docs PR 93) - Update to version 2 of
XR_VALVE_analog_threshold.
(internal MR 2113)
- Add
- SDK
- scripts: Some typing annotations and type-related cleanup found by using type-
aware Python editors.
(internal MR 2100) xr_linear.h: Fix bug inXrVector3f_Cross
(internal MR 2111)
- scripts: Some typing annotations and type-related cleanup found by using type-
OpenXR SDK (Source) 1.0.18
OpenXR SDK 1.0.18 (2021-07-30)
This release mostly adds new extensions. It also includes some fixes to the
included layers, as well as text in the loader documentation describing how
runtimes can register themselves for manual selection. This is not used by the
loader itself and does not require any changes to the loader, but it may be
useful to developer-focused supporting software.
- Registry
- Add ratified
XR_KHR_swapchain_usage_input_attachment_bitKhronos extension.
(Promotion ofXR_MND_swapchain_usage_input_attachment_bit, which is now
deprecated.)
(internal MR 2045) - Add new
XR_FB_foveation,XR_FB_foveation_configuration, and
XR_FB_foveation_vulkanvendor extensions.
(internal MR 2050) - Add additional extension dependencies to
XR_FB_swapchain_update_state.
(internal MR 2072,
internal issue 1572) - Add new
XR_FB_composition_layer_secure_contentvendor extension.
(internal MR 2075) - Add new
XR_FB_composition_layer_alpha_blendvendor extension.
(internal MR 2078) - Add new
XR_FB_composition_layer_image_layoutvendor extension.
(internal MR 2090) - Add new
XR_MSFT_spatial_anchor_persistencevendor extension.
(internal MR 2093) - Add some simple Schematron rules and a script to
check the XML registry against them.
(internal MR 2103) - Register author ID and Reserve vendor extensions for Unity.
(internal MR 2105) - Reserve extension ID range 187-196 for LIV Inc.
(internal MR 2102)
- Add ratified
- SDK
- Describe how runtimes may register themselves at installation time for manual
selection.
(internal MR 2081,
internal MR 2109,
internal issue 1574) - Include sRGB in list of supported swapchain texture formats for the HelloXR
OpenGLES plugin.
(internal MR 2066) - layers: Refactor generated
xrGetInstanceProcAddrimplementations to avoid
deeply-nestedif ... elseblocks. (Some compilers have limits we were nearing
or hitting.)
(internal MR 2050) - validation layer: Set default logging mode to stdout ("text") instead of none.
(OpenXR-SDK-Source PR 262) - validation layer: Fix invalid struct type error message to show the expected
type instead of the actual type.
(OpenXR-SDK-Source PR 263)
- Describe how runtimes may register themselves at installation time for manual
OpenXR SDK (Source) 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_understandingvendor extension.
(internal MR 2032) - Add
XR_MSFT_scene_understanding_serializationvendor extension.
(internal MR 2032) - Add
XR_MSFT_composition_layer_reprojectionvendor extension.
(internal MR 2033) - Add
XR_OCULUS_audio_device_guidvendor extension.
(internal MR 2053) - Add version 3 of
XR_FB_swapchain_update_statevendor 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
xrCreatefunctions must be able to return
XR_ERROR_LIMIT_REACHEDandXR_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 theerrorcodesattribute 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.pycan 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
strlentowchar_t-based output
buffers.
(internal MR 2053)
- Loader: Fix iteration over explicit layer manifests.
OpenXR SDK (Source) 1.0.16
Windows binaries of the loader, sample apps, and API layers are attached. Zipfile and release tarball are signed by Ryan Pavlik, key fingerprint F029455EAB70F520FF4A03BD7F534CD56F00321E
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_UNAVAILABLEerror code, add
XR_ERROR_RUNTIME_UNAVAILABLEas a supported error code toxrCreateInstance
andxrEnumerateInstanceProperties, and removeXR_ERROR_INSTANCE_LOSTas a
supported error code fromxrCreateInstance.
(internal MR 2024,
internal issue 1552,
OpenXR-SDK-Source/#177) - Add
XR_EXT_hand_joint_motion_rangemulti-vendor extension.
(internal MR 1995) - Add
XR_FB_swapchain_update_statevendor extension.
(internal MR 1997) - Fix missing
XR_ERROR_INSTANCE_LOSTreturn 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_UNAVAILABLEwhen
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 (Source) 1.0.15
Windows binaries of the loader, sample apps, and API layers are attached. Zipfile and release tarball are signed by Ryan Pavlik, key fingerprint F029455EAB70F520FF4A03BD7F534CD56F00321E
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_renderingvendor extension.
(internal MR 1981) - Add
XR_VARJO_composition_layer_depth_testvendor extension.
(internal MR 1998) - Add
XR_VARJO_environment_depth_estimationvendor extension.
(internal MR 1998) - Add
uint16_ttoopenxr_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
pathcchdependency.
(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.defcausing a linker warning
when building debug for Windows.
(OpenXR-SDK-Source/#246) - Update
cgenerator.pyto generate header comments inopenxr.hto show when a
struct extends another struct
(internal MR 2005) - hello_xr: Check for
shaderStorageImageMultisamplefeature in Vulkan plugin
before using it.
(OpenXR-SDK-Source/#234,
OpenXR-SDK-Source/#233,
internal issue 1518) - hello_xr: Make sure
common.hincludes 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.hon 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 (Source) 1.0.14
Windows binaries of the loader, sample apps, and API layers are attached. Zipfile and release tarball are signed by Ryan Pavlik, key fingerprint F029455EAB70F520FF4A03BD7F534CD56F00321E
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_createvendor extension.
(internal MR 1939,
internal issue 1493,
internal MR 1968) - Add missing
optionalattributes toXR_KHR_vulkan_enable2structs. Fixes
validation layer.
(OpenXR-Docs/#72) - Correction to
locationFlagsfield inXrHandJointLocationEXTto 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.NativeActivitycorrectly 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
Release tarball signed by Ryan Pavlik [email protected], key fingerprint F029455EAB70F520FF4A03BD7F534CD56F00321E
OpenXR 1.0.12
Release tarball signed by Ryan Pavlik [email protected], key fingerprint F029455EAB70F520FF4A03BD7F534CD56F00321E
OpenXR 1.0.11
Release tarball signed by Ryan Pavlik [email protected], key fingerprint F029455EAB70F520FF4A03BD7F534CD56F00321E