Skip to content

Commit

Permalink
OpenXR Specification 1.0.32 (2023-11-29)
Browse files Browse the repository at this point in the history
This release contains a number of vendor extensions, plus a new ratified
revision to the XR_KHR_loader_init extension that specifies forwarding
the init calls to API layers. Vendors of API layers, primarily on
Android, must verify they can handle being passed XR_NULL_HANDLE for the
instance parameter of xrGetInstanceProcAddr, to avoid bugs when using
the updated loader. This release also features the remaining
“checkSpecLinks” consistency warning fixes in the manually-written
specification text in extensions.

-   Registry
    -   XR_KHR_loader_init: New Khronos ratified revision, adds support
        for forwarding loader init calls to API layers (internal MR
        2703)
    -   Extension reservation: Reserve extension id for
        XR_KHR_maintenance1 (internal MR 3010)
    -   Extension reservation: Reserve extension id for
        XR_KHR_game_controller (internal MR 3019)
    -   New vendor extension: XR_HTC_anchor (internal MR 2667)
    -   New vendor extension: XR_META_touch_controller_plus (internal MR
        2702)
    -   New vendor extension: XR_ML_marker_understanding (internal MR
        2750)
    -   New vendor extension: XR_ML_localization_map (internal MR 2802,
        internal MR 3045, internal MR 3047)
-   Specification
    -   XR_KHR_loader_init: New Khronos ratified revision, now
        additionally specifies forwarding loader init calls to API
        layers (internal MR 2703)
    -   Fix “checkSpecLinks” warnings about member and parameter
        references in extensions to the specification. This has changed
        the documentation of a number of structures and functions across
        several extensions, although the C prototypes/definitions in the
        spec as well as the header file contents have stayed constant.
        (internal MR 2970)
    -   New vendor extension specification: XR_HTC_anchor (internal MR
        2667)
    -   New vendor extension specification:
        XR_META_touch_controller_plus (internal MR 2702)
    -   New vendor extension specification: XR_ML_marker_understanding
        (internal MR 2750)
    -   New vendor extension specification: XR_ML_localization_map
        (internal MR 2802, internal MR 3045, internal MR 3047)

GitOrigin-RevId: 0a6bbc30cf10fdec436dfa81abf27747251a0821
  • Loading branch information
rpavlik committed Nov 29, 2023
1 parent b55eb23 commit 2b616d9
Show file tree
Hide file tree
Showing 33 changed files with 2,582 additions and 108 deletions.
6 changes: 6 additions & 0 deletions .env
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Copyright (c) 2022-2023, The Khronos Group Inc.
#
# SPDX-License-Identifier: Apache-2.0

# Improves the Python editing experience with vscode.
PYTHONPATH=specification/scripts:src/scripts:external/python
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ CMakeFiles
*.tar.gz
*.log
pregen/
sources-jar/
docs-jar/
generated-includes
cmake_install.cmake
cmake_uninstall.cmake
Expand Down Expand Up @@ -60,7 +62,7 @@ local.properties
!.azure-pipelines/nuget/NugetTemplate/build
!.clang-format
!.clang-tidy
!.cmake-format.json
!.cmake-format.py
!.editorconfig
!.git-blame-ignore-revs
!.git-keep
Expand All @@ -73,11 +75,13 @@ local.properties
!.markdownlint.yaml
!.proclamation.json
!.reuse
!/.env

