Skip to content

Commit

Permalink
OpenXR SDK 1.0.29 (2023-08-25)
Browse files Browse the repository at this point in the history
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.

-   Registry
    -   Change PFNEGLGETPROCADDRESSPROC (for eglGetProcAddress) to a
        locally defined type to avoid compiler errors. (internal MR
        2468)
    -   Extension reservation: Register author ID and reserve vendor
        extensions for YVR. (internal MR 2832)
    -   New vendor extension: XR_META_passthrough_preferences (internal
        MR 2694)
    -   XR_HTCX_vive_tracker_interaction: Added new role paths for
        wrists and ankles. (internal MR 2728)
-   SDK
    -   Changes also included in 1.0.28.1 SDK hotfix release
        -   layers: Build with /bigobj or equivalent on Windows due to
            increased number of generated functions with spec growth.
            (internal MR 2837, internal issue 2051, OpenXR-SDK-Source PR
            414)
    -   Changes also included in 1.0.28.2 SDK hotfix release
        -   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 in build-aar.sh (internal MR 2836,
            internal issue 2052)
        -   Android AAR artifacts: Use jar instead of 7-zip to perform
            archiving, and document requirements in build-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)
    -   Add XrVector2f length function to xr_linear.h (internal MR 2876)
    -   Add build.gradle files for list_json, c_compile_test. (internal
        MR 2908)
    -   Change PFNEGLGETPROCADDRESSPROC (for eglGetProcAddress) to a
        locally defined type to avoid compiler errors. (internal MR
        2468)
    -   Enable loader_test tests which require a valid extension
        (internal MR 2790)
    -   Fix building hello_xr with mingw compiler. (internal MR 2850)
    -   Improvement: Reduce size of dispatch table in OpenXR loader.
        (Full size table still shipped in OpenXR-SDK even though it is
        not used by the loader anymore.) (internal MR 2810, internal MR
        2842)
    -   Maintenance script updates. (internal MR 2900)
    -   loader: Add support for architecture-specific active runtime
        manifests for Linux, macOS, and Android. (internal MR 2450,
        internal issue 2066, internal MR 2871)
    -   loader: refactor to use jnipp on Android (internal MR 2812)
    -   loader: disable loader_test if api layer building is disabled
        (internal MR 2843)
    -   loader_test: Replace session test with action test to make test
        more maintainable. (internal MR 2786)
    -   validation layer: Fix deadlock when calling XR_EXT_debug_utils
        functions. (internal MR 2865)

GitOrigin-RevId: 07acb644ae0a5a42f891120d3172004cb5605ad7
  • Loading branch information
rpavlik committed Aug 25, 2023
1 parent 8c966ae commit 90734c5
Show file tree
Hide file tree
Showing 47 changed files with 835 additions and 257 deletions.
2 changes: 1 addition & 1 deletion .appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#
# SPDX-License-Identifier: Apache-2.0

version: 1.0.28.{build}
version: 1.0.29.{build}
image: Visual Studio 2017


Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!--
Copyright (c) 2020 The Khronos Group Inc.
Copyright (c) 2020-2023, The Khronos Group Inc.
SPDX-License-Identifier: CC-BY-4.0
-->
<PropertyGroup>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project ToolsVersion="4.0"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!--
Copyright (c) 2020 The Khronos Group Inc.
Copyright (c) 2020-2023, The Khronos Group Inc.
SPDX-License-Identifier: CC-BY-4.0
-->

