Skip to content

Commit

Permalink
OpenXR SDK 1.0.18 (2021-07-30)
Browse files Browse the repository at this point in the history
This release mostly adds new extensions. It also includes some fixes to
the included layers, as well as text in the loader documentation
describing how runtimes can register themselves for manual selection.
This is not used by the loader itself and does not require any changes
to the loader, but it may be useful to developer-focused supporting
software.

-   Registry
    -   Add ratified XR_KHR_swapchain_usage_input_attachment_bit Khronos
        extension. (Promotion of
        XR_MND_swapchain_usage_input_attachment_bit, which is now
        deprecated.) (internal MR 2045)
    -   Add new XR_FB_foveation, XR_FB_foveation_configuration, and
        XR_FB_foveation_vulkan vendor extensions. (internal MR 2050)
    -   Add additional extension dependencies to
        XR_FB_swapchain_update_state. (internal MR 2072, internal issue
        1572)
    -   Add new XR_FB_composition_layer_secure_content vendor extension.
        (internal MR 2075)
    -   Add new XR_FB_composition_layer_alpha_blend vendor extension.
        (internal MR 2078)
    -   Add new XR_FB_composition_layer_image_layout vendor extension.
        (internal MR 2090)
    -   Add new XR_MSFT_spatial_anchor_persistence vendor extension.
        (internal MR 2093)
    -   Add some simple Schematron rules and a script to check the XML
        registry against them. (internal MR 2103)
    -   Register author ID and Reserve vendor extensions for Unity.
        (internal MR 2105)
    -   Reserve extension ID range 187-196 for LIV Inc. (internal MR
        2102)
-   SDK
    -   Describe how runtimes may register themselves at installation
        time for manual selection. (internal MR 2081, internal MR 2109,
        internal issue 1574)
    -   Include sRGB in list of supported swapchain texture formats for
        the HelloXR OpenGLES plugin. (internal MR 2066)
    -   layers: Refactor generated xrGetInstanceProcAddr implementations
        to avoid deeply-nested if ... else blocks. (Some compilers have
        limits we were nearing or hitting.) (internal MR 2050)
    -   validation layer: Set default logging mode to stdout (“text”)
        instead of none. (OpenXR-SDK-Source PR 262)
    -   validation layer: Fix invalid struct type error message to show
        the expected type instead of the actual type. (OpenXR-SDK-Source
        PR 263)
  • Loading branch information
rpavlik committed Jul 31, 2021
1 parent 1c55a12 commit 09cbbc9
Show file tree
Hide file tree
Showing 31 changed files with 776 additions and 192 deletions.
2 changes: 1 addition & 1 deletion .appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#
# SPDX-License-Identifier: Apache-2.0

version: 1.0.17.{build}
version: 1.0.18.{build}
image: Visual Studio 2017


Expand Down
1 change: 1 addition & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ trim_trailing_whitespace = true

[*.xml]
indent_style = space
trim_trailing_whitespace = true
indent_size = 4

[*.cmake,CMakeLists.txt]
Expand Down
7 changes: 0 additions & 7 deletions .reuse/dep5
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,6 @@ Copyright: 2020, Epic Games, Inc.
License: CC-BY-4.0
Comment: In-line license comments requested, https://gitlab.khronos.org/openxr/openxr/-/issues/1422

Files: specification/sources/chapters/extensions/fb/fb_android_surface_swapchain_create.adoc
specification/sources/chapters/extensions/fb/fb_color_space.adoc
specification/sources/chapters/extensions/fb/fb_display_refresh_rate.adoc
Copyright: 2020, Facebook, Inc.
License: CC-BY-4.0
Comment: In-line license comments requested, https://gitlab.khronos.org/openxr/openxr/-/issues/1562

Files: specification/sources/chapters/extensions/oculus/oculus_android_session_state_enable.adoc
Copyright: 2019, Oculus VR, LLC.
License: CC-BY-4.0
Expand Down
53 changes: 53 additions & 0 deletions CHANGELOG.SDK.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,59 @@ 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.18 (2021-07-30)