# Output artifact
*.aar
*.pom
clang-format-patches/
/*.jar

# Key stores
*.jks
4 changes: 2 additions & 2 deletions .proclamation.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"#": "This is a config file for proclamation, the changelog combiner: https://gitlab.com/ryanpavlik/proclamation",
"$schema": "https://ryanpavlik.gitlab.io/proclamation/proclamation.schema.json",
"#": "This is a config file for proclamation, the changelog combiner: https://gitlab.com/proclamation/proclamation",
"$schema": "https://proclamation.gitlab.io/proclamation/proclamation.schema.json",
"projects": [
{
"project_name": "OpenXR SDK",
Expand Down
49 changes: 49 additions & 0 deletions CHANGELOG.Docs.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,55 @@ any public pull requests that have been accepted.
This changelog only lists changes that affect the registry,
headers, and/or specification text.

## OpenXR Specification 1.0.32 (2023-11-29)

This release contains a number of vendor extensions, plus a new ratified
revision to the `XR_KHR_loader_init` extension that specifies forwarding the
init calls to API layers. **Vendors of API layers**, primarily on Android, must
verify they can handle being passed `XR_NULL_HANDLE` for the instance parameter
of `xrGetInstanceProcAddr`, to avoid bugs when using the updated loader. This
release also features the remaining "checkSpecLinks" consistency warning fixes
in the manually-written specification text in extensions.

- Registry
- `XR_KHR_loader_init`: New Khronos ratified revision, adds support for
forwarding loader init calls to API layers
([internal MR 2703](https://gitlab.khronos.org/openxr/openxr/merge_requests/2703))
- Extension reservation: Reserve extension id for `XR_KHR_maintenance1`
([internal MR 3010](https://gitlab.khronos.org/openxr/openxr/merge_requests/3010))
- Extension reservation: Reserve extension id for `XR_KHR_game_controller`
([internal MR 3019](https://gitlab.khronos.org/openxr/openxr/merge_requests/3019))
- New vendor extension: `XR_HTC_anchor`
([internal MR 2667](https://gitlab.khronos.org/openxr/openxr/merge_requests/2667))
- New vendor extension: `XR_META_touch_controller_plus`
([internal MR 2702](https://gitlab.khronos.org/openxr/openxr/merge_requests/2702))
- New vendor extension: `XR_ML_marker_understanding`
([internal MR 2750](https://gitlab.khronos.org/openxr/openxr/merge_requests/2750))
- New vendor extension: `XR_ML_localization_map`
([internal MR 2802](https://gitlab.khronos.org/openxr/openxr/merge_requests/2802),
[internal MR 3045](https://gitlab.khronos.org/openxr/openxr/merge_requests/3045),
[internal MR 3047](https://gitlab.khronos.org/openxr/openxr/merge_requests/3047))
- Specification
- `XR_KHR_loader_init`: New Khronos ratified revision, now additionally specifies
forwarding loader init calls to API layers
([internal MR 2703](https://gitlab.khronos.org/openxr/openxr/merge_requests/2703))
- Fix "checkSpecLinks" warnings about member and parameter references in
extensions to the specification. This has changed the documentation of a number
of structures and functions across several extensions, although the C
prototypes/definitions in the spec as well as the header file contents have
stayed constant.
([internal MR 2970](https://gitlab.khronos.org/openxr/openxr/merge_requests/2970))
- New vendor extension specification: `XR_HTC_anchor`
([internal MR 2667](https://gitlab.khronos.org/openxr/openxr/merge_requests/2667))
- New vendor extension specification: `XR_META_touch_controller_plus`
([internal MR 2702](https://gitlab.khronos.org/openxr/openxr/merge_requests/2702))
- New vendor extension specification: `XR_ML_marker_understanding`
([internal MR 2750](https://gitlab.khronos.org/openxr/openxr/merge_requests/2750))
- New vendor extension specification: `XR_ML_localization_map`
([internal MR 2802](https://gitlab.khronos.org/openxr/openxr/merge_requests/2802),
[internal MR 3045](https://gitlab.khronos.org/openxr/openxr/merge_requests/3045),
[internal MR 3047](https://gitlab.khronos.org/openxr/openxr/merge_requests/3047))

## OpenXR Specification 1.0.31 (2023-10-18)

This release features two new vendor extensions, some XML revisions to other
Expand Down
4 changes: 2 additions & 2 deletions changes/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ If you want to preview the changelog or perform a release, you can run a command
like the following to install it locally:

```sh
pip3 install proclamation
pipx install proclamation
```

See <https://gitlab.com/ryanpavlik/proclamation> for more details on *proclamation*.
See <https://gitlab.com/proclamation/proclamation> for more details on *proclamation*.

## Fragments

Expand Down
2 changes: 1 addition & 1 deletion specification/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ ifneq (,$(strip $(VERY_STRICT)))
ASCIIDOC := $(ASCIIDOC) --failure-level WARN
endif

SPECREVISION = 1.0.31
SPECREVISION = 1.0.32
REVISION_COMPONENTS = $(subst ., ,$(SPECREVISION))
MAJORMINORVER = $(word 1,$(REVISION_COMPONENTS)).$(word 2,$(REVISION_COMPONENTS))

Expand Down
2 changes: 1 addition & 1 deletion specification/current_version.ini
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@
# Similarly, update specification/scripts/extensionmetadocgenerator.py as well.
MAJOR=1
MINOR=0
PATCH=31
PATCH=32
10 changes: 10 additions & 0 deletions specification/example-builds/ml_localization_map.0.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
/*
** Copyright (c) 2017-2023, The Khronos Group Inc.
**
** SPDX-License-Identifier: Apache-2.0
*/


XrInstance instance;
XrSession session;
PFN_xrQueryLocalizationMapsML xrQueryLocalizationMapsML;
7 changes: 7 additions & 0 deletions specification/example-builds/ml_localization_map.1.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
/*
** Copyright (c) 2017-2023, The Khronos Group Inc.
**
** SPDX-License-Identifier: Apache-2.0
*/

XrInstance instance;
7 changes: 7 additions & 0 deletions specification/example-builds/ml_marker_understanding.0.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
/*
** Copyright (c) 2017-2023, The Khronos Group Inc.
**
** SPDX-License-Identifier: Apache-2.0
*/

#include <unordered_map>
3 changes: 2 additions & 1 deletion specification/registry/registry.sch
Original file line number Diff line number Diff line change
Expand Up @@ -844,7 +844,8 @@
'/interaction_profiles/bytedance/pico_neo3_controller',
'/interaction_profiles/bytedance/pico4_controller',
'/interaction_profiles/bytedance/pico_g3_controller',
'/interaction_profiles/facebook/touch_controller_pro'
'/interaction_profiles/facebook/touch_controller_pro',
'/interaction_profiles/meta/touch_controller_plus'
)"/>
<sch:assert test="ends-with(@name, $vendor-tag) or $is_exception">
Interaction Profile name must end with vendor tag _vendor ('<sch:value-of select="$vendor-tag" />'). '<sch:value-of select="@name" />' if it is introduced in an extension.
Expand Down
Loading

0 comments on commit 2b616d9

Please sign in to comment.