Releases: KhronosGroup/OpenXR-SDK-Source
OpenXR SDK (Source) 1.1.43
OpenXR SDK 1.1.43 (2024-11-27)
This release has a few fixes and minor improvements, as well as support for
several new vendor extensions. It also improves the "loader_test" which was
broken on Android. CMake config files are now also included in the Android
loader AAR distributed for this release, for those not using Gradle and the
Android Gradle Plugin's support of "Prefab" format native libraries to consume
the loader.
- Registry
- Bump version of
XR_KHR_vulkan_swapchain_format_list
and note that it depends
on eitherXR_KHR_vulkan_enable
orXR_KHR_vulkan_enable2
.
(internal MR 3418) - Fix: Correctly mark
XR_FB_touch_controller_pro
and
XR_META_touch_controller_plus
as promoted to 1.1.
(internal MR 3586) - Improvement: Small XML formatting/organization cleanups.
(internal MR 3610) - New vendor extension:
XR_ML_facial_expression
(internal MR 3100) - New vendor extension:
XR_META_passthrough_layer_resumed_event
(internal MR 3106) - New vendor extensions:
XR_META_colocation_discovery
,
XR_META_spatial_entity_sharing
, andXR_META_spatial_entity_group_sharing
(internal MR 2782) - Reservation: Reserve numbers for spatial extensions.
(internal MR 3577)
- Bump version of
- SDK
- Fix: loader_test: API version in Android assets, fixes test breakage since
1.1.x.
(internal MR 3598) - Improvement: Loader test: Update Catch2 from v3.3.2 to v3.7.1. Provides build-
time and runtime performance improvements, among other changes.
(internal MR 2893) - Improvement: Accept command line options to
build-aar.sh
, including one that
allows including CMake configs in case you are building for Android but not
using Gradle and Android Gradle Plugin to consume the.aar
.
(internal MR 3423) - Improvement: Loader: Update jnipp, used for Android builds. New version
includes a build fix for some environments, as well as a crash fix.
(internal MR 3589) - Improvement: Add
disable_environment
field to the output of
generate_api_layer_manifest.py
script.
(internal MR 3591) - Improvement: hello_xr: Add Vulkan debug messages during Vulkan instance
creation.
(internal MR 3592) - Improvement: Loader test: Use Catch2 idiomatic assertions and captures to make
it easier to debug.
(internal MR 3599)
- Fix: loader_test: API version in Android assets, fixes test breakage since
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.1.43'
(There may be a delay of a few hours after release before artifacts are accessible on Maven Central.)
Alternately, the AAR file (plus signature by the dedicated spec editor key and associated POM) are attached to this release.
Other release files are signed by specification editor Rylie Pavlik's key, with key fingerprint 45207B2B1E53E1F2755FF63CC5A2D593A61DBC9D. Link goes to full public key.
OpenXR SDK (Source) 1.1.42
OpenXR SDK 1.1.42 (2024-10-25)
This release updates a vendor extension with renamed enumerants, adds
architecture support for loong64
, and delivers substantial improvements and
fixes to the XML registry, particularly the description of interaction profiles.
- Registry
- Fix: Update schema to reflect that
XrPathString_t
should allow dash in
interaction profile paths.
(internal MR 3493) - Fix:
XR_VARJO_xr4_controller_interaction
did not properly define its
interaction profile in XML.
(internal MR 3493,
internal MR 3548) - Fix: Correct XML description of OpenXR 1.1 related additions to the promoted
Meta Touch Plus, Touch Pro, and Touch (Rift CV1) controller interaction
profiles.
(internal MR 3513,
internal issue 2350,
internal issue 2375) - Fix: Add missing XML description of
EXT_hand_interaction
additions to several
interaction profiles, and add comments to clarify where profile additions
should be located.
(internal MR 3517,
internal MR 3541,
internal MR 3552) - Fix: Corrections to the Schema chapter of the style guide.
(internal MR 3521) - Improvement: Small consistency clean-up.
(internal MR 3512) - Improvement: Clean up
.rnc
schema to improve readability.
(internal MR 3521) - Scripts: Improve
update_version.py
used in release process.
(internal MR 3543) - Update: Change naming convention in
XR_HTC_facial_expression
: rename
XR_LIP_EXPRESSION_MOUTH_SMILE_RIGHT_HTC
to
XR_LIP_EXPRESSION_MOUTH_RAISER_RIGHT_HTC
,
XR_LIP_EXPRESSION_MOUTH_SMILE_LEFT_HTC
to
XR_LIP_EXPRESSION_MOUTH_RAISER_LEFT_HTC
,
XR_LIP_EXPRESSION_MOUTH_SAD_RIGHT_HTC
to
XR_LIP_EXPRESSION_MOUTH_STRETCHER_RIGHT_HTC
and
XR_LIP_EXPRESSION_MOUTH_SAD_LEFT_HTC
to
XR_LIP_EXPRESSION_MOUTH_STRETCHER_LEFT_HTC
, providing the old names as
compatibility aliases.
(internal MR 3408)
- Fix: Update schema to reflect that
- SDK
- Loader: Fix build error on
loong64
, and addloong64
in the architecture
table in the loader documentation.
(OpenXR-SDK-Source PR 479)
- Loader: Fix build error on
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.1.42'
(There may be a delay of a few hours after release before artifacts are accessible on Maven Central.)
Alternately, the AAR file (plus signature by the dedicated spec editor key and associated POM) are attached to this release.
Other release files are signed by specification editor Rylie Pavlik's key, with key fingerprint 45207B2B1E53E1F2755FF63CC5A2D593A61DBC9D. Link goes to full public key.
OpenXR SDK (Source) 1.1.41
OpenXR SDK 1.1.41 (2024-09-25)
This release features several new vendor extensions, as well as some small
improvements and fixes to the software.
- Registry
- Change: Allow structs that can extend multiple other structs in the RelaxNG
schema, as already permitted by the Vulkan schema.
(internal MR 2869) - New vendor extension:
XR_HTC_body_tracking
(internal MR 2549) - New vendor extension:
XR_ML_spatial_anchors
(internal MR 2803) - New vendor extension:
XR_ML_spatial_anchors_storage
(internal MR 2804) - New vendor extension:
XR_ML_system_notifications
(internal MR 2946) - New vendor extension:
XR_ML_world_mesh_detection
(internal MR 2950) - New vendor extension:
XR_ML_view_configuration_depth_range_change
(internal MR 3036)
- Change: Allow structs that can extend multiple other structs in the RelaxNG
- SDK
- Fix: Do not enforce overly-strict requirements on structs using
*BaseHeader
types in the code generation scripts, fixing a build-time warning for the
layers.
(internal MR 3434) - Improvement: Migrate CMake build system away from using
find_package(PythonInterpreter)
, deprecated since CMake 3.12. Use
find_package(Python3 COMPONENTS Interpreter)
instead.
(OpenXR-SDK-Source PR 486,
internal MR 3472) - Validation layer: Improvement: Clean up
generate_vuid_database
script, used
to analyze the validation layer.
(internal MR 2895) - ci: Remove now-redundant gradle-wrapper-validation job from GitHub Actions
(OpenXR-SDK-Source PR 500) - ci: Add GitHub Action for macOS building
(OpenXR-SDK-Source PR 501) - doc: Add command to build OpenXR targets on macOS
(OpenXR-SDK-Source PR 501) - hello_xr: Addition: Log Vulkan extensions requested by runtime and by app,
visible when running with--verbose
.
(OpenXR-SDK-Source PR 403)
- Fix: Do not enforce overly-strict requirements on structs using
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.1.41'
(There may be a delay of a few hours after release before artifacts are accessible on Maven Central.)
Alternately, the AAR file (plus signature by the dedicated spec editor key and associated POM) are attached to this release.
Other release files are signed by specification editor Rylie Pavlik's key, with key fingerprint 45207B2B1E53E1F2755FF63CC5A2D593A61DBC9D. Link goes to full public key.
OpenXR SDK (Source) 1.1.40
OpenXR SDK 1.1.40 (2024-08-22)
This release features a new ratified graphics API binding extension,
XR_KHR_metal_enable
, including support in hello_xr. The loader test has had
substantial improvements as well. There are also an assortment of smaller fixes
and improvements.
- Registry
- Add: New ratified Khronos extension:
XR_KHR_metal_enable
.
(internal MR 2721) - Chore: Reserve 15 extension id numbers for ByteDance.
(internal MR 3409) - Fix: Clarified that views in
XR_VARJO_quad_views
needs to have identical
poses for each eye.
(internal MR 3396) - Fix: Add missing interaction profile extensions for OpenXR 1.1 promoted Meta
interaction profiles.
(internal MR 3398) - Fix: Correctly mark the Magic Leap home button as a system button in the XML.
(internal MR 3405) - Fix: Add
XR_ERROR_VALIDATION_FAILURE
to all functions from
XR_EXT_conformance_automation
.
(internal MR 3417)
- Add: New ratified Khronos extension:
- SDK
- API dump layer: Improvement: Move a non-generated function out of the Python-
generated source file.
(internal MR 3336) - API dump layer: Improvement: Clean up usage of RAII mutex lock guards.
(internal MR 3336) - Layers and loader: Improvement: Disambiguate
XrGeneratedDispatchTable
between
loader and API layers.
(internal MR 3406) - Loader test: Improvement: Migrate to use Catch2 (matching the CTS) instead of
an ad-hoc test framework.
(internal MR 3337) - hello_xr: Add: Metal graphics plugin (use
-g Metal
) for running it on macOS
withXR_KHR_metal_enable
extension.
(internal MR 3009,
internal MR 3456) - hello_xr: Improvement: Use
XrMatrix4x4f_CreateFromRigidTransform
in place of
XrMatrix4x4f_CreateTranslationRotationScale
for known rigid transforms.
(internal MR 3349)
- API dump layer: Improvement: Move a non-generated function out of the Python-
Note: There is no 1.1.39 release: it was skipped to keep the monthly patch
version increment cadence given the lack of a release in July.
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.1.40'
(There may be a delay of a few hours after release before artifacts are accessible on Maven Central.)
Alternately, the AAR file (plus signature by the dedicated spec editor key and associated POM) are attached to this release.
Other release files are signed by specification editor Rylie Pavlik's key, with key fingerprint 45207B2B1E53E1F2755FF63CC5A2D593A61DBC9D. Link goes to full public key.
OpenXR SDK (Source) 1.1.38
OpenXR SDK 1.1.38 (2024-06-09)
This is a fairly small release, with one new extension and a handful of fixes.
- Registry
- Addition: New multi-vendor extension:
XR_EXT_composition_layer_inverted_alpha
(internal MR 3085,
internal MR 3385) - Chore: Reserve an extension for Logitech.
(internal MR 3384) - Chore: Register author tag for Deep Mirror.
(OpenXR-Docs PR 171) - Fix:
XrCompositionLayerPassthroughFB
has a "parentstruct" of
XrCompositionLayerBaseHeader
(it is based on this type), rather than
"structextends" (in the next chain). Bump extension revision.
(internal MR 3305) - Fix:
XR_EXT_plane_detection
: Fix extents description and plane axis to match
CTS and implementations.
(internal MR 3374,
internal issue 2281) - Fix: Correct typo in
XR_FB_keyboard_tracking
flag description.
(internal MR 3393)
- Addition: New multi-vendor extension:
- SDK
- No significant changes
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.1.38'
(There may be a delay of a few hours after release before artifacts are accessible on Maven Central.)
Alternately, the AAR file (plus signature by the dedicated spec editor key and associated POM) are attached to this release.
Other release files are signed by specification editor Rylie Pavlik's key, with key fingerprint 45207B2B1E53E1F2755FF63CC5A2D593A61DBC9D. Link goes to full public key.
OpenXR SDK (Source) 1.1.37
OpenXR SDK 1.1.37 (2024-05-23)
This release primarily adds new defines for easier use of both OpenXR 1.0 and
1.1 with up-to-date headers, some documentation improvements, and improvements
for Android, including support for using the "API Dump" and "Validation" API
layers in your own APK during the development process.
- Registry
- Addition: New
XR_API_VERSION_1_0
andXR_API_VERSION_1_1
defines to allow
applications to easily specify OpenXR "major" and "minor" version while passing
through the "patch" version.
(internal MR 3329,
internal MR 3354,
internal issue 2254) - Addition: Register Razer vendor ID.
(internal MR 3340) - Fix: Add "palm_pose" to "touch_controller_pro" and "touch_controller_plus" in
XML.
(internal MR 3363) - Improvement: Add Schematron rule to avoid triggering edge cases of vendor tags
ending with X.
(internal MR 3341) - Reservation: Reserve extension numbers for a few new EXT extensions.
(internal MR 3285,
internal MR 3292) - Update: Bump version of
XR_FB_composition_layer_alpha_blend
due to spec text
clarification.
(internal MR 3317)
- Addition: New
- SDK
- Addition: Ship
open-in-docker.sh
script for use building the loader design
doc.
(internal MR 3352,
internal issue 2283,
OpenXR-SDK-Source issue 476) - Fix: Fix references to Docker container in spec build instructions and clarify
that most parts do not apply to the SDK-Source repo.
(internal MR 3352,
internal issue 2283,
OpenXR-SDK-Source issue 476) - Fix: Do not load all Android app-supplied layers as explicit, but rather as
their actual type.
(OpenXR-SDK-Source PR 475,
internal issue 2284) - Improvement: Use new
XR_API_VERSION_1_0
andXR_API_VERSION_1_1
defines.
(internal MR 3329,
internal issue 2254) - Improvement: Add Android support to "api_dump" and "core_validation" API
layers.
(internal MR 3330)
- Addition: Ship
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.1.37'
(There may be a delay of a few hours after release before artifacts are accessible on Maven Central.)
Alternately, the AAR file (plus signature by the dedicated spec editor key and associated POM) are attached to this release.
Other release files are signed by specification editor Rylie Pavlik's key, with key fingerprint 45207B2B1E53E1F2755FF63CC5A2D593A61DBC9D. Link goes to full public key.
OpenXR SDK (Source) 1.1.36
OpenXR SDK 1.1.36 (2024-04-15)
This is a substantial update to the OpenXR specification. The OpenXR loader in
this release supports both OpenXR 1.0 and 1.1, and sample applications such as
hello_xr continue to only require OpenXR 1.0. The schema associated with the
xr.xml
description of OpenXR has received a small but breaking change, so
software that parses it may need an update accordingly. Additionally, the
protocol for the OpenXR loader on Android to communicate with system or
installable runtime brokers has been extended for improvfed backward- and
forward-compatibility; see the changes to the loader design document for more
information.
- Registry
- New ratified Khronos extension:
XR_KHR_locate_spaces
(internal MR 2272,
internal issue 1706) - New ratified Khronos extension:
XR_KHR_maintenance1
(internal MR 3053) - New ratified OpenXR version:
XR_VERSION_1_1
- OpenXR 1.1.
(internal MR 3053) - New multi-vendor extension:
XR_EXT_future
(internal MR 2610) - New vendor extension:
XR_META_environment_depth
(internal MR 2771,
internal MR 3271) - Mark
XR_OCULUS_android_session_state_enable
as deprecated.
(internal MR 3255) - Update the XML schema to change how dependencies are described (replacing
requiresCore
andrequires
attributes ofextension
, andfeature
and
extension
attributes ofrequire
, with a newdepends
attribute.). This is
a breaking change of the XML schema, though in an infrequently processed
attribute. This corresponds to the change made in Vulkan 1.3.241.
(internal MR 3260)
- New ratified Khronos extension:
- SDK
- API dump layer: Handle opaque futures defined by
XR_EXT_future
.
(internal MR 2610) - API dump layer: Zero initialize out-param in calls to
xrResultToString
and
xrStructureTypeToString
.
(internal MR 3284) - Android loader: Build using NDK 23.2.
(internal MR 2992) - Android loader: Allow the loader to check multiple records from the broker, for
backward- and forward-compatibility
(internal MR 3269,
internal issue 2226) - Loader: Improve error logging in the case that the Windows registry
ActiveRuntime
path cannot be parsed or found.
(internal MR 3015,
internal issue 2125) - Loader: Remove path separator parsing from Windows registry
ActiveRuntime
path to fix bug.
(internal MR 3015) - Loader: Fix build issue for ARMv6 architectures, and note architecture naming
quirk of Raspberry Pi OS in the architecture table in the loader documentation.
(OpenXR-SDK-Source PR 464,
OpenXR-SDK-Source issue 463) - Reduce duplication of environment variable getters and setters.
(internal MR 3039) - Updates to scripts and software to handle aliases and promoted functionality in
XR_KHR_maintenance1
andXR_VERSION_1_1
(internal MR 3053) - hello_xr: Fix Windows mirror window acquire, wait, present loop.
(internal MR 3289) - hello_xr and other samples: Update Android compile SDK version (to 33), NDK
version (to 23.2), and build tools version (to 34.0.0).
(internal MR 2992) - hello_xr and runtime list: Request an OpenXR 1.0 instance by default.
(internal MR 3320) - loader_test: Build fixes to allow loader_test to compile / run on Android.
(internal MR 3153)
- API dump layer: Handle opaque futures defined by
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.1.36'
(There may be a delay of a few hours after release before artifacts are accessible on Maven Central.)
Alternately, the AAR file (plus signature by the dedicated spec editor key and associated POM) are attached to this release.
Other release files are signed by specification editor Rylie Pavlik's key, with key fingerprint 45207B2B1E53E1F2755FF63CC5A2D593A61DBC9D. Link goes to full public key.
OpenXR SDK (Source) 1.0.34
OpenXR SDK 1.0.34 (2024-02-16)
This release features a number of new multi-vendor and vendor extensions,
additional functionality in the reflection header, as well as compatibility
improvements for the loader on Android.
- Registry
- Extension reservation: Register author ID and reserve extensions for Leia.
(internal MR 3203) - Fix: Remove erroneous interaction profile component additions from extensions.
(internal MR 3223) - New multi-vendor extension:
XR_EXT_user_presence
(internal MR 2706,
internal issue 1585) - New vendor extension:
XR_META_recommended_layer_resolution
(internal MR 2570) - New vendor extension:
XR_META_automatic_layer_filter
(internal MR 2696) - New vendor extension:
XR_META_spatial_entity_mesh
(internal MR 2773) - New vendor extension:
XR_FB_face_tracking2
(internal MR 2811) - New vendor extension:
XR_VARJO_xr4_controller_interaction
(internal MR 3078) XR_FB_scene
: Update to spec version 4.
(internal MR 2774)XR_META_headset_id
andXR_FB_spatial_entity
: DropXR_EXT_uuid
dependency,
they use the data structure but do not require any runtime support specific to
XR_EXT_uuid
(internal MR 2577)
- Extension reservation: Register author ID and reserve extensions for Leia.
- SDK
- API Layers: Add version-script for linking API Layers on Linux and Android.
(internal MR 3112) - Fix typo in
gfxwrapper_opengl
that did not affect the use in this repository
directly, but may affect downstream users of this code.
(internal MR 3215) - Loader: fix to Android Loader so that the
/<path_to_apk>/my_apk_file.apk!/libs/libstuff.so
will not get blocked
(internal MR 3054) - Loader: Add missing ifdef guards for
XR_KHR_LOADER_INIT_SUPPORT
.
(internal MR 3152,
internal MR 3159) - Loader: Fix crash in case of calling
xrEnumerateInstanceExtensionProperties
before callingxrInitializeLoaderKHR
on Android.
(internal MR 3159) - Loader design: Add a note about environment variables being ignored when run on
Windows as admin.
(internal MR 3214) openxr_reflection.h
: Add macros to list functions provided by each feature /
extension.
(internal MR 3129)- external: Update Jinja2 Python module shipped with repository (for source code
generation) to 2.11.3.
(internal MR 3221,
internal MR 3237)
- API Layers: Add version-script for linking API Layers on Linux and Android.
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.34'
(There may be a delay of a few hours after release before artifacts are accessible on Maven Central.)
Alternately, the AAR file (plus signature by the dedicated spec editor key and associated POM) are attached to this release.
Other release files are signed by specification editor Rylie Pavlik's key, with key fingerprint 45207B2B1E53E1F2755FF63CC5A2D593A61DBC9D. Link goes to full public key.
OpenXR SDK (Source) 1.0.33
OpenXR SDK 1.0.33 (2024-01-03)
This release primarily adds new ratified functionality describing the loader
interaction with runtimes and API layers. Corresponding definitions are now in
the official openxr_loader_negotiation.h
generated header, rather than the
loader_interfaces.h
header previously shipped only with the OpenXR-SDK-Source
repository. This change only affects vendors of runtimes and API layers as well
as contributors to the OpenXR loader: applications do not directly use this API,
the loader uses it on their behalf. A number of other small fixes are also
included.
- Registry
- Extension reservation: Update author ID and reserve extensions for Varjo.
(internal MR 3083) - Extension reservation: Reserve 10 extension ids each for
ANDROIDX
&
ANDROIDSYS
.
(internal MR 3086) - Khronos ratified addition: Specify the existing loader negotiation functions
(without modification) in the XML, moving fromloader_interfaces.h
to a new
generated headeropenxr_loader_negotiation.h
.
(internal MR 2807,
internal issue 1953) XR_KHR_android_thread_settings
: Fix the description of
XrAndroidThreadTypeKHR
enum values - they were swapped relative to their
implicit meaning from their name.
(internal MR 3077)XR_MNDX_egl_enable
: Update version to 2 to reflect function pointer type
change released in 1.0.29.
(OpenXR-Docs PR 159)
- Extension reservation: Update author ID and reserve extensions for Varjo.
- SDK
- Loader: Fix loader build on Universal Windows Platform: build-system-only
change. (Included in SDK hotfix 1.0.32.1.)
(internal MR 3071) - Loader: Correctly destroy the LoaderInstance when loader is done.
(internal MR 3041) - Remove obsolete
loader_interfaces.h
header, migrating uses (in loader and
layers) to use the newly specified and ratifiedopenxr_loader_negotiation.h
,
and adjust scripts for the addition of the loader negotiation APIs.
(internal MR 2807,
internal issue 1953,
internal MR 3122)
- Loader: Fix loader build on Universal Windows Platform: build-system-only
- Misc
- Update/correct names.
- Ship a
.mailmap
file in the public repositories, maintained separately
from the larger one used in the private monorepo, to correct names/emails
and unify contributor identities. - Update Khronos Group copyright dates.
GitOrigin-RevId: a561c5898b72f59965790790a28bbc3b7e9bcf13
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.33'
(There may be a delay of a few hours after release before artifacts are accessible on Maven Central.)
Alternately, the AAR file (plus signature by the dedicated spec editor key and associated POM) are attached to this release.
Other release files are signed by specification editor Rylie Pavlik's key, with key fingerprint 45207B2B1E53E1F2755FF63CC5A2D593A61DBC9D. Link goes to full public key.
(Note that this is a new signing key for the specification editor: see https://ryliepavlik.com/work-key-transition-2023-11-17.txt for key transition statement.)
OpenXR SDK (Source) 1.0.32 with 1.0.32.1 SDK hotfix
OpenXR SDK 1.0.32 (2023-11-29)
NOTE: Binary artifacts for Windows attached to this release correspond to the hotfix release release-1.0.32.1 tag, to fix an issue with building for the Universal Windows Platform (UWP). See below for details on this SDK hotfix release.
This release contains a number of vendor extensions, plus a new ratified
revision to the XR_KHR_loader_init
extension that specifies forwarding the
init calls to API layers. Vendors of API layers, primarily on Android, must
verify they can handle being passed XR_NULL_HANDLE
for the instance parameter
of xrGetInstanceProcAddr
, to avoid bugs when using the updated loader. This
release also contains a number of build system cleanups and fixes. Users of the
Android Gradle Plugin and our official loader AAR file can now use the
OpenXR::headers
target just like on desktop: there is now metadata for the
"prefab" tool to generate for CMake both this header/include-only target and the
normal OpenXR::openxr_loader
imported library target. The shipped AAR is much
smaller due to stripping debug data from the binaries, which helps in case
application build systems do not automatically strip native binaries. A bug in
the loader Android manifest as shipped in 1.0.31 has also been fixed.
- OpenXR SDK 1.0.32.1 hotfix release includes the following fix.
- Loader: Fix loader build on Universal Windows Platform: build-system-only
change.
(internal MR 3071) - Internal CI fix to archive the source JAR for the Android loader.
- Loader: Fix loader build on Universal Windows Platform: build-system-only
- Registry
- Extension reservation: Reserve extension id for
XR_KHR_maintenance1
(internal MR 3010) - Extension reservation: Reserve extension id for
XR_KHR_game_controller
(internal MR 3019) - New vendor extension:
XR_HTC_anchor
(internal MR 2667) - New vendor extension:
XR_META_touch_controller_plus
(internal MR 2702) - New vendor extension:
XR_ML_marker_understanding
(internal MR 2750) - New vendor extension:
XR_ML_localization_map
(internal MR 2802,
internal MR 3045,
internal MR 3047) XR_KHR_loader_init
: New Khronos ratified revision, adds support for
forwarding loader init calls to API layers
(internal MR 2703)
- Extension reservation: Reserve extension id for
- SDK
- Loader: Pass
xrInitializeLoaderKHR
calls to enabled API layers if
XR_KHR_loader_init
is enabled, per ratified update to that extension.
(internal MR 2703) - Loader: Partial fix for the loader not honoring
BUILD_LOADER_WITH_EXCEPTION_HANDLING
on Android.
(internal MR 2870,
OpenXR-SDK-Source PR 405,
internal issue 1999) - Loader Android AAR: Strip binaries before inclusion in AAR, as loader is stable
(and mostly shared with all platforms) and size difference is substantial. - Loader Android AAR: Expose
OpenXR::headers
prefab imported target just as on
desktop builds
(internal MR 2886) - Loader Android AAR: Generate a source jar file for completeness.
(internal MR 2886) - Loader Android AAR: Add
<uses-sdk>
elements to Android loader AAR manifest,
to prevent the manifest merger from assuming a version < 4 and adding unneeded
permissions accordingly.
(internal MR 3029)
(internal MR 3032) - Clean up our CMake build substantially, correcting dependencies and narrowing
the scope of includes.
(internal MR 2886,
OpenXR-SDK-Source issue 344,
internal issue 1872,
OpenXR-SDK-Source issue 419,
internal issue 2071,
internal MR 2987) - Fix build in directories containing spaces.
(internal MR 2886,
OpenXR-SDK-Source issue 344,
internal issue 1872,
OpenXR-SDK-Source issue 419,
internal issue 2071,
internal MR 2987) - Fix linking to GLX when glvnd is not found on the system
(internal MR 3000) - Fix use of
OpenXR::headers
target when not building the loader.
(internal MR 2886,
OpenXR-SDK-Source issue 344,
internal issue 1872,
OpenXR-SDK-Source issue 419,
internal issue 2071,
internal MR 2987) - scripts: Migrate
namedtuple
usage to dataclass, and expose the definitions
for reuse.
(internal MR 2183) - scripts: Clean up formatting, clean up some issues found by type-aware Python
editors, and improve the experience of editing Python scripts in some editors
by adding a.env
file.
(internal MR 2183) - scripts: Support base header types with no derived types defined yet.
(internal MR 2802)
- Loader: Pass
GitOrigin-RevId: 0a6bbc30cf10fdec436dfa81abf27747251a0821
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.32'
(or, equivalently, but with a source JAR published as well:
implementation 'org.khronos.openxr:openxr_loader_for_android:1.0.32.1'
)
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.