Skip to content

Commit 47c4761

Browse files
committed
OpenXR SDK 1.1.49 (2025-06-10)
This release primarily adds new extensions: a collection of ratified multi-vendor extensions related to “spatial entities”, multi-vendor extensions to work with interaction render models, and a vendor extension. - SDK - Improvement: Fix multiple clang-format formatting issues. (internal MR 3845) - Validation Layer: Add support for handles created by async operations. (internal MR 3030) - Registry - New ratified multi-vendor extension: XR_EXT_spatial_entity (internal MR 3030, internal MR 3874) - New ratified multi-vendor extension: XR_EXT_spatial_anchor (internal MR 3286, internal MR 3874) - New ratified multi-vendor extension: XR_EXT_spatial_plane_tracking (internal MR 3402) - New ratified multi-vendor extension: XR_EXT_spatial_marker_tracking (internal MR 3414) - New ratified multi-vendor extension: XR_EXT_spatial_persistence (internal MR 3533, internal MR 3874) - New ratified multi-vendor extension: XR_EXT_spatial_persistence_operations (internal MR 3606) - New multi-vendor extension: XR_EXT_render_model (internal MR 2464, internal MR 2095, internal MR 3225) - New multi-vendor extension: XR_EXT_interaction_render_models (internal MR 2615, internal issue 2353, internal MR 3551, internal MR 3629, internal MR 3710) - New vendor extension: XR_BD_spatial_plane (internal MR 3777) GitOrigin-RevId: 2e99af9ef196556ca73660092726899e05504b68
1 parent e74dcd9 commit 47c4761

File tree

9 files changed

+1272
-41
lines changed

9 files changed

+1272
-41
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.1.48.{build}
5+
version: 1.1.49.{build}
66
image: Visual Studio 2017
77

88

CHANGELOG.SDK.md

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

