Skip to content

Releases: KhronosGroup/OpenXR-SDK-Source

OpenXR SDK (Source) 1.1.37

25 May 02:27
release-1.1.37
Compare
Choose a tag to compare

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.


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

15 Apr 05:42
release-1.1.36
Compare
Choose a tag to compare

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 and requires attributes of extension, and feature and
      extension attributes of require, with a new depends 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)
  • 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 and XR_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)

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

17 Feb 20:59
release-1.0.34
Compare
Choose a tag to compare

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
  • 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 calling xrInitializeLoaderKHR 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)

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

04 Jan 23:31
release-1.0.33
Compare
Choose a tag to compare

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 from loader_interfaces.h to a new
      generated header openxr_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)
  • 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 ratified openxr_loader_negotiation.h,
      and adjust scripts for the addition of the loader negotiation APIs.
      (internal MR 2807,
      internal issue 1953,
      internal MR 3122)
  • 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

29 Nov 22:00
release-1.0.32
Compare
Choose a tag to compare

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.

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.

OpenXR SDK (Source) 1.0.31

19 Oct 16:18
release-1.0.31
Compare
Choose a tag to compare

OpenXR SDK 1.0.31 (2023-10-18)

This release features two new vendor extensions and minor extension XML
revisions, in addition to compatibility and logging improvements in the
software.

GitOrigin-RevId: 38114c3ba8eb46d6fafe1761ed08e263ce132237

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.31'

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.

OpenXR SDK (Source) 1.0.30

20 Sep 16:35
release-1.0.30
Compare
Choose a tag to compare

OpenXR SDK 1.0.30 (2023-09-20)

This release is primarily a quality improvement release, fixing a range of
issues in the registry and SDK, including fixing a loader bug related to layers,
in addition to a new vendor extension and an updated vendor extension.

GitOrigin-RevId: f7a0c0f3691f0c7b0a239cb34e41d01042d5a02a

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.30'

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.

OpenXR SDK (Source) 1.0.29

25 Aug 22:04
release-1.0.29
Compare
Choose a tag to compare

OpenXR SDK 1.0.29 (2023-08-25)

This release contains several fixes to the specification registry, improvements
to the loader, layers, and loader test, as well as enhancements to the loader
documentation/specification to support architecture and ABI specific active
runtime manifest names 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.29'

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.

OpenXR SDK (Source) 1.0.28 (with 1.0.28.2 hotfix)

10 Jul 22:37
release-1.0.28
Compare
Choose a tag to compare

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.

Read more

OpenXR SDK (Source) 1.0.27

22 Mar 17:54
release-1.0.27
Compare
Choose a tag to compare

OpenXR SDK 1.0.27 (2023-03-21)

This release contains a large list of improvements, including interaction
profile definitions in machine-readable format in the XML, consistent tool-based
formatting of the XML, a new list_json tool to ease updates to
OpenXR-Inventory, and a wide variety of new vendor and multi-vendor
extensions, in addition to a collection of smaller improvements.

Read more