Skip to content

Commit 20a38ab

Browse files
committed
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 either XR_KHR_vulkan_enable or XR_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, and XR_META_spatial_entity_group_sharing (internal MR 2782) - Reservation: Reserve numbers for spatial extensions. (internal MR 3577) - 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) GitOrigin-RevId: 46d1c5e46ca0e9f37d3233f36dbd7a1f8fe8460c
1 parent b15ef6c commit 20a38ab

File tree

323 files changed

+21372
-7828
lines changed

Some content is hidden

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

323 files changed

+21372
-7828
lines changed

.appveyor.yml

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

5-
version: 1.1.42.{build}
5+
version: 1.1.43.{build}
66
image: Visual Studio 2017
77

88

.reuse/dep5

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,9 @@ Comment: Based on a Material Icons asset ("emoji-people") with added text
3636
Rasterized with Android Studio.
3737

3838
Files: src/external/catch2/*
39-
Copyright: Copyright (c) 2023 Two Blue Cubes Ltd.
39+
Copyright: Copyright Catch2 Authors
4040
License: BSL-1.0
41-
Comment: Unmodified, vendored copy of Catch2 v3.3.2
41+
Comment: Unmodified, vendored copy of Catch2 v3.7.1
4242

4343
Files: src/external/jsoncpp/*
4444
Copyright: 2007-2010 Baptiste Lepilleur and The JsonCpp Authors
@@ -77,7 +77,7 @@ Files: src/external/jnipp/*
7777
Copyright: 2016-2020, Mitchell Dowd
7878
2020, Collabora, Ltd.
7979
License: MIT
80-
Comment: Unmodified, vendored copy of commit e6c415837c5a487809fdbb2f71f1080d454eb99a
80+
Comment: Unmodified, vendored copy of commit v1.0.0-13-gcdd6293
8181

8282
Files: src/external/metal-cpp/*
8383
Copyright: Copyright 2020-2022 Apple Inc.

CHANGELOG.SDK.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,57 @@ along with any public pull requests that have been accepted.
2121
In this repository in particular, since it is primarily software,
2222
pull requests may be integrated as they are accepted even between periodic updates.
2323

24+
## OpenXR SDK 1.1.43 (2024-11-27)
25+
26+
This release has a few fixes and minor improvements, as well as support for
27+
several new vendor extensions. It also improves the "loader_test" which was
28+
broken on Android. CMake config files are now also included in the Android
29+
loader AAR distributed for this release, for those not using Gradle and the
30+
Android Gradle Plugin's support of "Prefab" format native libraries to consume
31+
the loader.
32+
33+
- Registry
34+
- Bump version of `XR_KHR_vulkan_swapchain_format_list` and note that it depends
35+
on either `XR_KHR_vulkan_enable` or `XR_KHR_vulkan_enable2`.
36+
([internal MR 3418](https://gitlab.khronos.org/openxr/openxr/merge_requests/3418))
37+
- Fix: Correctly mark `XR_FB_touch_controller_pro` and
38+
`XR_META_touch_controller_plus` as promoted to 1.1.
39+
([internal MR 3586](https://gitlab.khronos.org/openxr/openxr/merge_requests/3586))
40+
- Improvement: Small XML formatting/organization cleanups.
41+
([internal MR 3610](https://gitlab.khronos.org/openxr/openxr/merge_requests/3610))
42+
- New vendor extension: `XR_ML_facial_expression`
43+
([internal MR 3100](https://gitlab.khronos.org/openxr/openxr/merge_requests/3100))
44+
- New vendor extension: `XR_META_passthrough_layer_resumed_event`
45+
([internal MR 3106](https://gitlab.khronos.org/openxr/openxr/merge_requests/3106))
46+
- New vendor extensions: `XR_META_colocation_discovery`,
47+
`XR_META_spatial_entity_sharing`, and `XR_META_spatial_entity_group_sharing`
48+
([internal MR 2782](https://gitlab.khronos.org/openxr/openxr/merge_requests/2782))
49+
- Reservation: Reserve numbers for spatial extensions.
50+
([internal MR 3577](https://gitlab.khronos.org/openxr/openxr/merge_requests/3577))
51+
- SDK
52+
- Fix: loader_test: API version in Android assets, fixes test breakage since
53+
1.1.x.
54+
([internal MR 3598](https://gitlab.khronos.org/openxr/openxr/merge_requests/3598))
55+
- Improvement: Loader test: Update Catch2 from v3.3.2 to v3.7.1. Provides build-
56+
time and runtime performance improvements, among other changes.
57+
([internal MR 2893](https://gitlab.khronos.org/openxr/openxr/merge_requests/2893))
58+
- Improvement: Accept command line options to `build-aar.sh`, including one that
59+
allows including CMake configs in case you are building for Android but not
60+
using Gradle and Android Gradle Plugin to consume the `.aar`.
61+
([internal MR 3423](https://gitlab.khronos.org/openxr/openxr/merge_requests/3423))
62+
- Improvement: Loader: Update jnipp, used for Android builds. New version
63+
includes a build fix for some environments, as well as a crash fix.
64+
([internal MR 3589](https://gitlab.khronos.org/openxr/openxr/merge_requests/3589))
65+
- Improvement: Add `disable_environment` field to the output of
66+
`generate_api_layer_manifest.py` script.
67+
([internal MR 3591](https://gitlab.khronos.org/openxr/openxr/merge_requests/3591))
68+
- Improvement: hello_xr: Add Vulkan debug messages during Vulkan instance
69+
creation.
70+
([internal MR 3592](https://gitlab.khronos.org/openxr/openxr/merge_requests/3592))
71+
- Improvement: Loader test: Use Catch2 idiomatic assertions and captures to make
72+
it easier to debug.
73+
([internal MR 3599](https://gitlab.khronos.org/openxr/openxr/merge_requests/3599))
74+
2475
## OpenXR SDK 1.1.42 (2024-10-25)
2576

2677
This release updates a vendor extension with renamed enumerants, adds

maintainer-scripts/build-aar.sh

Lines changed: 88 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,16 @@ logMsg() {
2121
echo
2222
}
2323

24+
usage() {
25+
echo "Usage: $0 <options> [clean]" 1>&2
26+
echo "" 1>&2
27+
echo " clean Make a clean build. Important for releases, though they are typically done on CI." 1>&2
28+
echo " -s Skip building sources jar" 1>&2
29+
echo " -C Install CMake config files, only needed if not using Gradle to consume" 1>&2
30+
echo " -h Show this help" 1>&2
31+
exit 1
32+
}
33+
2434
ROOT=$(cd "$(dirname "$0")" && cd .. && pwd)
2535

2636
OPENXR_ANDROID_VERSION_SUFFIX=
@@ -31,6 +41,8 @@ fi
3141

3242
BUILD_DIR=${BUILD_DIR:-${ROOT}/build-android}
3343
INSTALL_DIR=${INSTALL_DIR:-${ROOT}/build-android-install}
44+
SKIP_SOURCES_JAR=false
45+
INSTALL_COMPONENTS=(License Headers Loader Prefab)
3446

3547
ANDROID_STL=c++_static
3648
CONFIG=Release
@@ -41,13 +53,33 @@ if [ -z "$ANDROID_NDK_HOME" ]; then
4153
exit 1
4254
fi
4355

56+
while getopts ":hsC" o; do
57+
58+
case "${o}" in
59+
C)
60+
INSTALL_COMPONENTS+=(CMakeConfigs)
61+
;;
62+
s)
63+
SKIP_SOURCES_JAR=true
64+
;;
65+
h)
66+
usage
67+
;;
68+
*)
69+
usage
70+
;;
71+
esac
72+
done
73+
4474
logMsg "ANDROID_NDK_HOME: ${ANDROID_NDK_HOME}"
4575
logMsg "ANDROID_STL: ${ANDROID_STL}"
4676
logMsg "CONFIG: ${CONFIG}"
4777
logMsg "ANDROID_PLATFORM: ${ANDROID_PLATFORM}"
4878

4979
logMsg "BUILD_DIR: ${BUILD_DIR}"
5080
logMsg "INSTALL_DIR: ${INSTALL_DIR}"
81+
logMsg "INSTALL_COMPONENTS: ${INSTALL_COMPONENTS[*]}"
82+
logMsg "SKIP_SOURCES_JAR: ${SKIP_SOURCES_JAR}"
5183

5284
logMsg "Wiping install staging dir"
5385
rm -rf "${INSTALL_DIR}"
@@ -65,28 +97,28 @@ fi
6597
for arch in x86 x86_64 armeabi-v7a arm64-v8a; do
6698
logMsg "Configuring and building for arch ${arch}"
6799
cmake -S "${ROOT}" \
68-
-B "${BUILD_DIR}/${arch}" \
69-
-G Ninja \
70-
"-DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK_HOME}/build/cmake/android.toolchain.cmake" \
71-
"-DCMAKE_ANDROID_NDK=${ANDROID_NDK_HOME}" \
72-
-DANDROID_ABI=${arch} \
73-
-DANDROID_PLATFORM=${ANDROID_PLATFORM} \
74-
-DANDROID_STL=${ANDROID_STL} \
75-
"-DCMAKE_INSTALL_PREFIX=${INSTALL_DIR}/openxr" \
76-
-DCMAKE_BUILD_TYPE=${CONFIG} \
77-
-DINSTALL_TO_ARCHITECTURE_PREFIXES=ON \
78-
-DBUILD_TESTS=OFF \
79-
-DBUILD_CONFORMANCE_TESTS=OFF \
80-
-DBUILD_LOADER=ON \
81-
-DBUILD_API_LAYERS=OFF \
82-
"-DOPENXR_ANDROID_VERSION_SUFFIX=${OPENXR_ANDROID_VERSION_SUFFIX}"
100+
-B "${BUILD_DIR}/${arch}" \
101+
-G Ninja \
102+
"-DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK_HOME}/build/cmake/android.toolchain.cmake" \
103+
"-DCMAKE_ANDROID_NDK=${ANDROID_NDK_HOME}" \
104+
-DANDROID_ABI=${arch} \
105+
-DANDROID_PLATFORM=${ANDROID_PLATFORM} \
106+
-DANDROID_STL=${ANDROID_STL} \
107+
"-DCMAKE_INSTALL_PREFIX=${INSTALL_DIR}/openxr" \
108+
-DCMAKE_BUILD_TYPE=${CONFIG} \
109+
-DINSTALL_TO_ARCHITECTURE_PREFIXES=ON \
110+
-DBUILD_TESTS=OFF \
111+
-DBUILD_CONFORMANCE_TESTS=OFF \
112+
-DBUILD_LOADER=ON \
113+
-DBUILD_API_LAYERS=OFF \
114+
"-DOPENXR_ANDROID_VERSION_SUFFIX=${OPENXR_ANDROID_VERSION_SUFFIX}"
83115

84116
ninja -C "${BUILD_DIR}/${arch}"
85117

86118
logMsg "Installing for arch ${arch}"
87119

88120
# Component-wise install of the build, since we do not want all components
89-
for comp in License Headers Loader Prefab; do
121+
for comp in "${INSTALL_COMPONENTS[@]}"; do
90122
cmake --install "${BUILD_DIR}/${arch}/" --strip --component "${comp}"
91123
done
92124
done
@@ -105,28 +137,31 @@ EXTRA_MANIFEST_ENTRIES="${BUILD_DIR}/x86/src/loader/additional_manifest.mf"
105137
logMsg "AAR file created: ${AARFILE}"
106138
)
107139

108-
logMsg "Archiving SDK sources"
109-
SOURCES_JAR_ROOT=sources-jar
110-
SOURCES_NAMESPACE_PATH=org/khronos/openxr/openxr_loader_for_android
111-
rm -f OpenXR-SDK.tar.gz
112-
rm -rf ${SOURCES_JAR_ROOT}
113-
mkdir -p ${SOURCES_JAR_ROOT}/${SOURCES_NAMESPACE_PATH}
114-
maintainer-scripts/archive-sdk.sh
115-
116-
logMsg "Repacking SDK sources as a sources jar"
117-
SOURCESFILE="$ROOT/${DECORATED%.pom}-sources.jar"
118-
(
119-
cd ${SOURCES_JAR_ROOT}/${SOURCES_NAMESPACE_PATH}
120-
tar xf "${ROOT}/OpenXR-SDK.tar.gz"
121-
122-
# Add files we want, for reproducibility
123-
mkdir -p maintainer-scripts
124-
cp "${ROOT}/maintainer-scripts/build-aar.sh" maintainer-scripts
125-
cp "${ROOT}/maintainer-scripts/archive-sdk.sh" maintainer-scripts
126-
cp "${ROOT}/maintainer-scripts/common.sh" maintainer-scripts
127-
128-
# Drop files/dirs we don't care about
129-
rm -rf \
140+
if $SKIP_SOURCES_JAR; then
141+
logMsg "Skipping sources jar"
142+
else
143+
logMsg "Archiving SDK sources"
144+
SOURCES_JAR_ROOT=sources-jar
145+
SOURCES_NAMESPACE_PATH=org/khronos/openxr/openxr_loader_for_android
146+
rm -f OpenXR-SDK.tar.gz
147+
rm -rf ${SOURCES_JAR_ROOT}
148+
mkdir -p ${SOURCES_JAR_ROOT}/${SOURCES_NAMESPACE_PATH}
149+
maintainer-scripts/archive-sdk.sh
150+
151+
logMsg "Repacking SDK sources as a sources jar"
152+
SOURCESFILE="$ROOT/${DECORATED%.pom}-sources.jar"
153+
(
154+
cd ${SOURCES_JAR_ROOT}/${SOURCES_NAMESPACE_PATH}
155+
tar xf "${ROOT}/OpenXR-SDK.tar.gz"
156+
157+
# Add files we want, for reproducibility
158+
mkdir -p maintainer-scripts
159+
cp "${ROOT}/maintainer-scripts/build-aar.sh" maintainer-scripts
160+
cp "${ROOT}/maintainer-scripts/archive-sdk.sh" maintainer-scripts
161+
cp "${ROOT}/maintainer-scripts/common.sh" maintainer-scripts
162+
163+
# Drop files/dirs we don't care about
164+
rm -rf \
130165
.appveyor.yml \
131166
.azure-pipelines \
132167
.editorconfig \
@@ -136,24 +171,25 @@ SOURCESFILE="$ROOT/${DECORATED%.pom}-sources.jar"
136171
.gitignore \
137172
doc
138173

139-
# Drop licenses not actually used in this code, based on `reuse lint` in OpenXR-SDK
140-
rm -f \
174+
# Drop licenses not actually used in this code, based on `reuse lint` in OpenXR-SDK
175+
rm -f \
141176
LICENSES/OFL-1.1-RFN.txt \
142177
LICENSES/Unlicense.txt \
143178
LICENSES/LicenseRef-Khronos-Free-Use-License-for-Software-and-Documentation.txt \
144179
LICENSES/ISC.txt \
145180
LICENSES/LicenseRef-KhronosSpecCopyright-WithNormativeWording-v10.txt \
146181
LICENSES/Zlib.txt
147182

148-
# Remove the bare copy of Apache-2.0 named LICENSE since it is confusing.
149-
rm -f LICENSE
150-
151-
# Move the copying and license files to the jar root
152-
mv COPYING.adoc "$ROOT/${SOURCES_JAR_ROOT}"
153-
mv LICENSES "$ROOT/${SOURCES_JAR_ROOT}"
154-
)
155-
(
156-
cd ${SOURCES_JAR_ROOT}
157-
jar --create --file="${SOURCESFILE}" "--manifest=${EXTRA_MANIFEST_ENTRIES}" ./*
158-
logMsg "Sources JAR file created: ${SOURCESFILE}"
159-
)
183+
# Remove the bare copy of Apache-2.0 named LICENSE since it is confusing.
184+
rm -f LICENSE
185+
186+
# Move the copying and license files to the jar root
187+
mv COPYING.adoc "$ROOT/${SOURCES_JAR_ROOT}"
188+
mv LICENSES "$ROOT/${SOURCES_JAR_ROOT}"
189+
)
190+
(
191+
cd ${SOURCES_JAR_ROOT}
192+
jar --create --file="${SOURCESFILE}" "--manifest=${EXTRA_MANIFEST_ENTRIES}" ./*
193+
logMsg "Sources JAR file created: ${SOURCESFILE}"
194+
)
195+
fi

specification/Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ endif
3939
VERSIONS := XR_VERSION_1_0 XR_VERSION_1_1 XR_LOADER_VERSION_1_0
4040
VERSIONOPTIONS := $(foreach version,$(VERSIONS),-feature $(version))
4141

42-
SPECREVISION = 1.1.42
42+
SPECREVISION = 1.1.43
4343
REVISION_COMPONENTS = $(subst ., ,$(SPECREVISION))
4444
MAJORMINORVER = $(word 1,$(REVISION_COMPONENTS)).$(word 2,$(REVISION_COMPONENTS))
4545

@@ -351,7 +351,7 @@ ASCIIDOCTOR_TARGETS += $(PDFSPEC) $(PDFA4SPEC)
351351

352352
# Target-specific variables and deps customizing the AsciiDoctor rule
353353
# EXTRAATRIBS is for build-time customization
354-
$(PDFSPEC) $(PDFA4SPEC): BACKEND_ARGS=--backend pdf --require asciidoctor-pdf -a compress --require ./scripts/pdf-index-customizer.rb $(EXTRAATTRIBS)
354+
$(PDFSPEC) $(PDFA4SPEC): BACKEND_ARGS=--backend pdf --require asciidoctor-pdf -a compress --require ./scripts/pdf-index-customizer.rb $(EXTRAATTRIBS)
355355
$(PDFSPEC): PAGESIZE=LETTER
356356
$(PDFA4SPEC): PAGESIZE=A4
357357
$(PDFSPEC) $(PDFA4SPEC): $(COMMONDOCS)

0 commit comments

Comments
 (0)