This release mostly adds new extensions. It also includes some fixes to the
included layers, as well as text in the loader documentation describing how
runtimes can register themselves for manual selection. This is not used by the
loader itself and does not require any changes to the loader, but it may be
useful to developer-focused supporting software.

- Registry
- Add ratified `XR_KHR_swapchain_usage_input_attachment_bit` Khronos extension.
(Promotion of `XR_MND_swapchain_usage_input_attachment_bit`, which is now
deprecated.)
([internal MR 2045](https://gitlab.khronos.org/openxr/openxr/merge_requests/2045))
- Add new `XR_FB_foveation`, `XR_FB_foveation_configuration`, and
`XR_FB_foveation_vulkan` vendor extensions.
([internal MR 2050](https://gitlab.khronos.org/openxr/openxr/merge_requests/2050))
- Add additional extension dependencies to `XR_FB_swapchain_update_state`.
([internal MR 2072](https://gitlab.khronos.org/openxr/openxr/merge_requests/2072),
[internal issue 1572](https://gitlab.khronos.org/openxr/openxr/issues/1572))
- Add new `XR_FB_composition_layer_secure_content` vendor extension.
([internal MR 2075](https://gitlab.khronos.org/openxr/openxr/merge_requests/2075))
- Add new `XR_FB_composition_layer_alpha_blend` vendor extension.
([internal MR 2078](https://gitlab.khronos.org/openxr/openxr/merge_requests/2078))
- Add new `XR_FB_composition_layer_image_layout` vendor extension.
([internal MR 2090](https://gitlab.khronos.org/openxr/openxr/merge_requests/2090))
- Add new `XR_MSFT_spatial_anchor_persistence` vendor extension.
([internal MR 2093](https://gitlab.khronos.org/openxr/openxr/merge_requests/2093))
- Add some simple [Schematron](https://schematron.com) rules and a script to
check the XML registry against them.
([internal MR 2103](https://gitlab.khronos.org/openxr/openxr/merge_requests/2103))
- Register author ID and Reserve vendor extensions for Unity.
([internal MR 2105](https://gitlab.khronos.org/openxr/openxr/merge_requests/2105))
- Reserve extension ID range 187-196 for LIV Inc.
([internal MR 2102](https://gitlab.khronos.org/openxr/openxr/merge_requests/2102))
- SDK
- Describe how runtimes may register themselves at installation time for manual
selection.
([internal MR 2081](https://gitlab.khronos.org/openxr/openxr/merge_requests/2081),
[internal MR 2109](https://gitlab.khronos.org/openxr/openxr/merge_requests/2109),
[internal issue 1574](https://gitlab.khronos.org/openxr/openxr/issues/1574))
- Include sRGB in list of supported swapchain texture formats for the HelloXR
OpenGLES plugin.
([internal MR 2066](https://gitlab.khronos.org/openxr/openxr/merge_requests/2066))
- layers: Refactor generated `xrGetInstanceProcAddr` implementations to avoid
deeply-nested `if ... else` blocks. (Some compilers have limits we were nearing
or hitting.)
([internal MR 2050](https://gitlab.khronos.org/openxr/openxr/merge_requests/2050))
- validation layer: Set default logging mode to stdout ("text") instead of none.
([OpenXR-SDK-Source PR 262](https://github.com/KhronosGroup/OpenXR-SDK-Source/pull/262))
- validation layer: Fix invalid struct type error message to show the expected
type instead of the actual type.
([OpenXR-SDK-Source PR 263](https://github.com/KhronosGroup/OpenXR-SDK-Source/pull/263))

## OpenXR SDK 1.0.17 (2021-06-08)

This release features an important fix to the loader for an invalid-iterator bug
Expand Down
2 changes: 1 addition & 1 deletion COPYING.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ project.
Q: Can I contribute changes to the OpenXR Specification?

A: Yes, by opening an Issue or Pull Request (PR) on the
link:https://github.com/KhronosGroup/OpenXR-Docs/[OpenXR-Docs] Github
link:https://github.com/KhronosGroup/OpenXR-Docs/[OpenXR-Docs] GitHub
project.
You must execute a click-through Contributor License Agreement, which brings
your changes under the umbrella of the Khronos IP policy.
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,11 @@ and omits the samples, tests, and API layers, as they are not typically built as
- `src/loader` - OpenXR loader code
- `src/tests` - various test code (if looking for sample code start with `hello_xr/`)

Currently the best sample code is in [src/tests/hello_xr/](https://github.com/KhronosGroup/OpenXR-SDK-Source/tree/master/src/tests/hello_xr). More will be added in the future.
Currently the best sample code is in [src/tests/hello_xr/](src/tests/hello_xr). More will be added in the future.

## Building

See [BUILDING.md](https://github.com/KhronosGroup/OpenXR-SDK-Source/blob/master/BUILDING.md)
See [BUILDING.md](BUILDING.md)

## Note about `git blame`

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

This file was deleted.

2 changes: 0 additions & 2 deletions changes/sdk/pr.263.gh.OpenXR-SDK-Source.md

This file was deleted.

4 changes: 3 additions & 1 deletion changes/template.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,14 @@
{%- if service == "gh" -%}
{%- set project = ref.service_params[1] %}
{%- set project_base = "https://github.com/KhronosGroup/" + project %}
{%- set link_text %}{{ project }}/#{{ ref.number }}{% endset %}
{%- if ref.item_type == "issue" -%}
{%- set subdir = "issues" %}
{%- set kind = "issue" %}
{%- else -%}
{%- set subdir = "pull" %}
{%- set kind = "PR" %}
{%- endif -%}
{%- set link_text %}{{ project }} {{ kind }} {{ ref.number }}{% endset %}
{%- else -%}
{%- set project_base = "https://gitlab.khronos.org/openxr/openxr" %}
{%- if ref.item_type == "issue" -%}
Expand Down
55 changes: 30 additions & 25 deletions checkCodespell
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@
# limitations under the License.

# checkCodespell - Run the codespell (https://github.com/codespell-project/codespell)
# tool on the specification, registry, scripts, and source. Forwards any command line arguments
# on to the codespell invocation.
# tool on the specification, registry, scripts, and source. Forwards any
# command line arguments on to the codespell invocation.
#
# Usage: ./checkCodespell
# Any command-line arguments are passed along to the codespell call,
Expand All @@ -42,8 +42,10 @@ CODESPELL_IGNORE=${CODESPELL_IGNORE:-${DEFAULT_CODESPELL_IGNORE}}
# Add to this list when codespell mis-identifies a term actually used as a misspelling
# (comma-delimited)
# .Nd is used for a description in a mandoc manpage.
# Wee and Ser are names
IGNORE_WORDS="lod,LOD,nd,wee,ser,nuber"
# ba is from a regex
# unknwn is a header file name
# Wee, Ser, Nuber, Blok are names
IGNORE_WORDS="lod,nd,ba,unknwn,wee,ser,nuber,blok"

# Add to this to exclude individual files or directories (comma-delimited)
# - Skipping external code.
Expand All @@ -60,27 +62,30 @@ CODESPELL=${CODESPELL:-${which_codespell}}

# This command is in a function so we can call it again easily to do a count.
doCodespell() {
${CODESPELL} --ignore-words-list="${IGNORE_WORDS}" \
# this use of git grep will ask git to list only text files in the repo
# under the given paths.
# the grep -v below it removes some files from the list: external sources,
# "not really fully text" files like svg and pdf,
# as well as HTML files with base64-encoded assets
git grep --files-with-matches -I '' -- \
"${ROOT}"/*.md \
"${ROOT}"/*.sh \
"${ROOT}"/*.bat \
"${ROOT}"/.azure-pipelines/ \
"${ROOT}"/changes/ \
"${ROOT}"/github/ \
"${ROOT}"/include/ \
"${ROOT}"/maintainer-scripts/ \
"${ROOT}"/specification/ \
"${ROOT}"/src/ \
"${ROOT}"/vuid_database/ \
| grep -E -v "(external|jsoncpp|stb_|[.]svg|[.]pdf|[.]html)" | \
xargs \
"${CODESPELL}" --ignore-words-list="${IGNORE_WORDS}" \
--skip="${SKIP}" \
--exclude-file=${ROOT}/openxr-codespell.exclude \
"$@" \
${ROOT}/*.md \
${ROOT}/*.sh \
${ROOT}/*.bat \
${ROOT}/include/ \
${ROOT}/specification/check* \
${ROOT}/specification/make* \
${ROOT}/specification/*.md \
${ROOT}/specification/loader/ \
${ROOT}/specification/registry/ \
${ROOT}/specification/scripts/*.py \
${ROOT}/specification/scripts/*.rb \
${ROOT}/specification/scripts/openxr-macros/*.rb \
${ROOT}/specification/sources/ \
${ROOT}/src \
${ROOT}/vuid_database/ \

# Keep a blank line after the last pattern, so that a trailing backslash is OK!
--exclude-file="${ROOT}"/openxr-codespell.exclude \
"$@"

}

echo "Using CODESPELL=${CODESPELL} - version $(${CODESPELL} --version)"
Expand All @@ -102,7 +107,7 @@ if [ $# -eq 0 ]; then

echo ""
echo "No arguments passed, so counting errors and comparing to CODESPELL_IGNORE=${CODESPELL_IGNORE}"
if [ ${CODESPELL_IGNORE} -ne ${DEFAULT_CODESPELL_IGNORE} ]; then
if [ "${CODESPELL_IGNORE}" -ne "${DEFAULT_CODESPELL_IGNORE}" ]; then
echo "Note: Manually-set CODESPELL_IGNORE is overriding the built in default value, DEFAULT_CODESPELL_IGNORE=${DEFAULT_CODESPELL_IGNORE}"
else
echo "(set from the built in default value, DEFAULT_CODESPELL_IGNORE)"
Expand Down
6 changes: 3 additions & 3 deletions maintainer-scripts/check-changelog-fragments.sh
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
#!/usr/bin/env bash
# Copyright 2020, Collabora, Ltd.
# Copyright 2020-2021, Collabora, Ltd.
# SPDX-License-Identifier: Apache-2.0

set -e

if [ $# -eq 0 ]; then
TOPIC=HEAD
MAINLINE=origin/master
MAINLINE=origin/main
elif [ $# -eq 1 ]; then
TOPIC=$1
MAINLINE=origin/master
MAINLINE=origin/main
elif [ $# -eq 2 ]; then
TOPIC=$1
MAINLINE=$2
Expand Down
6 changes: 6 additions & 0 deletions maintainer-scripts/common.sh
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@ makeSubset() {

COMMON_FILES=".gitignore .gitattributes .git-blame-ignore-revs CODE_OF_CONDUCT.md LICENSES .reuse .editorconfig"
export COMMON_FILES
COMMON_EXCLUDE_PATTERN="KhronosExperimental"
export COMMON_EXCLUDE_PATTERN

add_to_tar() {
set -e
Expand Down Expand Up @@ -126,6 +128,7 @@ getDocsFilenames() {
specification/sources/extprocess/ \
include/ \
specification/ \
| grep -v "${COMMON_EXCLUDE_PATTERN}" \
| grep -v "specification/loader" \
| grep -v "vuid[.]adoc" \
| grep -v "CMakeLists.txt" \
Expand Down Expand Up @@ -176,6 +179,7 @@ getSDKSourceFilenames() {
specification/README.md \
specification/requirements.txt \
src/ \
| grep -v "${COMMON_EXCLUDE_PATTERN}" \
| grep -v "conformance" \
| grep -v "template_gen_dispatch" \
| grep -v "catch2" \
Expand Down Expand Up @@ -208,6 +212,7 @@ getSDKFilenames() {
src/external/CMakeLists.txt \
src/external/jsoncpp \
src/.clang-format \
| grep -v "${COMMON_EXCLUDE_PATTERN}" \
| grep -v "gfxwrapper" \
| grep -v "include/.gitignore" \
| grep -v "images"
Expand Down Expand Up @@ -260,6 +265,7 @@ getConformanceFilenames() {
src/CMakeLists.txt \
src/common_config.h.in \
src/version.cmake \
| grep -v "${COMMON_EXCLUDE_PATTERN}" \
| grep -v "htmldiff" \
| grep -v "katex"
}
4 changes: 4 additions & 0 deletions specification/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,7 @@ diffs/
# Artifacts from converting/checking RELAX-NG Compact schema.
registry/registry.rng
registry/regenerated.rnc

# Schematron-related files
registry/schxslt-cli.jar
registry/report.srvl
5 changes: 3 additions & 2 deletions specification/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ ifneq (,$(strip $(VERY_STRICT)))
ASCIIDOC := $(ASCIIDOC) --failure-level WARN
endif

SPECREVISION = 1.0.17
SPECREVISION = 1.0.18
REVISION_COMPONENTS = $(subst ., ,$(SPECREVISION))
MAJORMINORVER = $(word 1,$(REVISION_COMPONENTS)).$(word 2,$(REVISION_COMPONENTS))

Expand Down Expand Up @@ -141,7 +141,7 @@ $(DEFINESHEAD): ../include/openxr/openxr_platform_defines.h
$(QUIET)$(MKDIR) $(@D)
$(QUIET)$(CP) $< $@

# Named target to geneate all headers
# Named target to generate all headers
header: $(GENHEADERS) $(DEFINESHEAD)
.PHONY: header

Expand Down Expand Up @@ -483,6 +483,7 @@ check-spec-links:
$(QUIET)if [ -f $(CHECK_MARKUP_SCRIPT) ] && [ -f $(SPECSRC) ]; then $(CHECK_MARKUP_SCRIPT) -Werror; fi
$(QUIET)if [ -f $(SPECSRC) ]; then $(PYTHON) $(CHECK_SPEC_LINKS_SCRIPT); fi
$(QUIET)if [ -f checkXml.sh ] && [ -f registry/registry.rnc ]; then env FAIL_IF_COULD_NOT_VALIDATE=false ./checkXml.sh; fi
$(QUIET)if [ -f checkSchematron.sh ] && [ -f registry/registry.sch ]; then ./checkSchematron.sh; fi
$(QUIET)$(PYTHON) $(SCRIPTS)/xml_consistency.py

.PHONY: check-spec-links
Expand Down
2 changes: 1 addition & 1 deletion specification/loader/api_layer.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -864,7 +864,7 @@ Therefore, it must follow some conventions and rules defined below:
*** It is an implicit API layer, it must: add it's own instance extension
contents to the list of extensions.
* For any OpenXR command the API layer intercepts, `xrGetInstanceProcAddr`
must: return a pointer to a local entry-point.
must: return a pointer to a local entry point.
** Otherwise it returns the value obtained by calling down the instance call
chain.

Expand Down
2 changes: 1 addition & 1 deletion specification/loader/design.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -768,7 +768,7 @@ const char *LoaderPlatformLibraryGetProcAddrError(
const std::string &path);
----
* pname:path must: be a constant string containing the name of the
entry-point that was attempted to be queried during the previous
entry point that was attempted to be queried during the previous
flink:LoaderPlatformLibraryGetProcAddr call.

The returned C-style character string contains any available
Expand Down
Loading

0 comments on commit 09cbbc9

Please sign in to comment.