Skip to content

Commit

Permalink
OpenXR SDK 1.0.7 (2020-03-20)
Browse files Browse the repository at this point in the history
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)
  • Loading branch information
rpavlik committed Mar 21, 2020
1 parent 8c67f63 commit e9d6121
Show file tree
Hide file tree
Showing 49 changed files with 1,214 additions and 498 deletions.
50 changes: 50 additions & 0 deletions CHANGELOG.SDK.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,56 @@ 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.7 (2020-03-20)

Patch release for the 1.0 series.

Note: Changelogs are now being assembled with the help of the
[Proclamation](https://pypi.org/project/proclamation/) tool, so the format has
changed somewhat.

- Registry
- Introduce `XR_MSFT_hand_interaction` extension for hand interaction profile.
([internal MR 1601](https://gitlab.khronos.org/openxr/openxr/merge_requests/1601))
- Introduce `XR_EPIC_view_configuration_fov` extension for system field-of-view
queries.
([internal MR 1170](https://gitlab.khronos.org/openxr/openxr/merge_requests/1170))
- Indicate that `xrBeginFrame` returns `XR_ERROR_CALL_ORDER_INVALID` when not
paired with a corresponding `xrWaitFrame` call.
([internal MR 1673](https://gitlab.khronos.org/openxr/openxr/merge_requests/1673))
- Update the version number of `XR_KHR_D3D12_enable` extension.
([internal MR 1681](https://gitlab.khronos.org/openxr/openxr/merge_requests/1681))
- Introduce `XR_EXTX_overlay` extension for Overlay sessions (which can
provide overlay composition layers).
([internal MR 1665](https://gitlab.khronos.org/openxr/openxr/merge_requests/1665))
- SDK
- loader: Add linker export map/version script to avoid exporting implementation
symbols from C++ on non-MSVC platforms. ([internal MR
1641](https://gitlab.khronos.org/openxr/openxr/merge_requests/1641), [OpenXR-
SDK-Source/#159](https://github.com/KhronosGroup/OpenXR-SDK-Source/issues/159))
- Add tracking and destruction of debug messengers in the loader.
([internal MR 1668](https://gitlab.khronos.org/openxr/openxr/merge_requests/1668),
[OpenXR-SDK-Source/#29](https://github.com/KhronosGroup/OpenXR-SDK-Source/issues/29),
[internal issue 1284](https://gitlab.khronos.org/openxr/openxr/issues/1284))
- Fix issue in `hello_xr` breaking the build in certain limited conditions.
([OpenXR-SDK-Source/#170](https://github.com/KhronosGroup/OpenXR-SDK-Source/pull/170))
- Add initial (partial) Android support for `hello_xr`.
([internal MR 1680](https://gitlab.khronos.org/openxr/openxr/merge_requests/1680))
- Fix a mismatched type signature, breaking compiles of hello_xr in at least some
Linux environments.
([OpenXR-SDK-Source/#164](https://github.com/KhronosGroup/OpenXR-SDK-Source/issues/164),
[internal MR 166](https://gitlab.khronos.org/openxr/openxr/merge_requests/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](https://gitlab.khronos.org/openxr/openxr/merge_requests/1664))
- Remove "Dev Build" string from loader resources and fix version. ([internal MR
1664](https://gitlab.khronos.org/openxr/openxr/merge_requests/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](https://github.com/KhronosGroup/OpenXR-SDK-Source/pull/169))
- Silence some noisy warnings in hello_xr and the layers.
([OpenXR-SDK-Source/#165](https://github.com/KhronosGroup/OpenXR-SDK-Source/pull/165))

## OpenXR 1.0.6 release (24-January-2020)

Patch release for the 1.0 series.
Expand Down
4 changes: 0 additions & 4 deletions changes/sdk/issue.164.gh.OpenXR-SDK-Source.md

This file was deleted.

1 change: 0 additions & 1 deletion changes/sdk/pr.165.gh.OpenXR-SDK-Source.md

This file was deleted.

1 change: 0 additions & 1 deletion changes/sdk/pr.169.gh.OpenXR-SDK-Source.md

This file was deleted.

1 change: 0 additions & 1 deletion changes/sdk/pr.170.gh.OpenXR-SDK-Source.md

This file was deleted.

3 changes: 2 additions & 1 deletion checkCodespell
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,8 @@ CODESPELL_IGNORE=${CODESPELL_IGNORE:-${DEFAULT_CODESPELL_IGNORE}}

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

# Add to this to exclude individual files or directories (comma-delimited)
# - Skipping external code.
Expand Down
4 changes: 2 additions & 2 deletions external/include/utils/threading.h
Original file line number Diff line number Diff line change
Expand Up @@ -621,14 +621,14 @@ static void ksThread_SetAffinity( int mask )
unsigned int bestFrequency = 0;
for ( int i = 0; i < 16; i++ )
{
int maxFrequency = 0;
unsigned int maxFrequency = 0;
const char * files[] =
{
"scaling_available_frequencies", // not available on all devices
"scaling_max_freq", // no user read permission on all devices
"cpuinfo_max_freq", // could be set lower than the actual max, but better than nothing
};
for ( int j = 0; j < ( sizeof(files) / sizeof(files[0]) ); j++ )
for ( unsigned int j = 0; j < ( sizeof(files) / sizeof(files[0]) ); j++ )
{
char fileName[1024];
sprintf( fileName, "/sys/devices/system/cpu/cpu%d/cpufreq/%s", i, files[j] );
Expand Down
69 changes: 69 additions & 0 deletions maintainer-scripts/check-changelog-fragments.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
#!/usr/bin/env bash
# Copyright 2020, Collabora, Ltd.
# SPDX-License-Identifier: Apache-2.0

set -e

if [ $# -eq 0 ]; then
TOPIC=HEAD
MASTER=origin/master
elif [ $# -eq 1 ]; then
TOPIC=$1
MASTER=origin/master
elif [ $# -eq 2 ]; then
TOPIC=$1
MASTER=$2
else
echo "$0 [<topic_branch> [<master_branch>]]" >&2
exit 1
fi

BASE=$(git merge-base "${MASTER}" "${TOPIC}")
export TOPIC
export BASE

echo "Topic branch: $TOPIC"
echo "Compared against target branch: $MASTER"
echo "Merge base: $BASE"
echo ""
echo ""

changes_in_tree() {
if ! git diff --exit-code "${BASE}..${TOPIC}" -- "$@" > /dev/null; then
true
else
false
fi
}

check_tree_and_changelog() {
changelog_dir=$1
shift
if changes_in_tree "$@"; then
if changes_in_tree $changelog_dir; then
echo "OK: Found changes in $@ and changelog fragment in $changelog_dir"
else
echo "Error: Found changes in $@ but no changelog fragment in $changelog_dir"
RESULT=false
export RESULT
fi
fi
}

(
cd "$(dirname $0)/.."
RESULT=true
check_tree_and_changelog changes/sdk src/api_layers src/cmake src/common src/loader src/scripts src/tests specification/loader
check_tree_and_changelog changes/specification specification/sources
check_tree_and_changelog changes/registry specification/registry

if [ "x$CI_MERGE_REQUEST_ID" != "x" ]; then
# This is a CI build of a merge request.
echo "Merge request $CI_MERGE_REQUEST_IID"
if ! find changes -name "mr.$CI_MERGE_REQUEST_IID.gl.md" | grep -q "."; then
echo "Warning: Could not find a changelog fragment named mr.$CI_MERGE_REQUEST_IID.gl.md"
# RESULT=false
fi
fi
$RESULT
)
8 changes: 5 additions & 3 deletions maintainer-scripts/common.sh
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ gzip_a_tar() {
getDocsFilenames() {
# Just the things required to build/maintain the spec text and registry.
# Omitting the old version in submitted and its script
# TODO Omitting the style guide for now
# TODO omitting style guide VUID chapter for now
git ls-files \
$COMMON_FILES \
CHANGELOG.Docs.md \
Expand All @@ -106,12 +106,13 @@ getDocsFilenames() {
openxr-codespell.exclude \
tox.ini \
update_valid_usage_ids.sh \
maintainer-scripts/check-changelog-fragments.sh \
extprocess/ \
include/ \
specification/ \
vuid_database/ \
| grep -v "loader" \
| grep -v "styleguide" \
| grep -v "extension_process" \
| grep -v "vuid[.]adoc" \
| grep -v "CMakeLists.txt" \
| grep -v "ubmitted" \
| grep -v "compare"
Expand All @@ -136,6 +137,7 @@ getSDKSourceFilenames() {
include/ \
maintainer-scripts/common.sh \
maintainer-scripts/archive-sdk.sh \
maintainer-scripts/check-changelog-fragments.sh \
specification/.gitignore \
specification/registry/*.xml \
specification/scripts \
Expand Down
43 changes: 34 additions & 9 deletions specification/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ ifneq (,$(strip $(VERY_STRICT)))
ASCIIDOC := $(ASCIIDOC) --failure-level WARN
endif

SPECREVISION = 1.0.6
SPECREVISION = 1.0.7
REVISION_COMPONENTS = $(subst ., ,$(SPECREVISION))
MAJORMINORVER = $(word 1,$(REVISION_COMPONENTS)).$(word 2,$(REVISION_COMPONENTS))

Expand Down Expand Up @@ -78,6 +78,10 @@ default:
echo "check-spec-links: run the checkMarkup and checkSpecLinks scripts"; \
fi

@if [ -d sources/extprocess ]; then \
echo "extprocess: HTML version of OpenXR extension process"; \
fi

@if [ -f sources/test.c ]; then \
echo "header-test: test-compile the OpenXR header"; fi

Expand Down Expand Up @@ -218,8 +222,8 @@ generated: $(GENDEPENDS)
SPECSRC = sources/openxr.adoc
SPECFILES = $(wildcard sources/chapters/[A-Za-z]*.adoc)
STYLEGUIDE = $(OUTDIR)/styleguide.html
STYLESRC = sources/styleguide/styleguide.txt
STYLEFILES = $(wildcard sources/styleguide/[A-Za-z]*.txt)
STYLESRC = sources/styleguide/styleguide.adoc
STYLEFILES = $(wildcard sources/styleguide/[A-Za-z]*.adoc)

styleguide: $(STYLEGUIDE)

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


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


################################################
# OpenXR Extension Process

EXTPROCESSGUIDE = $(OUTDIR)/extprocess.html
EXTPROCESSSRC = sources/extprocess/extension_process.adoc

extprocess: $(EXTPROCESSGUIDE)

# Use the AsciiDoctor rule
ASCIIDOCTOR_TARGETS += $(EXTPROCESSGUIDE)

$(EXTPROCESSGUIDE): SPECSRC=$(EXTPROCESSSRC)
$(EXTPROCESSGUIDE): LOGFILE=$(OUTDIR)/adoc_extprocess_stderr.txt
$(EXTPROCESSGUIDE): $(EXTPROCESSSRC)

################################################
## Specification targets

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

# Use the AsciiDoctor rule
ASCIIDOCTOR_TARGETS += $(LOADERGUIDE)
ASCIIDOCTOR_TARGETS += $(HTMLSPEC)

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

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

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


################################################
# Reference "man" pages extracted from spec
Expand Down Expand Up @@ -461,7 +485,7 @@ all:
$(QUIET)$(MAKE) header
$(QUIET)if [ -f $(TESTSRC) ]; then $(MAKE) header-test; fi
$(QUIET)if [ -f $(SPECSRC) ]; then $(MAKE) html pdf build-examples; fi
$(QUIET)if [ -f $(STYLESRC) ]; then $(MAKE) styleguide; fi
$(QUIET)if [ -f $(STYLESRC) ]; then $(MAKE) styleguide extprocess; fi
$(QUIET)if [ -f $(LOADERSRC) ]; then $(MAKE) loader; fi
$(ECHO) ""
$(ECHO) "Target 'all': Completed specification build and basic checks successfully."
Expand All @@ -470,11 +494,12 @@ all:
################################################
# Meta build for releases. Also copies into approximately the right layout for the OpenXR-Registry repo.
REGISTRYOUTDIR = $(OUTDIR)/../registry-release/specs/$(MAJORMINORVER)
release: header html pdf manhtmlpages loader
release: header html pdf manhtmlpages loader styleguide extprocess
$(QUIET)$(MKDIR) $(REGISTRYOUTDIR)/pdf
$(QUIET)$(CP) $(PDFSPEC) $(REGISTRYOUTDIR)/pdf/xrspec.pdf
$(QUIET)$(MKDIR) $(REGISTRYOUTDIR)/html
$(QUIET)$(CP) $(HTMLSPEC) $(REGISTRYOUTDIR)/html/xrspec.html
$(QUIET)$(CP) $(OUTDIR)/styleguide.html $(OUTDIR)/extprocess.html $(REGISTRYOUTDIR)
$(QUIET)$(MKDIR) $(REGISTRYOUTDIR)/man
$(QUIET)$(CP) -R $(MANHTMLDIR) $(REGISTRYOUTDIR)/man/html

Expand Down
Loading

0 comments on commit e9d6121

Please sign in to comment.