Skip to content

Commit ce41708

Browse files
committed
OpenXR SDK 1.0.17 (2021-06-08)
This release features an important fix to the loader for an invalid-iterator bug introduced in 1.0.16. All developers shipping the loader are strongly encouraged to upgrade. It also includes a variety of new vendor extensions. - Registry - Add XR_MSFT_scene_understanding vendor extension. (internal MR 2032) - Add XR_MSFT_scene_understanding_serialization vendor extension. (internal MR 2032) - Add XR_MSFT_composition_layer_reprojection vendor extension. (internal MR 2033) - Add XR_OCULUS_audio_device_guid vendor extension. (internal MR 2053) - Add version 3 of XR_FB_swapchain_update_state vendor extension, which splits platform and graphics API specific structs into separate extensions. (internal MR 2059) - Apply formatting to registry XML by selectively committing changes made by https://github.com/rpavlik/PrettyRegistryXml. (internal MR 2070, OpenXR-SDK-Source/#256) - Enforce that all xrCreate functions must be able to return XR_ERROR_LIMIT_REACHED and XR_ERROR_OUT_OF_MEMORY, and adjust lists of error codes accordingly. (internal MR 2064) - Fix a usage of > without escaping as an XML entity. (internal MR 2064) - Fix all cases of a success code (most often XR_SESSION_LOSS_PENDING) appearing in the errorcodes attribute of a command. (internal MR 2064, internal issue 1566) - Improve comments for several enum values. (internal MR 1982) - Perform some script clean-up and refactoring, including selective type annotation and moving the Conventions abstract base class to spec_tools. (internal MR 2064) - Sort return codes, with some general, popular codes made to be early. Script sort_codes.py can be used to maintain this, though it mangles other XML formatting, so use it with care. https://github.com/rpavlik/PrettyRegistryXml can format, and eventually sort return codes (currently sort order does not match). (internal MR 2064, OpenXR-SDK-Source/#256) - SDK - Loader: Fix iteration over explicit layer manifests. (OpenXR-SDK-Source/#256) - validation layer: Don’t try to apply strlen to wchar_t-based output buffers. (internal MR 2053)
1 parent f9637c1 commit ce41708

20 files changed

+1048
-171
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.0.16.{build}
5+
version: 1.0.17.{build}
66
image: Visual Studio 2017
77

88

.editorconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ trim_trailing_whitespace = true
1515

1616
[*.xml]
1717
indent_style = space
18-
indent_size = 2
18+
indent_size = 4
1919

2020
[*.cmake,CMakeLists.txt]
2121
indent_style = space

.git-blame-ignore-revs

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# Copyright 2021, The Khronos Group Inc.
2+
#
3+
# SPDX-License-Identifier: CC-BY-4.0
4+
5+
# This file contains the commit IDs (on all OpenXR repos!)
6+
# of "bulk" commits that should be excluded from blame, etc. to
7+
# make it more useful.
8+
# When adding new bulk changes, please follow the existing style,
9+
# and do try to make sure that the bulk change is made
10+
# **separate from a release commit** on all repos.
11+
# See <https://git-scm.com/docs/git-blame#Documentation/git-blame.txt---ignore-revs-fileltfilegt>
12+
# for how to use this.
13+
14+
15+
## 1.0.17 - Fix XML indentation
16+
17+
# Khronos GitLab
18+
ae6fe8a4f2cfc3e5e0bb7da3de4d9067e861b5a3
19+
20+
# OpenXR-Docs
21+
e8ddebd3c7ff6978e84c73e49c41c36ce4a01464
22+
23+
# OpenXR-SDK-Source
24+
cc8e70f69de3ec536d5bd7cdebcd6e30d36dfcae
25+
26+
# OpenXR-CTS
27+
e28085d027d0e3b215858906b1ad7d98fb0483ff
28+
29+
30+
## 1.0.17 - Sort return codes
31+
32+
# Khronos GitLab
33+
755ac4d86eb33340289fc0765391c31ce17959fc
34+
35+
# OpenXR-Docs
36+
bd1f05a6f5da8662c6969996177063a5a98bf0ea
37+
38+
# OpenXR-SDK-Source
39+
114c3a2829f51eb0e2508a99f98b2e14760ba2c2
40+
41+
# OpenXR-CTS
42+
1224c0ba88b6f000a5f00f56c0dbb8265a6c6350

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,10 +48,13 @@ local.properties
4848
!.clang-tidy
4949
!.cmake-format.json
5050
!.editorconfig
51+
!.git-blame-ignore-revs
52+
!.git-keep
5153
!.gitattributes
5254
!.github
5355
!.gitignore
5456
!.gitlab-ci.yml
57+
!.mailmap
5558
!.markdownlint.yaml
5659
!.proclamation.json
5760
!.reuse