Expand Down
2 changes: 1 addition & 1 deletion .azure-pipelines/nuget/stage_nuget.ps1
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2019-2020 The Khronos Group Inc.
# Copyright (c) 2019-2023, The Khronos Group Inc.
# SPDX-License-Identifier: Apache-2.0
param(
[Parameter(Mandatory = $true, HelpMessage = "Path to unzipped openxr_loader_windows OpenXR-SDK release asset")]
Expand Down
2 changes: 1 addition & 1 deletion .azure-pipelines/shared/generate_windows_matrix_build.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# Copyright (c) 2019 The Khronos Group Inc.
# Copyright (c) 2019-2023, The Khronos Group Inc.
# SPDX-License-Identifier: Apache-2.0

from itertools import product
Expand Down
2 changes: 1 addition & 1 deletion .azure-pipelines/shared/install_vulkan.ps1
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2019 The Khronos Group Inc.
# Copyright (c) 2019-2023, The Khronos Group Inc.
# SPDX-License-Identifier: Apache-2.0

if (-not $env:VULKAN_SDK_VERSION) {
Expand Down
2 changes: 1 addition & 1 deletion .azure-pipelines/shared/organize_windows_artifacts.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# Copyright (c) 2019 The Khronos Group Inc.
# Copyright (c) 2019-2023, The Khronos Group Inc.
# SPDX-License-Identifier: Apache-2.0

from itertools import product
Expand Down
2 changes: 1 addition & 1 deletion .azure-pipelines/shared/print_windows_artifact_names.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# Copyright (c) 2019 The Khronos Group Inc.
# Copyright (c) 2019-2023, The Khronos Group Inc.
# SPDX-License-Identifier: Apache-2.0

from itertools import product
Expand Down
2 changes: 1 addition & 1 deletion .azure-pipelines/shared/shared.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2019 The Khronos Group Inc.
# Copyright (c) 2019-2023, The Khronos Group Inc.
# SPDX-License-Identifier: Apache-2.0

import json
Expand Down
5 changes: 4 additions & 1 deletion .git-blame-ignore-revs
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,11 @@
# and do try to make sure that the bulk change is made
# **separate from a release commit** on all repos.
# See <https://git-scm.com/docs/git-blame#Documentation/git-blame.txt---ignore-revs-fileltfilegt>
# for how to use this.
# for how to use this, probably something like:
# git config blame.ignoreRevsFile .git-blame-ignore-revs

## Old changes
767537d9523253de1615b01450a8b22c8e2cc6a2

## 1.0.17 - Fix XML indentation

Expand Down
2 changes: 1 addition & 1 deletion .github/scripts/generate_windows_matrix_build.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# Copyright (c) 2019 The Khronos Group Inc.
# Copyright (c) 2019-2023, The Khronos Group Inc.
# SPDX-License-Identifier: Apache-2.0

from itertools import product
Expand Down
2 changes: 1 addition & 1 deletion .github/scripts/shared.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2019 The Khronos Group Inc.
# Copyright (c) 2019-2023, The Khronos Group Inc.
# SPDX-License-Identifier: Apache-2.0

import json
Expand Down
100 changes: 1 addition & 99 deletions .github/workflows/android.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright 2021, Collabora, Ltd.
# Copyright 2021-2023, Collabora, Ltd.
# SPDX-License-Identifier: CC0-1.0

name: Android
Expand Down Expand Up @@ -48,38 +48,6 @@ jobs:
name: AAR and POM
path: openxr_loader_for_android*

- name: Add to release
if: inputs.release && startsWith(github.ref, 'refs/tags/release-')
uses: softprops/action-gh-release@v1
with:
files: openxr_loader_for_android*

- name: Publish release to mavencentral
if: inputs.release
uses: gradle/gradle-build-action@v2
with:
arguments: publishMavenPublicationToBuildDirRepository publishMavenPublicationToOSSRHRepository
build-root-directory: ./maintainer-scripts/publish-aar
env:
ORG_GRADLE_PROJECT_signingKey: ${{secrets.ORG_GRADLE_PROJECT_signingKey}}
ORG_GRADLE_PROJECT_signingKeyId: ${{secrets.ORG_GRADLE_PROJECT_signingKeyId}}
ORG_GRADLE_PROJECT_signingPassword: ${{secrets.ORG_GRADLE_PROJECT_signingPassword}}
OSSRH_USER: ${{secrets.OSSRH_USER}}
OSSRH_PASSWORD: ${{secrets.OSSRH_PASSWORD}}

- name: Publish snapshot to mavencentral
if: inputs.snapshot
uses: gradle/gradle-build-action@v2
with:
arguments: publishMavenPublicationToBuildDirRepository publishMavenPublicationToOSSRH-SnapshotsRepository
build-root-directory: ./maintainer-scripts/publish-aar
env:
ORG_GRADLE_PROJECT_signingKey: ${{secrets.ORG_GRADLE_PROJECT_signingKey}}
ORG_GRADLE_PROJECT_signingKeyId: ${{secrets.ORG_GRADLE_PROJECT_signingKeyId}}
ORG_GRADLE_PROJECT_signingPassword: ${{secrets.ORG_GRADLE_PROJECT_signingPassword}}
OSSRH_USER: ${{secrets.OSSRH_USER}}
OSSRH_PASSWORD: ${{secrets.OSSRH_PASSWORD}}

- name: Upload Maven repo
if: inputs.release || inputs.snapshot
uses: actions/upload-artifact@v3
Expand Down Expand Up @@ -114,69 +82,3 @@ jobs:
with:
name: HelloXR OpenGLES Android
path: src/tests/hello_xr/build/outputs/apk/OpenGLES/debug/*.apk

- name: Sign HelloXR OpenGLES Android release
if: inputs.release
uses: r0adkll/sign-android-release@349ebdef58775b1e0d8099458af0816dc79b6407
id: sign_gles
with:
releaseDirectory: src/tests/hello_xr/build/outputs/apk/OpenGLES/release
signingKeyBase64: ${{ secrets.APK_SIGNING_KEY }}
alias: ${{ secrets.APK_ALIAS }}
keyStorePassword: ${{ secrets.APK_KEY_STORE_PASSWORD }}
keyPassword: ${{ secrets.APK_KEY_PASSWORD }}
env:
BUILD_TOOLS_VERSION: "30.0.3"

- name: Rename APK
if: inputs.release
env:
SIGNED_FILE: ${{ steps.sign_gles.outputs.signedReleaseFile }}
run: mv $SIGNED_FILE HelloXR_OpenGLES.apk

- name: Upload signed HelloXR OpenGLES Android
if: inputs.release
uses: actions/upload-artifact@v3
with:
name: HelloXR OpenGLES Android
path: HelloXR_OpenGLES.apk

# HelloXR Vulkan version
- name: Build HelloXR Vulkan for Android
if: inputs.release
uses: gradle/gradle-build-action@v2
with:
arguments: assembleVulkanRelease
build-root-directory: src/tests/hello_xr

- name: Sign HelloXR Vulkan Android release
if: inputs.release
uses: r0adkll/sign-android-release@349ebdef58775b1e0d8099458af0816dc79b6407
id: sign_vulkan
with:
releaseDirectory: src/tests/hello_xr/build/outputs/apk/Vulkan/release
signingKeyBase64: ${{ secrets.APK_SIGNING_KEY }}
alias: ${{ secrets.APK_ALIAS }}
keyStorePassword: ${{ secrets.APK_KEY_STORE_PASSWORD }}
keyPassword: ${{ secrets.APK_KEY_PASSWORD }}
env:
BUILD_TOOLS_VERSION: "30.0.3"

- name: Rename APK
if: inputs.release
env:
SIGNED_FILE: ${{ steps.sign_vulkan.outputs.signedReleaseFile }}
run: mv $SIGNED_FILE HelloXR_Vulkan.apk

- name: Upload HelloXR Vulkan Android
if: inputs.release
uses: actions/upload-artifact@v3
with:
name: HelloXR Vulkan Android
path: HelloXR_Vulkan.apk

- name: Release
if: startsWith(github.ref, 'refs/tags/release-')
uses: softprops/action-gh-release@v1
with:
files: HelloXR_*.apk
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ local.properties

# Don't ignore these things
!.*.license
!.artifact-bot.md
!.appveyor.yml
!.azure-pipelines/
!.azure-pipelines/nuget/NugetTemplate/build
Expand Down
27 changes: 12 additions & 15 deletions .reuse/dep5
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,12 @@ Upstream-Name: OpenXR
Upstream-Contact: Ryan Pavlik <openxr-speceditor AT khronos DOT org>
Source: https://khronos.org/registry/OpenXR/

Files: changes/*
Files: changes/conformance/*
changes/registry/*
changes/sdk/*
changes/specification/*
changes/README.md
changes/template.md
HOTFIX
Copyright: 2019-2023, The Khronos Group Inc.
License: CC-BY-4.0
Expand All @@ -30,25 +35,22 @@ Comment: Based on a Material Icons asset ("emoji-people") with added text
Rasterized with Android Studio.

Files: src/external/catch2/*
Copyright: Copyright (c) 2022 Two Blue Cubes Ltd.
Copyright: Copyright (c) 2023 Two Blue Cubes Ltd.
License: BSL-1.0
Comment: Unmodified, vendored copy of Catch2 3.1.1
Comment: Unmodified, vendored copy of Catch2 v3.3.2

Files: src/external/jsoncpp/*
Copyright: 2007-2010 Baptiste Lepilleur and The JsonCpp Authors
License: MIT OR LicenseRef-jsoncpp-public-domain
Comment: Unmodified, vendored copy of jsoncpp 1.9.5

Files: src/external/tinygltf/*
Copyright: 2017 Syoyo Fujita, Aurélien Chatelain and many contributors
Files: src/external/tinygltf/README.md
src/external/tinygltf/tiny_gltf.cc
src/external/tinygltf/tiny_gltf.h
Copyright: 2015-Present, Syoyo Fujita, Aurélien Chatelain and many contributors
License: MIT
Comment: Unmodified, vendored copy of a subset of the tiny-gltf repo v2.8.9

Files: src/external/tinygltf/json.hpp
Copyright: 2013-2017 Niels Lohmann <http://nlohmann.me>
License: MIT
Comment: Unmodified, included in tiny-gltf repo.

Files: src/external/d3dx12/*
Copyright: Copyright (c) Microsoft Corporation.
License: MIT
Expand Down Expand Up @@ -82,11 +84,6 @@ Copyright: 2020, Epic Games, Inc.
License: CC-BY-4.0
Comment: In-line license comments requested, https://gitlab.khronos.org/openxr/openxr/-/issues/1422

Files: specification/sources/chapters/extensions/oculus/oculus_android_session_state_enable.adoc
Copyright: 2019, Oculus VR, LLC.
License: CC-BY-4.0
Comment: In-line license comments requested, https://gitlab.khronos.org/openxr/openxr/-/issues/1418

Files: specification/sources/chapters/extensions/ext/ext_performance_settings.adoc
specification/sources/chapters/extensions/ext/ext_thermal_query.adoc
Copyright: 2017-2023, The Khronos Group Inc.
Expand Down
72 changes: 72 additions & 0 deletions CHANGELOG.SDK.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,78 @@ along with any public pull requests that have been accepted.
In this repository in particular, since it is primarily software,
pull requests may be integrated as they are accepted even between periodic updates.

## 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.

- Registry
- Change `PFNEGLGETPROCADDRESSPROC` (for `eglGetProcAddress`) to a locally
defined type to avoid compiler errors.
([internal MR 2468](https://gitlab.khronos.org/openxr/openxr/merge_requests/2468))
- Extension reservation: Register author ID and reserve vendor extensions for
YVR.
([internal MR 2832](https://gitlab.khronos.org/openxr/openxr/merge_requests/2832))
- New vendor extension: `XR_META_passthrough_preferences`
([internal MR 2694](https://gitlab.khronos.org/openxr/openxr/merge_requests/2694))
- `XR_HTCX_vive_tracker_interaction`: Added new role paths for wrists and ankles.
([internal MR 2728](https://gitlab.khronos.org/openxr/openxr/merge_requests/2728))
- SDK
- Changes also included in 1.0.28.1 SDK hotfix release
- layers: Build with `/bigobj` or equivalent on Windows due to increased number
of generated functions with spec growth.
([internal MR 2837](https://gitlab.khronos.org/openxr/openxr/merge_requests/2837),
[internal issue 2051](https://gitlab.khronos.org/openxr/openxr/issues/2051),
[OpenXR-SDK-Source PR 414](https://github.com/KhronosGroup/OpenXR-SDK-Source/pull/414))
- Changes also included in 1.0.28.2 SDK hotfix release
- Android AAR artifacts (loader) and hello_xr: Fix `<queries>` element contents.
([internal MR 2840](https://gitlab.khronos.org/openxr/openxr/merge_requests/2840),
[internal issue 2053](https://gitlab.khronos.org/openxr/openxr/issues/2053))
- Android AAR artifacts: Fix C++ standard library selection for Android artifacts
in `build-aar.sh`
([internal MR 2836](https://gitlab.khronos.org/openxr/openxr/merge_requests/2836),
[internal issue 2052](https://gitlab.khronos.org/openxr/openxr/issues/2052))
- Android AAR artifacts: Use `jar` instead of 7-zip to perform archiving, and
document requirements in `build-aar.sh`
([internal MR 2836](https://gitlab.khronos.org/openxr/openxr/merge_requests/2836),
[OpenXR-SDK-Source issue 303](https://github.com/KhronosGroup/OpenXR-SDK-Source/issues/303),
[internal issue 1711](https://gitlab.khronos.org/openxr/openxr/issues/1711))
- build system: Support SDK hotfix versions (fourth version component).
([internal MR 2836](https://gitlab.khronos.org/openxr/openxr/merge_requests/2836))
- Add XrVector2f length function to `xr_linear.h`
([internal MR 2876](https://gitlab.khronos.org/openxr/openxr/merge_requests/2876))
- Add build.gradle files for list_json, c_compile_test.
([internal MR 2908](https://gitlab.khronos.org/openxr/openxr/merge_requests/2908))
- Change `PFNEGLGETPROCADDRESSPROC` (for `eglGetProcAddress`) to a locally
defined type to avoid compiler errors.
([internal MR 2468](https://gitlab.khronos.org/openxr/openxr/merge_requests/2468))
- Enable `loader_test` tests which require a valid extension
([internal MR 2790](https://gitlab.khronos.org/openxr/openxr/merge_requests/2790))
- Fix building hello_xr with mingw compiler.
([internal MR 2850](https://gitlab.khronos.org/openxr/openxr/merge_requests/2850))
- Improvement: Reduce size of dispatch table in OpenXR loader. (Full size table
still shipped in OpenXR-SDK even though it is not used by the loader anymore.)
([internal MR 2810](https://gitlab.khronos.org/openxr/openxr/merge_requests/2810),
[internal MR 2842](https://gitlab.khronos.org/openxr/openxr/merge_requests/2842))
- Maintenance script updates.
([internal MR 2900](https://gitlab.khronos.org/openxr/openxr/merge_requests/2900))
- loader: Add support for architecture-specific active runtime manifests for
Linux, macOS, and Android.
([internal MR 2450](https://gitlab.khronos.org/openxr/openxr/merge_requests/2450),
[internal issue 2066](https://gitlab.khronos.org/openxr/openxr/issues/2066),
[internal MR 2871](https://gitlab.khronos.org/openxr/openxr/merge_requests/2871))
- loader: refactor to use jnipp on Android
([internal MR 2812](https://gitlab.khronos.org/openxr/openxr/merge_requests/2812))
- loader: disable `loader_test` if api layer building is disabled
([internal MR 2843](https://gitlab.khronos.org/openxr/openxr/merge_requests/2843))
- loader_test: Replace session test with action test to make test more
maintainable.
([internal MR 2786](https://gitlab.khronos.org/openxr/openxr/merge_requests/2786))
- validation layer: Fix deadlock when calling `XR_EXT_debug_utils` functions.
([internal MR 2865](https://gitlab.khronos.org/openxr/openxr/merge_requests/2865))

## OpenXR SDK 1.0.28 (2023-07-10)

This release contains improved compatibility and code quality fixes for the
Expand Down
1 change: 0 additions & 1 deletion HOTFIX

This file was deleted.

2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ That repository is also where sample code (hello_xr) and API layer source can be

## Directory Structure

<!-- REUSE-IgnoreStart -->
- `BUILDING.md` - Instructions for building the projects
- `README.md` - This file
- `COPYING.md` - Copyright and licensing information
Expand All @@ -32,6 +33,7 @@ That repository is also where sample code (hello_xr) and API layer source can be
- `include/` - OpenXR header files
- `src/external/jsoncpp` - The jsoncpp project source code, an included dependency of the loader.
- `src/loader` - OpenXR loader code, **including generated code**
<!-- REUSE-IgnoreEnd -->

## Building

Expand Down
Loading

0 comments on commit 90734c5

Please sign in to comment.