Skip to content

Commit f66902f

Browse files
committed
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) - 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
1 parent 6f3ccf3 commit f66902f

File tree

89 files changed

+1237
-1828
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

89 files changed

+1237
-1828
lines changed

.appveyor.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
#
33
# SPDX-License-Identifier: Apache-2.0
44

5-
version: 1.0.28.{build}
5+
version: 1.0.29.{build}
66
image: Visual Studio 2017
77

88

.azure-pipelines/nuget/NugetTemplate/build/native/OpenXR.Loader.props

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
22
<!--
3-
Copyright (c) 2020 The Khronos Group Inc.
3+
Copyright (c) 2020-2023, The Khronos Group Inc.
44
SPDX-License-Identifier: CC-BY-4.0
55
-->
66
<PropertyGroup>

.azure-pipelines/nuget/NugetTemplate/build/native/OpenXR.Loader.targets

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project ToolsVersion="4.0"
22
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
33
<!--
4-
Copyright (c) 2020 The Khronos Group Inc.
4+
Copyright (c) 2020-2023, The Khronos Group Inc.
55
SPDX-License-Identifier: CC-BY-4.0
66
-->
77

.azure-pipelines/nuget/stage_nuget.ps1

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2019-2020 The Khronos Group Inc.
1+
# Copyright (c) 2019-2023, The Khronos Group Inc.
22
# SPDX-License-Identifier: Apache-2.0
33
param(
44
[Parameter(Mandatory = $true, HelpMessage = "Path to unzipped openxr_loader_windows OpenXR-SDK release asset")]

.azure-pipelines/shared/generate_windows_matrix_build.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#!/usr/bin/env python3
2-
# Copyright (c) 2019 The Khronos Group Inc.
2+
# Copyright (c) 2019-2023, The Khronos Group Inc.
33
# SPDX-License-Identifier: Apache-2.0
44

55
from itertools import product

.azure-pipelines/shared/install_vulkan.ps1

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2019 The Khronos Group Inc.
1+
# Copyright (c) 2019-2023, The Khronos Group Inc.
22
# SPDX-License-Identifier: Apache-2.0
33

44
if (-not $env:VULKAN_SDK_VERSION) {

.azure-pipelines/shared/organize_windows_artifacts.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#!/usr/bin/env python3
2-
# Copyright (c) 2019 The Khronos Group Inc.
2+
# Copyright (c) 2019-2023, The Khronos Group Inc.
33
# SPDX-License-Identifier: Apache-2.0
44

55
from itertools import product

.azure-pipelines/shared/print_windows_artifact_names.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#!/usr/bin/env python3
2-
# Copyright (c) 2019 The Khronos Group Inc.
2+
# Copyright (c) 2019-2023, The Khronos Group Inc.
33
# SPDX-License-Identifier: Apache-2.0
44

55
from itertools import product

.azure-pipelines/shared/shared.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2019 The Khronos Group Inc.
1+
# Copyright (c) 2019-2023, The Khronos Group Inc.
22
# SPDX-License-Identifier: Apache-2.0
33

44
import json

.git-blame-ignore-revs

+4-1
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,11 @@
99
# and do try to make sure that the bulk change is made
1010
# **separate from a release commit** on all repos.
1111
# See <https://git-scm.com/docs/git-blame#Documentation/git-blame.txt---ignore-revs-fileltfilegt>
12-
# for how to use this.
12+
# for how to use this, probably something like:
13+
# git config blame.ignoreRevsFile .git-blame-ignore-revs
1314

15+
## Old changes
16+
767537d9523253de1615b01450a8b22c8e2cc6a2
1417

1518
## 1.0.17 - Fix XML indentation
1619

.github/scripts/generate_windows_matrix_build.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#!/usr/bin/env python3
2-
# Copyright (c) 2019 The Khronos Group Inc.
2+
# Copyright (c) 2019-2023, The Khronos Group Inc.
33
# SPDX-License-Identifier: Apache-2.0
44

55
from itertools import product

.github/scripts/shared.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2019 The Khronos Group Inc.
1+
# Copyright (c) 2019-2023, The Khronos Group Inc.
22
# SPDX-License-Identifier: Apache-2.0
33

44
import json

.github/workflows/android.yml

+1-99
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright 2021, Collabora, Ltd.
1+
# Copyright 2021-2023, Collabora, Ltd.
22
# SPDX-License-Identifier: CC0-1.0
33

44
name: Android
@@ -48,38 +48,6 @@ jobs:
4848
name: AAR and POM
4949
path: openxr_loader_for_android*
5050

51-
- name: Add to release
52-
if: inputs.release && startsWith(github.ref, 'refs/tags/release-')
53-
uses: softprops/action-gh-release@v1
54-
with:
55-
files: openxr_loader_for_android*
56-
57-
- name: Publish release to mavencentral
58-
if: inputs.release
59-
uses: gradle/gradle-build-action@v2
60-
with:
61-
arguments: publishMavenPublicationToBuildDirRepository publishMavenPublicationToOSSRHRepository
62-
build-root-directory: ./maintainer-scripts/publish-aar
63-
env:
64-
ORG_GRADLE_PROJECT_signingKey: ${{secrets.ORG_GRADLE_PROJECT_signingKey}}
65-
ORG_GRADLE_PROJECT_signingKeyId: ${{secrets.ORG_GRADLE_PROJECT_signingKeyId}}
66-
ORG_GRADLE_PROJECT_signingPassword: ${{secrets.ORG_GRADLE_PROJECT_signingPassword}}
67-
OSSRH_USER: ${{secrets.OSSRH_USER}}
68-
OSSRH_PASSWORD: ${{secrets.OSSRH_PASSWORD}}
69-
70-
- name: Publish snapshot to mavencentral
71-
if: inputs.snapshot
72-
uses: gradle/gradle-build-action@v2
73-
with:
74-
arguments: publishMavenPublicationToBuildDirRepository publishMavenPublicationToOSSRH-SnapshotsRepository
75-
build-root-directory: ./maintainer-scripts/publish-aar
76-
env:
77-
ORG_GRADLE_PROJECT_signingKey: ${{secrets.ORG_GRADLE_PROJECT_signingKey}}
78-
ORG_GRADLE_PROJECT_signingKeyId: ${{secrets.ORG_GRADLE_PROJECT_signingKeyId}}
79-
ORG_GRADLE_PROJECT_signingPassword: ${{secrets.ORG_GRADLE_PROJECT_signingPassword}}
80-
OSSRH_USER: ${{secrets.OSSRH_USER}}
81-
OSSRH_PASSWORD: ${{secrets.OSSRH_PASSWORD}}
82-
8351
- name: Upload Maven repo
8452
if: inputs.release || inputs.snapshot
8553
uses: actions/upload-artifact@v3
@@ -114,69 +82,3 @@ jobs:
11482
with:
11583
name: HelloXR OpenGLES Android
11684
path: src/tests/hello_xr/build/outputs/apk/OpenGLES/debug/*.apk
117-
118-
- name: Sign HelloXR OpenGLES Android release
119-
if: inputs.release
120-
uses: r0adkll/sign-android-release@349ebdef58775b1e0d8099458af0816dc79b6407
121-
id: sign_gles
122-
with:
123-
releaseDirectory: src/tests/hello_xr/build/outputs/apk/OpenGLES/release
124-
signingKeyBase64: ${{ secrets.APK_SIGNING_KEY }}
125-
alias: ${{ secrets.APK_ALIAS }}
126-
keyStorePassword: ${{ secrets.APK_KEY_STORE_PASSWORD }}
127-
keyPassword: ${{ secrets.APK_KEY_PASSWORD }}
128-
env:
129-
BUILD_TOOLS_VERSION: "30.0.3"
130-
131-
- name: Rename APK
132-
if: inputs.release
133-
env:
134-
SIGNED_FILE: ${{ steps.sign_gles.outputs.signedReleaseFile }}
135-
run: mv $SIGNED_FILE HelloXR_OpenGLES.apk
136-
137-
- name: Upload signed HelloXR OpenGLES Android
138-
if: inputs.release
139-
uses: actions/upload-artifact@v3
140-
with:
141-
name: HelloXR OpenGLES Android
142-
path: HelloXR_OpenGLES.apk
143-
144-
# HelloXR Vulkan version
145-
- name: Build HelloXR Vulkan for Android
146-
if: inputs.release
147-
uses: gradle/gradle-build-action@v2
148-
with:
149-
arguments: assembleVulkanRelease
150-
build-root-directory: src/tests/hello_xr
151-
152-
- name: Sign HelloXR Vulkan Android release
153-
if: inputs.release
154-
uses: r0adkll/sign-android-release@349ebdef58775b1e0d8099458af0816dc79b6407
155-
id: sign_vulkan
156-
with:
157-
releaseDirectory: src/tests/hello_xr/build/outputs/apk/Vulkan/release
158-
signingKeyBase64: ${{ secrets.APK_SIGNING_KEY }}
159-
alias: ${{ secrets.APK_ALIAS }}
160-
keyStorePassword: ${{ secrets.APK_KEY_STORE_PASSWORD }}
161-
keyPassword: ${{ secrets.APK_KEY_PASSWORD }}
162-
env:
163-
BUILD_TOOLS_VERSION: "30.0.3"
164-
165-
- name: Rename APK
166-
if: inputs.release
167-
env:
168-
SIGNED_FILE: ${{ steps.sign_vulkan.outputs.signedReleaseFile }}
169-
run: mv $SIGNED_FILE HelloXR_Vulkan.apk
170-
171-
- name: Upload HelloXR Vulkan Android
172-
if: inputs.release
173-
uses: actions/upload-artifact@v3
174-
with:
175-
name: HelloXR Vulkan Android
176-
path: HelloXR_Vulkan.apk
177-
178-
- name: Release
179-
if: startsWith(github.ref, 'refs/tags/release-')
180-
uses: softprops/action-gh-release@v1
181-
with:
182-
files: HelloXR_*.apk

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ local.properties
5454

5555
# Don't ignore these things
5656
!.*.license
57+
!.artifact-bot.md
5758
!.appveyor.yml
5859
!.azure-pipelines/
5960
!.azure-pipelines/nuget/NugetTemplate/build

.reuse/dep5

+12-15
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,12 @@ Upstream-Name: OpenXR
33
Upstream-Contact: Ryan Pavlik <openxr-speceditor AT khronos DOT org>
44
Source: https://khronos.org/registry/OpenXR/
55

6-
Files: changes/*
6+
Files: changes/conformance/*
7+
changes/registry/*
8+
changes/sdk/*
9+
changes/specification/*
10+
changes/README.md
11+
changes/template.md
712
HOTFIX
813
Copyright: 2019-2023, The Khronos Group Inc.
914
License: CC-BY-4.0
@@ -30,25 +35,22 @@ Comment: Based on a Material Icons asset ("emoji-people") with added text
3035
Rasterized with Android Studio.
3136

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

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

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

47-
Files: src/external/tinygltf/json.hpp
48-
Copyright: 2013-2017 Niels Lohmann <http://nlohmann.me>
49-
License: MIT
50-
Comment: Unmodified, included in tiny-gltf repo.
51-
5254
Files: src/external/d3dx12/*
5355
Copyright: Copyright (c) Microsoft Corporation.
5456
License: MIT
@@ -82,11 +84,6 @@ Copyright: 2020, Epic Games, Inc.
8284
License: CC-BY-4.0
8385
Comment: In-line license comments requested, https://gitlab.khronos.org/openxr/openxr/-/issues/1422
8486

85-
Files: specification/sources/chapters/extensions/oculus/oculus_android_session_state_enable.adoc
86-
Copyright: 2019, Oculus VR, LLC.
87-
License: CC-BY-4.0
88-
Comment: In-line license comments requested, https://gitlab.khronos.org/openxr/openxr/-/issues/1418
89-
9087
Files: specification/sources/chapters/extensions/ext/ext_performance_settings.adoc
9188
specification/sources/chapters/extensions/ext/ext_thermal_query.adoc
9289
Copyright: 2017-2023, The Khronos Group Inc.

CHANGELOG.SDK.md

+72
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,78 @@ along with any public pull requests that have been accepted.
1919
In this repository in particular, since it is primarily software,
2020
pull requests may be integrated as they are accepted even between periodic updates.
2121

22+
## OpenXR SDK 1.0.29 (2023-08-25)
23+
24+
This release contains several fixes to the specification registry, improvements
25+
to the loader, layers, and loader test, as well as enhancements to the loader
26+
documentation/specification to support architecture and ABI specific active
27+
runtime manifest names on Linux and Android.
28+
29+
- Registry
30+
- Change `PFNEGLGETPROCADDRESSPROC` (for `eglGetProcAddress`) to a locally
31+
defined type to avoid compiler errors.
32+
([internal MR 2468](https://gitlab.khronos.org/openxr/openxr/merge_requests/2468))
33+
- Extension reservation: Register author ID and reserve vendor extensions for
34+
YVR.
35+
([internal MR 2832](https://gitlab.khronos.org/openxr/openxr/merge_requests/2832))
36+
- New vendor extension: `XR_META_passthrough_preferences`
37+
([internal MR 2694](https://gitlab.khronos.org/openxr/openxr/merge_requests/2694))
38+
- `XR_HTCX_vive_tracker_interaction`: Added new role paths for wrists and ankles.
39+
([internal MR 2728](https://gitlab.khronos.org/openxr/openxr/merge_requests/2728))
40+
- SDK
41+
- Changes also included in 1.0.28.1 SDK hotfix release
42+
- layers: Build with `/bigobj` or equivalent on Windows due to increased number
43+
of generated functions with spec growth.
44+
([internal MR 2837](https://gitlab.khronos.org/openxr/openxr/merge_requests/2837),
45+
[internal issue 2051](https://gitlab.khronos.org/openxr/openxr/issues/2051),
46+
[OpenXR-SDK-Source PR 414](https://github.com/KhronosGroup/OpenXR-SDK-Source/pull/414))
47+
- Changes also included in 1.0.28.2 SDK hotfix release
48+
- Android AAR artifacts (loader) and hello_xr: Fix `<queries>` element contents.
49+
([internal MR 2840](https://gitlab.khronos.org/openxr/openxr/merge_requests/2840),
50+
[internal issue 2053](https://gitlab.khronos.org/openxr/openxr/issues/2053))
51+
- Android AAR artifacts: Fix C++ standard library selection for Android artifacts
52+
in `build-aar.sh`
53+
([internal MR 2836](https://gitlab.khronos.org/openxr/openxr/merge_requests/2836),
54+
[internal issue 2052](https://gitlab.khronos.org/openxr/openxr/issues/2052))
55+
- Android AAR artifacts: Use `jar` instead of 7-zip to perform archiving, and
56+
document requirements in `build-aar.sh`
57+
([internal MR 2836](https://gitlab.khronos.org/openxr/openxr/merge_requests/2836),
58+
[OpenXR-SDK-Source issue 303](https://github.com/KhronosGroup/OpenXR-SDK-Source/issues/303),
59+
[internal issue 1711](https://gitlab.khronos.org/openxr/openxr/issues/1711))
60+
- build system: Support SDK hotfix versions (fourth version component).
61+
([internal MR 2836](https://gitlab.khronos.org/openxr/openxr/merge_requests/2836))
62+
- Add XrVector2f length function to `xr_linear.h`
63+
([internal MR 2876](https://gitlab.khronos.org/openxr/openxr/merge_requests/2876))
64+
- Add build.gradle files for list_json, c_compile_test.
65+
([internal MR 2908](https://gitlab.khronos.org/openxr/openxr/merge_requests/2908))
66+
- Change `PFNEGLGETPROCADDRESSPROC` (for `eglGetProcAddress`) to a locally
67+
defined type to avoid compiler errors.
68+
([internal MR 2468](https://gitlab.khronos.org/openxr/openxr/merge_requests/2468))
69+
- Enable `loader_test` tests which require a valid extension
70+
([internal MR 2790](https://gitlab.khronos.org/openxr/openxr/merge_requests/2790))
71+
- Fix building hello_xr with mingw compiler.
72+
([internal MR 2850](https://gitlab.khronos.org/openxr/openxr/merge_requests/2850))
73+
- Improvement: Reduce size of dispatch table in OpenXR loader. (Full size table
74+
still shipped in OpenXR-SDK even though it is not used by the loader anymore.)
75+
([internal MR 2810](https://gitlab.khronos.org/openxr/openxr/merge_requests/2810),
76+
[internal MR 2842](https://gitlab.khronos.org/openxr/openxr/merge_requests/2842))
77+
- Maintenance script updates.
78+
([internal MR 2900](https://gitlab.khronos.org/openxr/openxr/merge_requests/2900))
79+
- loader: Add support for architecture-specific active runtime manifests for
80+
Linux, macOS, and Android.
81+
([internal MR 2450](https://gitlab.khronos.org/openxr/openxr/merge_requests/2450),
82+
[internal issue 2066](https://gitlab.khronos.org/openxr/openxr/issues/2066),
83+
[internal MR 2871](https://gitlab.khronos.org/openxr/openxr/merge_requests/2871))
84+
- loader: refactor to use jnipp on Android
85+
([internal MR 2812](https://gitlab.khronos.org/openxr/openxr/merge_requests/2812))
86+
- loader: disable `loader_test` if api layer building is disabled
87+
([internal MR 2843](https://gitlab.khronos.org/openxr/openxr/merge_requests/2843))
88+
- loader_test: Replace session test with action test to make test more
89+
maintainable.
90+
([internal MR 2786](https://gitlab.khronos.org/openxr/openxr/merge_requests/2786))
91+
- validation layer: Fix deadlock when calling `XR_EXT_debug_utils` functions.
92+
([internal MR 2865](https://gitlab.khronos.org/openxr/openxr/merge_requests/2865))
93+
2294
## OpenXR SDK 1.0.28 (2023-07-10)
2395

2496
This release contains improved compatibility and code quality fixes for the

HOTFIX

-1
This file was deleted.

README.md

+2
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ and omits the samples, tests, and API layers, as they are not typically built as
2323

2424
## Directory Structure
2525

26+
<!-- REUSE-IgnoreStart -->
2627
- `BUILDING.md` - Instructions for building the projects
2728
- `README.md` - This file
2829
- `COPYING.md` - Copyright and licensing information
@@ -34,6 +35,7 @@ and omits the samples, tests, and API layers, as they are not typically built as
3435
- `src/api_layer` - Sample code for developing API layers
3536
- `src/loader` - OpenXR loader code
3637
- `src/tests` - various test code (if looking for sample code start with `hello_xr/`)
38+
<!-- REUSE-IgnoreEnd -->
3739

3840
Currently the best sample code is in [src/tests/hello_xr/](src/tests/hello_xr). More will be added in the future.
3941

changes/sdk/mr.2836.gl.1.md

-4
This file was deleted.

changes/sdk/mr.2836.gl.2.md

-5
This file was deleted.

changes/sdk/mr.2836.gl.md

-1
This file was deleted.

changes/sdk/mr.2840.gl.md

-4
This file was deleted.

changes/sdk/mr.414.gh.OpenXR-SDK-Source.md

-1
This file was deleted.

0 commit comments

Comments
 (0)