Skip to content

Commit e9d6121

Browse files
committed
OpenXR SDK 1.0.7 (2020-03-20)
Patch release for the 1.0 series. Note: Changelogs are now being assembled with the help of the Proclamation tool, so the format has changed somewhat. Registry Introduce XR_MSFT_hand_interaction extension for hand interaction profile. (internal MR 1601) Introduce XR_EPIC_view_configuration_fov extension for system field-of-view queries. (internal MR 1170) Indicate that xrBeginFrame returns XR_ERROR_CALL_ORDER_INVALID when not paired with a corresponding xrWaitFrame call. (internal MR 1673) Update the version number of XR_KHR_D3D12_enable extension. (internal MR 1681) Introduce XR_EXTX_overlay extension for Overlay sessions (which can provide overlay composition layers). (internal MR 1665) SDK loader: Add linker export map/version script to avoid exporting implementation symbols from C++ on non-MSVC platforms. (internal MR 1641, OpenXR- SDK-Source/#159) Add tracking and destruction of debug messengers in the loader. (internal MR 1668, OpenXR-SDK-Source/#29, internal issue 1284) Fix issue in hello_xr breaking the build in certain limited conditions. (OpenXR-SDK-Source/#170) Add initial (partial) Android support for hello_xr. (internal MR 1680) Fix a mismatched type signature, breaking compiles of hello_xr in at least some Linux environments. (OpenXR-SDK-Source/#164, internal MR 166) Explicitly link in advapi32 for many of the APIs the loader uses on Windows, needed when building for ARM/ARM64 (non-UWP only). (internal MR 1664) Remove "Dev Build" string from loader resources and fix version. (internal MR 1664) Add manual pages for openxr_runtime_list and hello_xr (based on their --help), and install in the standard location on non-Windows platforms. (OpenXR-SDK-Source/#169) Silence some noisy warnings in hello_xr and the layers. (OpenXR-SDK-Source/#165)
1 parent 8c67f63 commit e9d6121

Some content is hidden

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

49 files changed

+1214
-498
lines changed

CHANGELOG.SDK.md

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

16+
## OpenXR SDK 1.0.7 (2020-03-20)
17+
18+
Patch release for the 1.0 series.
19+
20+
Note: Changelogs are now being assembled with the help of the
21+
[Proclamation](https://pypi.org/project/proclamation/) tool, so the format has
22+
changed somewhat.
23+
24+
- Registry
25+
- Introduce `XR_MSFT_hand_interaction` extension for hand interaction profile.
26+
([internal MR 1601](https://gitlab.khronos.org/openxr/openxr/merge_requests/1601))
27+
- Introduce `XR_EPIC_view_configuration_fov` extension for system field-of-view
28+
queries.
29+
([internal MR 1170](https://gitlab.khronos.org/openxr/openxr/merge_requests/1170))
30+
- Indicate that `xrBeginFrame` returns `XR_ERROR_CALL_ORDER_INVALID` when not
31+
paired with a corresponding `xrWaitFrame` call.
32+
([internal MR 1673](https://gitlab.khronos.org/openxr/openxr/merge_requests/1673))
33+
- Update the version number of `XR_KHR_D3D12_enable` extension.
34+
([internal MR 1681](https://gitlab.khronos.org/openxr/openxr/merge_requests/1681))
35+
- Introduce `XR_EXTX_overlay` extension for Overlay sessions (which can
36+
provide overlay composition layers).
37+
([internal MR 1665](https://gitlab.khronos.org/openxr/openxr/merge_requests/1665))
38+
- SDK
39+
- loader: Add linker export map/version script to avoid exporting implementation
40+
symbols from C++ on non-MSVC platforms. ([internal MR
41+
1641](https://gitlab.khronos.org/openxr/openxr/merge_requests/1641), [OpenXR-
42+
SDK-Source/#159](https://github.com/KhronosGroup/OpenXR-SDK-Source/issues/159))
43+
- Add tracking and destruction of debug messengers in the loader.
44+
([internal MR 1668](https://gitlab.khronos.org/openxr/openxr/merge_requests/1668),
45+
[OpenXR-SDK-Source/#29](https://github.com/KhronosGroup/OpenXR-SDK-Source/issues/29),
46+
[internal issue 1284](https://gitlab.khronos.org/openxr/openxr/issues/1284))
47+
- Fix issue in `hello_xr` breaking the build in certain limited conditions.
48+
([OpenXR-SDK-Source/#170](https://github.com/KhronosGroup/OpenXR-SDK-Source/pull/170))
49+
- Add initial (partial) Android support for `hello_xr`.
50+
([internal MR 1680](https://gitlab.khronos.org/openxr/openxr/merge_requests/1680))
51+
- Fix a mismatched type signature, breaking compiles of hello_xr in at least some
52+
Linux environments.
53+
([OpenXR-SDK-Source/#164](https://github.com/KhronosGroup/OpenXR-SDK-Source/issues/164),
54+
[internal MR 166](https://gitlab.khronos.org/openxr/openxr/merge_requests/166))
55+
- Explicitly link in `advapi32` for many of the APIs the loader uses on Windows,
56+
needed when building for ARM/ARM64 (non-UWP only).
57+
([internal MR 1664](https://gitlab.khronos.org/openxr/openxr/merge_requests/1664))
58+
- Remove "Dev Build" string from loader resources and fix version. ([internal MR
59+
1664](https://gitlab.khronos.org/openxr/openxr/merge_requests/1664))
60+
- Add manual pages for `openxr_runtime_list` and `hello_xr` (based on their
61+
`--help`), and install in the standard location on non-Windows platforms.
62+
([OpenXR-SDK-Source/#169](https://github.com/KhronosGroup/OpenXR-SDK-Source/pull/169))
63+
- Silence some noisy warnings in hello_xr and the layers.
64+
([OpenXR-SDK-Source/#165](https://github.com/KhronosGroup/OpenXR-SDK-Source/pull/165))
65+
1666
## OpenXR 1.0.6 release (24-January-2020)
1767

1868
Patch release for the 1.0 series.

changes/sdk/issue.164.gh.OpenXR-SDK-Source.md

Lines changed: 0 additions & 4 deletions
This file was deleted.

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

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

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

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

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

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

checkCodespell

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,8 @@ CODESPELL_IGNORE=${CODESPELL_IGNORE:-${DEFAULT_CODESPELL_IGNORE}}
3939

4040
# Add to this list when codespell mis-identifies a term actually used as a misspelling
4141
# (comma-delimited)
42-
IGNORE_WORDS="lod,LOD"
42+
# .Nd is used for a description in a mandoc manpage.
43+
IGNORE_WORDS="lod,LOD,nd"
4344

4445
# Add to this to exclude individual files or directories (comma-delimited)
4546
# - Skipping external code.

external/include/utils/threading.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -621,14 +621,14 @@ static void ksThread_SetAffinity( int mask )
621621
unsigned int bestFrequency = 0;
622622
for ( int i = 0; i < 16; i++ )
623623
{
624-
int maxFrequency = 0;
624+
unsigned int maxFrequency = 0;
625625
const char * files[] =
626626
{
627627
"scaling_available_frequencies", // not available on all devices
628628
"scaling_max_freq", // no user read permission on all devices
629629
"cpuinfo_max_freq", // could be set lower than the actual max, but better than nothing
630630
};
631-
for ( int j = 0; j < ( sizeof(files) / sizeof(files[0]) ); j++ )
631+
for ( unsigned int j = 0; j < ( sizeof(files) / sizeof(files[0]) ); j++ )
632632
{
633633
char fileName[1024];
634634
sprintf( fileName, "/sys/devices/system/cpu/cpu%d/cpufreq/%s", i, files[j] );
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
#!/usr/bin/env bash
2+
# Copyright 2020, Collabora, Ltd.
3+
# SPDX-License-Identifier: Apache-2.0
4+
5+
set -e
6+
7+
if [ $# -eq 0 ]; then
8+
TOPIC=HEAD
9+
MASTER=origin/master
10+
elif [ $# -eq 1 ]; then
11+
TOPIC=$1
12+
MASTER=origin/master
13+
elif [ $# -eq 2 ]; then
14+
TOPIC=$1
15+
MASTER=$2
16+
else
17+
echo "$0 [<topic_branch> [<master_branch>]]" >&2
18+
exit 1
19+
fi
20+
21+
BASE=$(git merge-base "${MASTER}" "${TOPIC}")
22+
export TOPIC
23+
export BASE
24+
25+
echo "Topic branch: $TOPIC"
26+
echo "Compared against target branch: $MASTER"
27+
echo "Merge base: $BASE"
28+
echo ""
29+
echo ""
30+
31+
changes_in_tree() {
32+
if ! git diff --exit-code "${BASE}..${TOPIC}" -- "$@" > /dev/null; then
33+
true
34+
else
35+
false
36+
fi
37+
}
38+
39+
check_tree_and_changelog() {
40+
changelog_dir=$1
41+
shift
42+
if changes_in_tree "$@"; then
43+
if changes_in_tree $changelog_dir; then
44+
echo "OK: Found changes in $@ and changelog fragment in $changelog_dir"
45+
else
46+
echo "Error: Found changes in $@ but no changelog fragment in $changelog_dir"
47+
RESULT=false
48+
export RESULT
49+
fi
50+
fi
51+
}
52+
53+
(
54+
cd "$(dirname $0)/.."
55+
RESULT=true
56+
check_tree_and_changelog changes/sdk src/api_layers src/cmake src/common src/loader src/scripts src/tests specification/loader
57+
check_tree_and_changelog changes/specification specification/sources
58+
check_tree_and_changelog changes/registry specification/registry
59+
60+
if [ "x$CI_MERGE_REQUEST_ID" != "x" ]; then
61+
# 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"
65+
# RESULT=false
66+
fi
67+
fi
68+
$RESULT
69+
)

maintainer-scripts/common.sh

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ gzip_a_tar() {
9797
getDocsFilenames() {
9898
# Just the things required to build/maintain the spec text and registry.
9999
# Omitting the old version in submitted and its script
100-
# TODO Omitting the style guide for now
100+
# TODO omitting style guide VUID chapter for now
101101
git ls-files \
102102
$COMMON_FILES \
103103
CHANGELOG.Docs.md \
@@ -106,12 +106,13 @@ getDocsFilenames() {
106106
openxr-codespell.exclude \
107107
tox.ini \
108108
update_valid_usage_ids.sh \
109+
maintainer-scripts/check-changelog-fragments.sh \
110+
extprocess/ \
109111
include/ \
110112
specification/ \
111113
vuid_database/ \
112114
| grep -v "loader" \
113-
| grep -v "styleguide" \
114-
| grep -v "extension_process" \
115+
| grep -v "vuid[.]adoc" \
115116
| grep -v "CMakeLists.txt" \
116117
| grep -v "ubmitted" \
117118
| grep -v "compare"
@@ -136,6 +137,7 @@ getSDKSourceFilenames() {
136137
include/ \
137138
maintainer-scripts/common.sh \
138139
maintainer-scripts/archive-sdk.sh \
140+
maintainer-scripts/check-changelog-fragments.sh \
139141
specification/.gitignore \
140142
specification/registry/*.xml \
141143
specification/scripts \

specification/Makefile

Lines changed: 34 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ ifneq (,$(strip $(VERY_STRICT)))
4242
ASCIIDOC := $(ASCIIDOC) --failure-level WARN
4343
endif
4444

45-
SPECREVISION = 1.0.6
45+
SPECREVISION = 1.0.7
4646
REVISION_COMPONENTS = $(subst ., ,$(SPECREVISION))
4747
MAJORMINORVER = $(word 1,$(REVISION_COMPONENTS)).$(word 2,$(REVISION_COMPONENTS))
4848

@@ -78,6 +78,10 @@ default:
7878
echo "check-spec-links: run the checkMarkup and checkSpecLinks scripts"; \
7979
fi
8080

81+
@if [ -d sources/extprocess ]; then \
82+
echo "extprocess: HTML version of OpenXR extension process"; \
83+
fi
84+
8185
@if [ -f sources/test.c ]; then \
8286
echo "header-test: test-compile the OpenXR header"; fi
8387

@@ -218,8 +222,8 @@ generated: $(GENDEPENDS)
218222
SPECSRC = sources/openxr.adoc
219223
SPECFILES = $(wildcard sources/chapters/[A-Za-z]*.adoc)
220224
STYLEGUIDE = $(OUTDIR)/styleguide.html
221-
STYLESRC = sources/styleguide/styleguide.txt
222-
STYLEFILES = $(wildcard sources/styleguide/[A-Za-z]*.txt)
225+
STYLESRC = sources/styleguide/styleguide.adoc
226+
STYLEFILES = $(wildcard sources/styleguide/[A-Za-z]*.adoc)
223227

224228
styleguide: $(STYLEGUIDE)
225229

@@ -229,7 +233,7 @@ ASCIIDOCTOR_TARGETS += $(STYLEGUIDE)
229233
# Target-specific variables and deps customizing the AsciiDoctor rule
230234
$(STYLEGUIDE): SPECSRC=$(STYLESRC)
231235
$(STYLEGUIDE): LOGFILE=$(OUTDIR)/adoc_styleguide_stderr.txt
232-
$(STYLEGUIDE): $(STYLESRC) $(STYLEFILES) $(GENDIR)/api/apiinc
236+
$(STYLEGUIDE): $(STYLESRC) $(STYLEFILES) $(GENDIR)/validity/validinc $(GENDIR)/api/apiinc
233237

234238

235239
################################################
@@ -249,6 +253,22 @@ $(LOADERGUIDE): SPECSRC=$(LOADERSRC)
249253
$(LOADERGUIDE): LOGFILE=$(OUTDIR)/adoc_loader_stderr.txt
250254
$(LOADERGUIDE): $(LOADERSRC) $(LOADERFILES)
251255

256+
257+
################################################
258+
# OpenXR Extension Process
259+
260+
EXTPROCESSGUIDE = $(OUTDIR)/extprocess.html
261+
EXTPROCESSSRC = sources/extprocess/extension_process.adoc
262+
263+
extprocess: $(EXTPROCESSGUIDE)
264+
265+
# Use the AsciiDoctor rule
266+
ASCIIDOCTOR_TARGETS += $(EXTPROCESSGUIDE)
267+
268+
$(EXTPROCESSGUIDE): SPECSRC=$(EXTPROCESSSRC)
269+
$(EXTPROCESSGUIDE): LOGFILE=$(OUTDIR)/adoc_extprocess_stderr.txt
270+
$(EXTPROCESSGUIDE): $(EXTPROCESSSRC)
271+
252272
################################################
253273
## Specification targets
254274

@@ -259,12 +279,13 @@ HTMLSPEC := $(OUTDIR)/openxr.html
259279
html: $(HTMLSPEC)
260280

261281
# Use the AsciiDoctor rule
262-
ASCIIDOCTOR_TARGETS += $(LOADERGUIDE)
282+
ASCIIDOCTOR_TARGETS += $(HTMLSPEC)
263283

264284
# Target-specific variables and deps customizing the AsciiDoctor rule
265285
$(HTMLSPEC): LOGFILE=$(OUTDIR)/adoc_html_stderr.txt
266-
$(HTMLSPEC): EXTRA_ARGS=--backend html5
286+
$(HTMLSPEC): ATTRIBOPTS+=-a sectanchors
267287
$(HTMLSPEC): $(COMMONDOCS)
288+
$(HTMLSPEC): POSTPROCESS=$(QUIET)$(PYTHON) $(SCRIPTS)/genanchorlinks.py $@ $@
268289

269290
## PDF
270291
PDFSPEC := $(OUTDIR)/openxr.pdf
@@ -321,7 +342,7 @@ ADOCOPTS = --doctype book -a data-uri -r $(CURDIR)/scripts/openxr-macros.rb $(AT
321342
BACKEND_ARGS=--backend html5
322343

323344
# AsciiDoctor rule - customized by the places where these are described
324-
$(HTMLSPEC) $(PDFSPEC) $(PDFA4SPEC) $(STYLEGUIDE) $(LOADERGUIDE):
345+
$(ASCIIDOCTOR_TARGETS):
325346
$(ECHO) "[asciidoctor] $(SPECSRC) -> $@"
326347
$(QUIET)$(MKDIR) $(@D)
327348
$(QUIET)if [ $$(uname -s | cut -c 1-6) == "CYGWIN" ]; then \
@@ -341,6 +362,9 @@ $(HTMLSPEC) $(PDFSPEC) $(PDFA4SPEC) $(STYLEGUIDE) $(LOADERGUIDE):
341362
rm $(LOGFILE); \
342363
fi; \
343364
fi
365+
$(POSTPROCESS)
366+
# TODO: Postprocess step(s) may have broken the Cygwin build. Not sure this matters anymore with WSL, though.
367+
344368

345369
################################################
346370
# Reference "man" pages extracted from spec
@@ -461,7 +485,7 @@ all:
461485
$(QUIET)$(MAKE) header
462486
$(QUIET)if [ -f $(TESTSRC) ]; then $(MAKE) header-test; fi
463487
$(QUIET)if [ -f $(SPECSRC) ]; then $(MAKE) html pdf build-examples; fi
464-
$(QUIET)if [ -f $(STYLESRC) ]; then $(MAKE) styleguide; fi
488+
$(QUIET)if [ -f $(STYLESRC) ]; then $(MAKE) styleguide extprocess; fi
465489
$(QUIET)if [ -f $(LOADERSRC) ]; then $(MAKE) loader; fi
466490
$(ECHO) ""
467491
$(ECHO) "Target 'all': Completed specification build and basic checks successfully."
@@ -470,11 +494,12 @@ all:
470494
################################################
471495
# Meta build for releases. Also copies into approximately the right layout for the OpenXR-Registry repo.
472496
REGISTRYOUTDIR = $(OUTDIR)/../registry-release/specs/$(MAJORMINORVER)
473-
release: header html pdf manhtmlpages loader
497+
release: header html pdf manhtmlpages loader styleguide extprocess
474498
$(QUIET)$(MKDIR) $(REGISTRYOUTDIR)/pdf
475499
$(QUIET)$(CP) $(PDFSPEC) $(REGISTRYOUTDIR)/pdf/xrspec.pdf
476500
$(QUIET)$(MKDIR) $(REGISTRYOUTDIR)/html
477501
$(QUIET)$(CP) $(HTMLSPEC) $(REGISTRYOUTDIR)/html/xrspec.html
502+
$(QUIET)$(CP) $(OUTDIR)/styleguide.html $(OUTDIR)/extprocess.html $(REGISTRYOUTDIR)
478503
$(QUIET)$(MKDIR) $(REGISTRYOUTDIR)/man
479504
$(QUIET)$(CP) -R $(MANHTMLDIR) $(REGISTRYOUTDIR)/man/html
480505

0 commit comments

Comments
 (0)