OpenXR SDK (Source) 1.0.28 (with 1.0.28.2 hotfix)
OpenXR SDK 1.0.28 (2023-07-10)
NOTE: Binary artifacts for Windows attached to this release correspond to the hotfix release release-1.0.28.1
tag, and binary artifacts for Android correspond to the hotfix release release-1.0.28.2
tag (the 1.0.28 artifacts have been removed as they were defective). See below for the contents of these SDK hotfix releases.
This release contains improved compatibility and code quality fixes for the
loader, support for loading certain API layers on Android-based devices, and a
number of other improvements, in addition to the new extensions. Additionally,
the loader documentation now describes how OpenXR handles compatibility with
Android API levels of 30 and above: runtimes may need to update accordingly to
support this compatibility solution.
- OpenXR SDK 1.0.28.2 hotfix release includes the following fixes
- Loader spec: Fix description of
<queries>
element contents: existing
description would fail to install.
(internal MR 2840,
internal issue 2053) - Android AAR artifacts (loader) and hello_xr: Fix
<queries>
element contents.
(internal MR 2840,
internal issue 2053) - Android AAR artifacts: Fix C++ standard library selection for Android artifacts
inbuild-aar.sh
(internal MR 2836,
internal issue 2052) - Android AAR artifacts: Use
jar
instead of 7-zip to perform archiving, and
document requirements inbuild-aar.sh
(internal MR 2836,
OpenXR-SDK-Source issue 303,
internal issue 1711) - build system: Support SDK hotfix versions (fourth version component).
(internal MR 2836)
- Loader spec: Fix description of
- OpenXR SDK 1.0.28.1 hotfix release includes the following fix
- API dump layer: Fix build on Windows on ARM64.
(OpenXR-SDK-Source PR 414)
- API dump layer: Fix build on Windows on ARM64.
- Registry
- Added defines to
xr.xml
for extension enum base and enum stride.
(internal MR 2693,
OpenXR-Docs issue 148,
internal issue 1979) - Extension reservation: Reserve an extension for
XR_EXT_future
(internal MR 2631) - Extension reservation: Register
ANDROID
author ID and reserve 15 extensions
for it.
(internal MR 2690) - Extension reservation: Reserve extensions for "user presence" and "locate
spaces"
(internal MR 2705) - Extension reservation: Reserve 25 extensions for Magic Leap.
(internal MR 2778) - Extension reservation: Reserve extension for
XR_KHR_extendable_action_binding
(internal MR 2779) - Fix spelling.
(internal MR 2766) - Fixed the error code specification for
xrGetControllerModelPropertiesMSFT
function.
(internal MR 2600) - New multi-vendor extension:
XR_EXT_hand_interaction
(internal MR 2116) - New multi-vendor extension:
XR_EXT_plane_detection
(internal MR 2510,
internal MR 2791) - New multi-vendor extension:
XR_EXT_hand_tracking_data_source
(internal MR 2568) - New vendor extension:
XR_META_passthrough_color_lut
(internal MR 2507) - New vendor extension:
XR_META_virtual_keyboard
(internal MR 2555) - New vendor extension:
XR_OPPO_controller_interaction
(OpenXR-Docs PR 146) - Update Magic Leap contact
(internal MR 2699) XR_FB_face_tracking
: Non-functional registry change, fixing a problem with
standalone headers.
(internal MR 2663)XR_FB_scene
: IntroduceXrSemanticLabelsSupportInfoFB
and bump spec version
to 3.
(internal MR 2682)XR_FB_spatial_entity
andXR_FB_scene
: AddXR_ERROR_SIZE_INSUFFICIENT
return code to functions which use the two-call idiom.
(internal MR 2718)XR_FB_touch_controller_pro
: Fix XML to require thetouch_controller_pro
interaction profile for the extension
(internal MR 2806)- registry: Remove extraneous whitespace from some commands.
(OpenXR-SDK-Source PR 397) - schematron: Improve self tests.
(internal MR 2680) - schematron: Require vendor tag on interaction profile paths introduced by
extensions.
(internal MR 2684) - scripts: Allow schematron to check an alternate XML file.
(internal MR 2670)
- Added defines to
- SDK
- Allow compilation of OpenXR SDK on Mac
(internal MR 2788,
internal MR 2789,
internal MR 2790,
internal MR 2800) - Common: Add
stdint.h
include toplatform_utils.hpp
for GCC 13+
(OpenXR-SDK-Source PR 406) - Describe building OpenXR SDK on macOS with Xcode
(internal MR 2768) - Handle clang-format-16 in
runClangFormat.sh
, and adjust source files so its
output matches the earlier version used on CI.
(internal MR 2666,
internal MR 2814) - Improvement: Fix clang warning
-Wundef
.
(internal MR 2717) - Improvement: Fix leftover warnings when building with
-Wall
.
(internal MR 2754,
OpenXR-SDK-Source PR 410) - Loader: On Android, use a single logcat tag for all parts of the loader.
(internal MR 2688) - Loader: Update the required
queries
elements for an OpenXR application on
Android, so that runtime and layer components loaded in the application process
may access their own package in API >29.
(internal MR 2708) - Loader: Search system directories for API layer manifests on Android
(internal MR 2709) - Loader: Add Product and OEM partition to active runtime search path on Android
(internal MR 2709) - Loader: Improve casting to
uint32_t
edge case handling.
(internal MR 2745) - Loader: Clear possible dangling
next
pointers inXR_EXT_debug_utils
label
structures.
(internal MR 2764) - Validation Layer: Fix the validation_layer_generator to not check static array
addresses.
(OpenXR-SDK-Source PR 399) - api_layers: Update API Layers spec section in README.md
(internal MR 2753) - cmake: Set up alias targets
OpenXR::openxr_loader
andOpenXR::headers
so
that the loader and headers may be used the same whether you used
find_package(OpenXR)
on binaries or have included the source tree as a
subproject.
(internal MR 2793) - gradle: Add license for gradlew and gradlew.bat
(internal MR 2725) - gradle: General cleanup and updates of Android build system.
(internal MR 2796) - hello_xr: Enable building with latest Android Studio canary
(OpenXR-SDK-Source PR 393) - layers: Code cleanup and calling convention fixes
(internal MR 2784) - loader test: Fix for Windows 32-bit
(internal MR 2784) - loader test: Fix CMake dependencies.
(internal MR 2776)
- Allow compilation of OpenXR SDK on Mac
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.28.2'
Alternately, the AAR file (plus signature by the spec editor key and associated POM) are attached to this release.
Other release files are signed by Ryan Pavlik's key, key fingerprint F029455EAB70F520FF4A03BD7F534CD56F00321E.