24+
## OpenXR SDK 1.1.49 (2025-06-10)
25+
26+
This release primarily adds new extensions: a collection of ratified
27+
multi-vendor extensions related to "spatial entities", multi-vendor extensions
28+
to work with interaction render models, and a vendor extension.
29+
30+
- SDK
31+
- Improvement: Fix multiple clang-format formatting issues.
32+
([internal MR 3845](https://gitlab.khronos.org/openxr/openxr/merge_requests/3845))
33+
- Validation Layer: Add support for handles created by async operations.
34+
([internal MR 3030](https://gitlab.khronos.org/openxr/openxr/merge_requests/3030))
35+
- Registry
36+
- New ratified multi-vendor extension: `XR_EXT_spatial_entity`
37+
([internal MR 3030](https://gitlab.khronos.org/openxr/openxr/merge_requests/3030),
38+
[internal MR 3874](https://gitlab.khronos.org/openxr/openxr/merge_requests/3874))
39+
- New ratified multi-vendor extension: `XR_EXT_spatial_anchor`
40+
([internal MR 3286](https://gitlab.khronos.org/openxr/openxr/merge_requests/3286),
41+
[internal MR 3874](https://gitlab.khronos.org/openxr/openxr/merge_requests/3874))
42+
- New ratified multi-vendor extension: `XR_EXT_spatial_plane_tracking`
43+
([internal MR 3402](https://gitlab.khronos.org/openxr/openxr/merge_requests/3402))
44+
- New ratified multi-vendor extension: `XR_EXT_spatial_marker_tracking`
45+
([internal MR 3414](https://gitlab.khronos.org/openxr/openxr/merge_requests/3414))
46+
- New ratified multi-vendor extension: `XR_EXT_spatial_persistence`
47+
([internal MR 3533](https://gitlab.khronos.org/openxr/openxr/merge_requests/3533),
48+
[internal MR 3874](https://gitlab.khronos.org/openxr/openxr/merge_requests/3874))
49+
- New ratified multi-vendor extension: `XR_EXT_spatial_persistence_operations`
50+
([internal MR 3606](https://gitlab.khronos.org/openxr/openxr/merge_requests/3606))
51+
- New multi-vendor extension: `XR_EXT_render_model`
52+
([internal MR 2464](https://gitlab.khronos.org/openxr/openxr/merge_requests/2464),
53+
[internal MR 2095](https://gitlab.khronos.org/openxr/openxr/merge_requests/2095),
54+
[internal MR 3225](https://gitlab.khronos.org/openxr/openxr/merge_requests/3225))
55+
- New multi-vendor extension: `XR_EXT_interaction_render_models`
56+
([internal MR 2615](https://gitlab.khronos.org/openxr/openxr/merge_requests/2615),
57+
[internal issue 2353](https://gitlab.khronos.org/openxr/openxr/issues/2353),
58+
[internal MR 3551](https://gitlab.khronos.org/openxr/openxr/merge_requests/3551),
59+
[internal MR 3629](https://gitlab.khronos.org/openxr/openxr/merge_requests/3629),
60+
[internal MR 3710](https://gitlab.khronos.org/openxr/openxr/merge_requests/3710))
61+
- New vendor extension: `XR_BD_spatial_plane`
62+
([internal MR 3777](https://gitlab.khronos.org/openxr/openxr/merge_requests/3777))
63+
2464
## OpenXR SDK 1.1.48 (2025-06-03)
2565

2666
This release makes a switch to 16KB page sizes for Android, to improve

specification/Makefile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ endif
3939
VERSIONS := XR_VERSION_1_0 XR_VERSION_1_1 XR_LOADER_VERSION_1_0
4040
VERSIONOPTIONS := $(foreach version,$(VERSIONS),-feature $(version))
4141

42-
SPECREVISION = 1.1.48
42+
SPECREVISION = 1.1.49
4343
REVISION_COMPONENTS = $(subst ., ,$(SPECREVISION))
4444
MAJORMINORVER = $(word 1,$(REVISION_COMPONENTS)).$(word 2,$(REVISION_COMPONENTS))
4545

@@ -674,12 +674,12 @@ release: release-htmlpdf manhtmlpages loader styleguide extprocess | $(REGISTRYO
674674

675675
# Files to clean up
676676
PYDIRT = diag.txt dumpReg.txt errwarn.txt *.pyc regdump.txt
677-
MANDIRT = $(MANGENERATED)
677+
MANDIRT = $(REFPATH)/
678678
DIRT = $(PYDIRT) $(MANDIRT) ERRS \#*
679679

680680
# Clean intermediate files
681681
clean_dirt:
682-
$(RM) $(DIRT)
682+
$(RMRF) $(DIRT)
683683

684684
# Generated directories and files to remove
685685
CLEAN_GEN_PATHS := \

specification/config/attribs.adoc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,8 @@ endif::doctype-manpage[]
104104
// glTF URIs
105105
:uri-gltf2: https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html
106106
:uri-gltf2-basisu: https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Khronos/KHR_texture_basisu
107+
:uri-gltf2-glb: https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html#glb-file-format-specification
108+
:uri-gltf-validator: https://github.com/KhronosGroup/glTF-Validator
107109

108110
// Vulkan URIs
109111
:uri-vk-ref-page-root: https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html

specification/registry/xr.xml

Lines changed: 1216 additions & 33 deletions
Large diffs are not rendered by default.

specification/scripts/xml_consistency.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,12 @@ def __init__(self):
222222
# This is warning about compatibility aliases, we already fixed this.
223223
"XR_FB_hand_tracking_capsules": ("Extension-defined name XR_FB_HAND_TRACKING_CAPSULE_POINT_COUNT has wrong or missing vendor tag: expected to end with FB",
224224
"Extension-defined name XR_FB_HAND_TRACKING_CAPSULE_COUNT has wrong or missing vendor tag: expected to end with FB",),
225+
"XrSpatialCapabilityEXT": (
226+
"Got an enum whose name does not match the pattern: the type is XrSpatialCapabilityEXT which would cause values to start with XR_SPATIAL_CAPABILITY_ but got a different longest common prefix XR_SPATIAL_CAPABILITY_MARKER_TRACKING_",
227+
),
228+
"XrSpatialCapabilityFeatureEXT": (
229+
"Got an enum whose name does not match the pattern: the type is XrSpatialCapabilityFeatureEXT which would cause values to start with XR_SPATIAL_CAPABILITY_FEATURE_ but got a different longest common prefix XR_SPATIAL_CAPABILITY_FEATURE_MARKER_TRACKING_",
230+
)
225231
}
226232

227233
conventions = APIConventions()

src/api_layers/core_validation.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -289,7 +289,7 @@ void CoreValidLogMessage(GenValidUsageXrInstanceInfo *instance_info, const std::
289289
objects.reserve(objects_info.size());
290290
std::transform(objects_info.begin(), objects_info.end(), std::back_inserter(objects),
291291
[](GenValidUsageXrObjectInfo const &info) {
292-
return XrSdkLogObjectInfo{info.handle, info.type};
292+
return XrSdkLogObjectInfo{info.handle, info.type}; // force code wrap
293293
});
294294

295295
// Setup our callback data once
@@ -351,9 +351,10 @@ void CoreValidLogMessage(GenValidUsageXrInstanceInfo *instance_info, const std::
351351
case RECORD_TEXT_FILE: {
352352
std::ofstream text_file;
353353
text_file.open(g_record_info.file_name, std::ios::out | std::ios::app);
354-
text_file << "[" << timestamp << "]"
354+
text_file << "[" << timestamp << "]" // force code wrap
355355
<< "[" << severity_string << " | " << message_id << " | " << command_name << "] : " << message
356356
<< std::endl;
357+
357358
if (!objects_info.empty()) {
358359
text_file << " Objects:" << std::endl;
359360
uint32_t count = 0;

src/common/gfxwrapper_opengl.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -382,7 +382,6 @@ Common defines
382382
#define OFFSETOF_MEMBER(type, member) (size_t) & ((type *)0)->member
383383
#define SIZEOF_MEMBER(type, member) sizeof(((type *)0)->member)
384384
#define BIT(x) (1 << (x))
385-
#define ROUNDUP(x, granularity) (((x) + (granularity)-1) & ~((granularity)-1))
386385
#ifndef MAX
387386
#define MAX(x, y) ((x > y) ? (x) : (y))
388387
#endif

src/tests/hello_xr/logger.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ void Write(Level severity, const std::string& msg) {
4444
std::ostringstream out;
4545
out.fill('0');
4646
out << "[" << std::setw(2) << now_tm.tm_hour << ":" << std::setw(2) << now_tm.tm_min << ":" << std::setw(2) << now_tm.tm_sec
47-
<< "." << std::setw(3) << milliseconds << "]"
47+
<< "." << std::setw(3) << milliseconds << "]" // force code wrap
4848
<< "[" << severityName[severity] << "] " << msg << std::endl;
4949

5050
std::lock_guard<std::mutex> lock(g_logLock); // Ensure output is serialized

0 commit comments

Comments
 (0)