CHANGELOG.SDK.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,57 @@ 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.17 (2021-06-08)
23+
24+
This release features an important fix to the loader for an invalid-iterator bug
25+
introduced in 1.0.16. All developers shipping the loader are strongly encouraged
26+
to upgrade. It also includes a variety of new vendor extensions.
27+
28+
- Registry
29+
- Add `XR_MSFT_scene_understanding` vendor extension.
30+
([internal MR 2032](https://gitlab.khronos.org/openxr/openxr/merge_requests/2032))
31+
- Add `XR_MSFT_scene_understanding_serialization` vendor extension.
32+
([internal MR 2032](https://gitlab.khronos.org/openxr/openxr/merge_requests/2032))
33+
- Add `XR_MSFT_composition_layer_reprojection` vendor extension.
34+
([internal MR 2033](https://gitlab.khronos.org/openxr/openxr/merge_requests/2033))
35+
- Add `XR_OCULUS_audio_device_guid` vendor extension.
36+
([internal MR 2053](https://gitlab.khronos.org/openxr/openxr/merge_requests/2053))
37+
- Add version 3 of `XR_FB_swapchain_update_state` vendor extension, which splits
38+
platform and graphics API specific structs into separate extensions.
39+
([internal MR 2059](https://gitlab.khronos.org/openxr/openxr/merge_requests/2059))
40+
- Apply formatting to registry XML by selectively committing changes made by
41+
<https://github.com/rpavlik/PrettyRegistryXml>.
42+
([internal MR 2070](https://gitlab.khronos.org/openxr/openxr/merge_requests/2070),
43+
[OpenXR-SDK-Source/#256](https://github.com/KhronosGroup/OpenXR-SDK-Source/pull/256))
44+
- Enforce that all `xrCreate` functions must be able to return
45+
`XR_ERROR_LIMIT_REACHED` and `XR_ERROR_OUT_OF_MEMORY`, and adjust lists of
46+
error codes accordingly.
47+
([internal MR 2064](https://gitlab.khronos.org/openxr/openxr/merge_requests/2064))
48+
- Fix a usage of `>` without escaping as an XML entity.
49+
([internal MR 2064](https://gitlab.khronos.org/openxr/openxr/merge_requests/2064))
50+
- Fix all cases of a success code (most often `XR_SESSION_LOSS_PENDING`)
51+
appearing in the `errorcodes` attribute of a command.
52+
([internal MR 2064](https://gitlab.khronos.org/openxr/openxr/merge_requests/2064),
53+
[internal issue 1566](https://gitlab.khronos.org/openxr/openxr/issues/1566))
54+
- Improve comments for several enum values.
55+
([internal MR 1982](https://gitlab.khronos.org/openxr/openxr/merge_requests/1982))
56+
- Perform some script clean-up and refactoring, including selective type
57+
annotation and moving the Conventions abstract base class to `spec_tools`.
58+
([internal MR 2064](https://gitlab.khronos.org/openxr/openxr/merge_requests/2064))
59+
- Sort return codes, with some general, popular codes made to be early. Script
60+
`sort_codes.py` can be used to maintain this, though it mangles other XML
61+
formatting, so use it with care. <https://github.com/rpavlik/PrettyRegistryXml>
62+
can format, and eventually sort return codes (currently sort order does not
63+
match).
64+
([internal MR 2064](https://gitlab.khronos.org/openxr/openxr/merge_requests/2064),
65+
[OpenXR-SDK-Source/#256](https://github.com/KhronosGroup/OpenXR-SDK-Source/pull/256))
66+
- SDK
67+
- Loader: Fix iteration over explicit layer manifests.
68+
([OpenXR-SDK-Source/#256](https://github.com/KhronosGroup/OpenXR-SDK-Source/pull/256))
69+
- validation layer: Don't try to apply `strlen` to `wchar_t`-based output
70+
buffers.
71+
([internal MR 2053](https://gitlab.khronos.org/openxr/openxr/merge_requests/2053))
72+
2273
## OpenXR SDK 1.0.16 (2021-05-11)
2374

2475
This release contains an update to define a new error code,

README.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,3 +40,13 @@ Currently the best sample code is in [src/tests/hello_xr/](https://github.com/Kh
4040
## Building
4141

4242
See [BUILDING.md](https://github.com/KhronosGroup/OpenXR-SDK-Source/blob/master/BUILDING.md)
43+
44+
## Note about `git blame`
45+
46+
We are tracking "bulk commits" in the `.git-blame-ignore-revs` file, for better
47+
git blame output. Sadly it appears that web interfaces do not yet handle this
48+
file, but you can if using the command line. See
49+
[--ignore-revs-file docs](https://git-scm.com/docs/git-blame#Documentation/git-blame.txt---ignore-revs-fileltfilegt)
50+
for details, and
51+
[this blog post about ignore-revs](https://www.moxio.com/blog/43/ignoring-bulk-change-commits-with-git-blame)
52+
for some useful usage details.

changes/sdk/pr.256.gh.OpenXR-SDK-Source.md

Lines changed: 0 additions & 1 deletion
This file was deleted.

maintainer-scripts/check-changelog-fragments.sh

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ check_tree_and_changelog() {
4040
changelog_dir=$1
4141
shift
4242
if changes_in_tree "$@"; then
43-
if changes_in_tree $changelog_dir; then
43+
if changes_in_tree "$changelog_dir"; then
4444
echo "OK: Found changes in $* and changelog fragment in $changelog_dir"
4545
else
4646
echo "Error: Found changes in $* but no changelog fragment in $changelog_dir"
@@ -57,11 +57,14 @@ check_tree_and_changelog() {
5757
check_tree_and_changelog changes/specification specification/sources
5858
check_tree_and_changelog changes/registry specification/registry
5959

60-
if [ "x$CI_MERGE_REQUEST_ID" != "x" ]; then
60+
if [ "$CI_OPEN_MERGE_REQUESTS" != "" ]; then
6161
# This is a CI build of a merge request.
62-
echo "Merge request $CI_MERGE_REQUEST_IID"
63-
if ! find changes -name "mr.$CI_MERGE_REQUEST_IID.gl.md" | grep -q "."; then
64-
echo "Warning: Could not find a changelog fragment named mr.$CI_MERGE_REQUEST_IID.gl.md"
62+
# shellcheck disable=SC2001
63+
mr_num=$(echo "${CI_OPEN_MERGE_REQUESTS}" | sed 's/.*!//')
64+
fragment_fn="mr.$mr_num.gl.md"
65+
echo "Merge request $CI_OPEN_MERGE_REQUESTS: expecting one or more fragments named $fragment_fn"
66+
if ! find changes -name "$fragment_fn" | grep -q "."; then
67+
echo "Warning: Could not find a changelog fragment named $fragment_fn"
6568
# RESULT=false
6669
fi
6770
fi

maintainer-scripts/common.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ makeSubset() {
3434

3535
}
3636

37-
COMMON_FILES=".gitignore .gitattributes CODE_OF_CONDUCT.md LICENSES .reuse .editorconfig"
37+
COMMON_FILES=".gitignore .gitattributes .git-blame-ignore-revs CODE_OF_CONDUCT.md LICENSES .reuse .editorconfig"
3838
export COMMON_FILES
3939

4040
add_to_tar() {
@@ -130,6 +130,7 @@ getDocsFilenames() {
130130
| grep -v "vuid[.]adoc" \
131131
| grep -v "CMakeLists.txt" \
132132
| grep -v "ubmitted" \
133+
| grep -v "experimental" \
133134
| grep -v "compare" \
134135
| grep -v "JP\.jpg"
135136
}

specification/Makefile

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ ifneq (,$(strip $(VERY_STRICT)))
4444
ASCIIDOC := $(ASCIIDOC) --failure-level WARN
4545
endif
4646

47-
SPECREVISION = 1.0.16
47+
SPECREVISION = 1.0.17
4848
REVISION_COMPONENTS = $(subst ., ,$(SPECREVISION))
4949
MAJORMINORVER = $(word 1,$(REVISION_COMPONENTS)).$(word 2,$(REVISION_COMPONENTS))
5050

@@ -166,7 +166,7 @@ BASIC_GENERATED_DEPENDS := \
166166
$(SCRIPTS)/reg.py \
167167
$(SCRIPTS)/generator.py \
168168
$(SPECTOOLS)/util.py \
169-
$(SCRIPTS)/conventions.py \
169+
$(SPECTOOLS)/conventions.py \
170170
$(SCRIPTS)/xrconventions.py \
171171
config_stamp \
172172
Makefile
@@ -393,6 +393,7 @@ MANDEPS = $(MANCOPYRIGHT) $(GENINCLUDE) $(GENDEPENDS)
393393
MANATTRIBOPTS := -a stylesheet=khronos.css \
394394
-a stylesdir=$(CURDIR)/config \
395395
-a html_spec_relative='../../openxr.html' \
396+
-a imagesdir=$(CURDIR)/sources
396397

397398
# Pure makefile lowercase function, generated by a script.
398399
make_lower = $(subst A,a,$(subst B,b,$(subst C,c,$(subst D,d,$(subst E,e,$(subst F,f,$(subst G,g,$(subst H,h,$(subst I,i,$(subst J,j,$(subst K,k,$(subst L,l,$(subst M,m,$(subst N,n,$(subst O,o,$(subst P,p,$(subst Q,q,$(subst R,r,$(subst S,s,$(subst T,t,$(subst U,u,$(subst V,v,$(subst W,w,$(subst X,x,$(subst Y,y,$(subst Z,z,$(1)))))))))))))))))))))))))))

0 commit comments

Comments
 (0)