Generated headers and sources for OpenXR loader.
This is a substantial update to the OpenXR specification. The OpenXR loader in
this release supports both OpenXR 1.0 and 1.1, and sample applications such as
hello_xr continue to only require OpenXR 1.0. The schema associated with the
xr.xml
description of OpenXR has received a small but breaking change, so
software that parses it may need an update accordingly. Additionally, the
protocol for the OpenXR loader on Android to communicate with system or
installable runtime brokers has been extended for improvfed backward- and
forward-compatibility; see the changes to the loader design document for more
information.
XR_KHR_locate_spaces
(internal MR 2272,
internal issue 1706)XR_KHR_maintenance1
(internal MR 3053)XR_VERSION_1_1
- OpenXR 1.1.
(internal MR 3053)XR_EXT_future
(internal MR 2610)XR_META_environment_depth
(internal MR 2771,
internal MR 3271)XR_OCULUS_android_session_state_enable
as deprecated.
(internal MR 3255)requiresCore
and requires
attributes of extension
, and feature
and
extension
attributes of require
, with a new depends
attribute.). This is
a breaking change of the XML schema, though in an infrequently processed
attribute. This corresponds to the change made in Vulkan 1.3.241.
(internal MR 3260)XR_EXT_future
.
(internal MR 2610)xrResultToString
and
xrStructureTypeToString
.
(internal MR 3284)ActiveRuntime
path cannot be parsed or found.
(internal MR 3015,
internal issue 2125)ActiveRuntime
path to fix bug.
(internal MR 3015)XR_KHR_maintenance1
and XR_VERSION_1_1
(internal MR 3053)Attached release artifacts are signed by specification editor Rylie Pavlik's key, with key fingerprint 45207B2B1E53E1F2755FF63CC5A2D593A61DBC9D. Link goes to full public key.
Additional binaries are available from the OpenXR-SDK-Source repo release 1.1.36
This release features a number of new multi-vendor and vendor extensions, additional functionality in the reflection header, as well as compatibility improvements for the loader on Android.
XR_EXT_user_presence
(internal MR 2706,
internal issue 1585)XR_META_recommended_layer_resolution
(internal MR 2570)XR_META_automatic_layer_filter
(internal MR 2696)XR_META_spatial_entity_mesh
(internal MR 2773)XR_FB_face_tracking2
(internal MR 2811)XR_VARJO_xr4_controller_interaction
(internal MR 3078)XR_FB_scene
: Update to spec version 4.
(internal MR 2774)XR_META_headset_id
and XR_FB_spatial_entity
: Drop XR_EXT_uuid
dependency,
they use the data structure but do not require any runtime support specific to
XR_EXT_uuid
(internal MR 2577)gfxwrapper_opengl
that did not affect the use in this repository
directly, but may affect downstream users of this code.
(internal MR 3215)/<path_to_apk>/my_apk_file.apk!/libs/libstuff.so
will not get blocked
(internal MR 3054)XR_KHR_LOADER_INIT_SUPPORT
.
(internal MR 3152,
internal MR 3159)xrEnumerateInstanceExtensionProperties
before calling xrInitializeLoaderKHR
on Android.
(internal MR 3159)openxr_reflection.h
: Add macros to list functions provided by each feature /
extension.
(internal MR 3129)Attached release artifacts are signed by specification editor Rylie Pavlik's key, with key fingerprint 45207B2B1E53E1F2755FF63CC5A2D593A61DBC9D. Link goes to full public key.
Additional binaries are available from the OpenXR-SDK-Source repo release 1.0.34
This release primarily adds new ratified functionality describing the loader
interaction with runtimes and API layers. Corresponding definitions are now in
the official openxr_loader_negotiation.h
generated header, rather than the
loader_interfaces.h
header previously shipped only with the OpenXR-SDK-Source
repository. This change only affects vendors of runtimes and API layers as well
as contributors to the OpenXR loader: applications do not directly use this API,
the loader uses it on their behalf. A number of other small fixes are also
included.
ANDROIDX
&
ANDROIDSYS
.
(internal MR 3086)loader_interfaces.h
to a new
generated header openxr_loader_negotiation.h
.
(internal MR 2807,
internal issue 1953)XR_KHR_android_thread_settings
: Fix the description of
XrAndroidThreadTypeKHR
enum values - they were swapped relative to their
implicit meaning from their name.
(internal MR 3077)XR_MNDX_egl_enable
: Update version to 2 to reflect function pointer type
change released in 1.0.29.
(OpenXR-Docs PR 159)loader_interfaces.h
header, migrating uses (in loader and
layers) to use the newly specified and ratified openxr_loader_negotiation.h
,
and adjust scripts for the addition of the loader negotiation APIs.
(internal MR 2807,
internal issue 1953,
internal MR 3122).mailmap
file in the public repositories, maintained separately
from the larger one used in the private monorepo, to correct names/emails
and unify contributor identities.GitOrigin-RevId: a561c5898b72f59965790790a28bbc3b7e9bcf13
Attached release artifacts are signed by specification editor Rylie Pavlik's key, with key fingerprint 45207B2B1E53E1F2755FF63CC5A2D593A61DBC9D. Link goes to full public key.
(Note that this is a new signing key for the specification editor: see https://ryliepavlik.com/work-key-transition-2023-11-17.txt for key transition statement.)
Additional binaries are available from the OpenXR-SDK-Source repo release 1.0.33
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 contains a number of build system cleanups and fixes. Users of the
Android Gradle Plugin and our official loader AAR file can now use the
OpenXR::headers
target just like on desktop: there is now metadata for the
"prefab" tool to generate for CMake both this header/include-only target and the
normal OpenXR::openxr_loader
imported library target. The shipped AAR is much
smaller due to stripping debug data from the binaries, which helps in case
application build systems do not automatically strip native binaries. A bug in
the loader Android manifest as shipped in 1.0.31 has also been fixed.
XR_KHR_maintenance1
(internal MR 3010)XR_KHR_game_controller
(internal MR 3019)XR_HTC_anchor
(internal MR 2667)XR_META_touch_controller_plus
(internal MR 2702)XR_ML_marker_understanding
(internal MR 2750)XR_ML_localization_map
(internal MR 2802,
internal MR 3045,
internal MR 3047)XR_KHR_loader_init
: New Khronos ratified revision, adds support for
forwarding loader init calls to API layers
(internal MR 2703)xrInitializeLoaderKHR
calls to enabled API layers if
XR_KHR_loader_init
is enabled, per ratified update to that extension.
(internal MR 2703)BUILD_LOADER_WITH_EXCEPTION_HANDLING
on Android.
(internal MR 2870,
OpenXR-SDK-Source PR 405,
internal issue 1999)OpenXR::headers
prefab imported target just as on
desktop builds
(internal MR 2886)<uses-sdk>
elements to Android loader AAR manifest,
to prevent the manifest merger from assuming a version < 4 and adding unneeded
permissions accordingly.
(internal MR 3029)
(internal MR 3032)OpenXR::headers
target when not building the loader.
(internal MR 2886,
OpenXR-SDK-Source issue 344,
internal issue 1872,
OpenXR-SDK-Source issue 419,
internal issue 2071,
internal MR 2987)namedtuple
usage to dataclass, and expose the definitions
for reuse.
(internal MR 2183).env
file.
(internal MR 2183)GitOrigin-RevId: 0a6bbc30cf10fdec436dfa81abf27747251a0821
Attached release artifacts are signed by specification editor Ryan Pavlik's key, with fingerprint F029455EAB70F520FF4A03BD7F534CD56F00321E.
Additional binaries are available from the OpenXR-SDK-Source repo release 1.0.32
This release features two new vendor extensions and minor extension XML revisions, in addition to compatibility and logging improvements in the software.
XR_KHR_egl_enable
.
(internal MR 2982)XR_MSFT_scene_marker
(internal MR 2601)XR_ML_user_calibration
(internal MR 2849)*CapacityInput
member.
(internal MR 2892,
internal issue 2059)XR_FB_render_model
: Fix structextends
attribute and remove returnedonly
attribute of XrRenderModelCapabilitiesRequestFB
, to match the specification
prose.
(internal MR 2765,
OpenXR-Docs issue 153,
internal issue 2017)_USE_GNU
ifdef, fixing
builds on some systems.
(internal MR 2981)jnipp
, used by the loader on Android, to no longer use
basic_string<>
with types that are technically not in the C++ specification
as permissible, to fix compatibility with an upcoming libc++
update.
(internal MR 2974,
internal issue 2094,
OpenXR-SDK-Source PR 426)GitOrigin-RevId: 38114c3ba8eb46d6fafe1761ed08e263ce132237
Attached release artifacts are signed by specification editor Ryan Pavlik's key, with fingerprint F029455EAB70F520FF4A03BD7F534CD56F00321E.
Additional binaries are available from the OpenXR-SDK-Source repo release 1.0.31
This release is primarily a quality improvement release, fixing a range of issues in the registry and SDK, including fixing a loader bug related to layers, in addition to a new vendor extension and an updated vendor extension.
XR_YVR_controller_interaction
(internal MR 2841)XR_BD_controller_interaction
: Add support for G3 devices
(internal MR 2872)openxr_runtime_list_json
.
(internal MR 2899)XR_KHR_headless
support as the extension
is not part of OpenXR 1.0.
(internal MR 2901)GitOrigin-RevId: f7a0c0f3691f0c7b0a239cb34e41d01042d5a02a
Attached release artifacts are signed by specification editor Ryan Pavlik's key, with fingerprint F029455EAB70F520FF4A03BD7F534CD56F00321E.
Additional binaries are available from the OpenXR-SDK-Source repo release 1.0.30
This release contains several fixes to the specification registry, improvements to the loader, layers, and loader test, as well as enhancements to the loader documentation/specification to support architecture and ABI specific active runtime manifest names on Linux and Android.
PFNEGLGETPROCADDRESSPROC
(for eglGetProcAddress
) to a locally
defined type to avoid compiler errors.
(internal MR 2468)XR_META_passthrough_preferences
(internal MR 2694)XR_HTCX_vive_tracker_interaction
: Added new role paths for wrists and ankles.
(internal MR 2728)/bigobj
or equivalent on Windows due to increased number
of generated functions with spec growth.
(internal MR 2837,
internal issue 2051,
OpenXR-SDK-Source PR 414)<queries>
element contents.
(internal MR 2840,
internal issue 2053)build-aar.sh
(internal MR 2836,
internal issue 2052)jar
instead of 7-zip to perform archiving, and
document requirements in build-aar.sh
(internal MR 2836,
OpenXR-SDK-Source issue 303,
internal issue 1711)xr_linear.h
(internal MR 2876)PFNEGLGETPROCADDRESSPROC
(for eglGetProcAddress
) to a locally
defined type to avoid compiler errors.
(internal MR 2468)loader_test
tests which require a valid extension
(internal MR 2790)loader_test
if api layer building is disabled
(internal MR 2843)XR_EXT_debug_utils
functions.
(internal MR 2865)Attached release artifacts are signed by specification editor Ryan Pavlik's key, with fingerprint F029455EAB70F520FF4A03BD7F534CD56F00321E.
Additional binaries are available from the OpenXR-SDK-Source repo release 1.0.29
This release contains improved compatibility and code quality fixes for the loader, support for loading certain API layers on Android-based devices, and a number of other improvements, in addition to the new extensions. Additionally, the loader documentation now describes how OpenXR handles compatibility with Android API levels of 30 and above: runtimes may need to update accordingly to support this compatibility solution.
xr.xml
for extension enum base and enum stride.
(internal MR 2693,
OpenXR-Docs issue 148,
internal issue 1979)XR_EXT_future
(internal MR 2631)ANDROID
author ID and reserve 15 extensions
for it.
(internal MR 2690)XR_KHR_extendable_action_binding
(internal MR 2779)xrGetControllerModelPropertiesMSFT
function.
(internal MR 2600)XR_EXT_hand_interaction
(internal MR 2116)XR_EXT_plane_detection
(internal MR 2510,
internal MR 2791)XR_EXT_hand_tracking_data_source
(internal MR 2568)XR_META_passthrough_color_lut
(internal MR 2507)XR_META_virtual_keyboard
(internal MR 2555)XR_OPPO_controller_interaction
(OpenXR-Docs PR 146)XR_FB_face_tracking
: Non-functional registry change, fixing a problem with
standalone headers.
(internal MR 2663)XR_FB_scene
: Introduce XrSemanticLabelsSupportInfoFB
and bump spec version
to 3.
(internal MR 2682)XR_FB_spatial_entity
and XR_FB_scene
: Add XR_ERROR_SIZE_INSUFFICIENT
return code to functions which use the two-call idiom.
(internal MR 2718)XR_FB_touch_controller_pro
: Fix XML to require the touch_controller_pro
interaction profile for the extension
(internal MR 2806)stdint.h
include to platform_utils.hpp
for GCC 13+
(OpenXR-SDK-Source PR 406)runClangFormat.sh
, and adjust source files so its
output matches the earlier version used on CI.
(internal MR 2666,
internal MR 2814)-Wundef
.
(internal MR 2717)-Wall
.
(internal MR 2754,
OpenXR-SDK-Source PR 410)queries
elements for an OpenXR application on
Android, so that runtime and layer components loaded in the application process
may access their own package in API >29.
(internal MR 2708)uint32_t
edge case handling.
(internal MR 2745)next
pointers in XR_EXT_debug_utils
label
structures.
(internal MR 2764)OpenXR::openxr_loader
and OpenXR::headers
so
that the loader and headers may be used the same whether you used
find_package(OpenXR)
on binaries or have included the source tree as a
subproject.
(internal MR 2793)Attached release artifacts are signed by specification editor Ryan Pavlik's key, with fingerprint F029455EAB70F520FF4A03BD7F534CD56F00321E.
Additional binaries are available from the OpenXR-SDK-Source repo release 1.0.28
This release contains a large list of improvements, including interaction
profile definitions in machine-readable format in the XML, consistent tool-based
formatting of the XML, a new list_json
tool to ease updates to
OpenXR-Inventory, and a wide variety of new vendor and multi-vendor
extensions, in addition to a collection of smaller improvements.
xr.xml
(internal MR 2485)XR_EXT_hand_tracking_usage
(internal MR 2550)XR_EXT_plane_detection
(internal MR 2565)XR_FB_composition_layer_depth_test
(internal MR 2208,
internal issue 1657)XR_META_foveation_eye_tracked
(internal MR 2239,
internal MR 2273,
internal MR 2332)XR_QCOM_tracking_optimization_settings
(internal MR 2261,
internal issue 1703)XR_META_local_dimming
(internal MR 2267,
internal MR 2595)XR_FB_spatial_entity_sharing
(internal MR 2274)XR_FB_scene_capture
(internal MR 2286)XR_FB_spatial_entity_storage_batch
(internal MR 2312)XR_FB_haptic_amplitude_envelope
(internal MR 2326)XR_FB_touch_controller_pro
(internal MR 2327,
internal issue 1916)XR_FB_haptic_pcm
(internal MR 2329)FB_face_tracking
(internal MR 2334,
internal MR 2539)XR_FB_eye_tracking_social
(internal MR 2336,
internal MR 2576)XR_FB_body_tracking
(internal MR 2339,
internal MR 2575)XR_OCULUS_external_camera
(internal MR 2397,
internal MR 2344)XR_FB_spatial_entity_user
(internal MR 2407)XR_FB_touch_controller_proximity
(internal MR 2412)XR_ML_global_dimmer
(internal MR 2461)XR_ML_frame_end_info
(internal MR 2462,
internal MR 2536)XR_ML_compat
(internal MR 2473)XR_EXT_local_floor
(internal MR 2503,
internal issue 746,
internal issue 1606,
OpenXR-Docs issue 103)XR_BD_controller_interaction
(internal MR 2527)XR_MNDX_force_feedback_curl
(OpenXR-Docs PR 136)deprecated
override provisional
when choosing extension table
of contents section.
(internal MR 2547)extensions/meta
from checkMarkup
now
that it no longer generated files.
(internal MR 2560)external/include/utils
.
(internal MR 2528)defined
to be treated as an operator.
(internal MR 2491)VK_EXT_debug_utils
extension,
and provide names for most Vulkan objects used by the app to aid in debugging.
(Utility code shared with CTS.)
(internal MR 2524,
internal MR 2579,
internal MR 2637)list_json
, a small app to print json similar to the schema
used by OpenXR-Inventory.
(internal MR 2541,
internal MR 2658)Attached release artifacts are signed by specification editor Ryan Pavlik's key, with fingerprint F029455EAB70F520FF4A03BD7F534CD56F00321E.
Additional binaries are available from the OpenXR-SDK-Source repo release 1.0.27
This release contains new reflection headers, fixes and improvements to the loader and hello_xr (especially on Android), some spec clarifications, improvements to tooling, and a variety of new vendor and multi-vendor extensions.
XR_EXT_active_action_set_priority
vendor extension.
(internal MR 2288,
internal issue 1699)XR_HTC_passthrough
vendor extension.
(internal MR 2349)XR_HTC_foveation
vendor extension.
(internal MR 2377)XR_COMPOSITION_LAYER_CORRECT_CHROMATIC_ABERRATION_BIT
saying
that it is not in use and planned for deprecation
(internal MR 2378,
internal issue 1751)XR_META_headset_id
vendor extension.
(internal MR 2410)XR_EXTX_overlay
: Fix XML markup to correct generated valid usage for the
event structure.
(internal MR 2307)XR_EXT_performance_settings
: Fix XML markup to correct generated valid usage,
bump revision.
(internal MR 2306)XR_HTCX_vive_tracker_interaction
: Fix XML markup to correct generated valid
usage for the event structure.
(internal MR 2310)XR_HTC_facial_tracking
: Update vendor extension to version 2.
(internal MR 2416)python3 scripts/genxr.py -registry registry/xr.xml -standaloneExtension XR_FB_color_space standalone_header
(internal MR 2417)openxr_reflection.h
(internal MR 2357)openxr_reflection_structs.h
and openxr_reflection_parent_structs.h
reflection headers, containing additional, limited reflection expansion macro
definitions.
(internal MR 2357)RegCloseKey
call.
(internal MR 2433)ANativeActivity_finish
.
(internal MR 2409,
OpenXR-SDK-Source issue 329,
internal issue 1820)android.permission.VIBRATE
permission needed by some runtimes
for the controller haptics.
(internal MR 2486)CMAKE_INSTALL_INCLUDEDIR
to specify included directories.
(OpenXR-SDK-Source PR 347)Attached release artifacts are signed by specification editor Ryan Pavlik's key, with fingerprint F029455EAB70F520FF4A03BD7F534CD56F00321E.
Additional binaries are available from the OpenXR-SDK-Source repo release 1.0.26