Releases: KhronosGroup/OpenXR-CTS
Release list
OpenXR CTS 1.1.61.0
OpenXR CTS 1.1.61.0 (2026-07-09)
Status
- Approved by the Working Group 09-July-2026
- Not yet subject to a withdrawal vote.
Assets
There are (or will be) Windows and Android binaries attached to this release. While use of them is recommended for maximum compatibility, it is not required; you may follow the "porting process" in the conformance process document.
See the attached Usage guide, in PDF or HTML format, for information on running the tests.
Changes
Note that this release includes one change to the XML, merged post 1.1.61 spec
release, correcting an error in vendor extension numbers.
- Conformance Tests
- Fix: Resolve issue in
xrSyncActionstest validation withXR_MND_headless
enabled.
(internal MR 4364) - Fix: Resolve invalid hand tracking data source assumption in
test_XR_FB_hand_tracking_mesh.cpp
(internal MR 4366,
internal issue 2761) - Improvement: Add reference image and description to
XR_EXT_interaction_render_modelinteractive tests.
(internal MR 4322) - Improvement: Add CMake test to run the CTS with the
XR_APILAYER_KHRONOS_best_practices_validation.
(internal MR 4330) - Improvement: Report unsupported swapchain usage flags only once.
(internal MR 4348) - New test: Pass an unrecognized structure in
xrCreateSession
XrSessionCreateInfo::nextchain so graphics binding is not the first chained
structure.
(internal MR 4290) - New test: Add tests for output buffers that are non-null-terminated when passed
in.
(internal MR 4311)
- Fix: Resolve issue in
OpenXR CTS 1.1.60.0
OpenXR CTS 1.1.60.0 (2026-05-28)
Status
- Approved by the Working Group 28-May-2026
- Will be withdrawn 2027-01-09, 180 days after the publication of the subsequent approved release, 1.1.61.0
Assets
There are (or will be) Windows and Android binaries attached to this release. While use of them is recommended for maximum compatibility, it is not required; you may follow the "porting process" in the conformance process document.
See the attached Usage guide, in PDF or HTML format, for information on running the tests.
Changes
- Conformance Tests
- Fix: Remove double free in
test_xrCreateInstance.
(internal MR 4283) - Fix: Correct a
XR_EXT_view_configuration_views_changetest to allow
XrEventDataViewConfigurationViewsChangedEXTevents to be sent at 1 Hz rate.
(internal MR 4284) - Fix: Resolve "warning X3206: implicit truncation of vector type?" in
PbrPixelShader.hlsl
(internal MR 4287) - Fix: Skip submitting the test name quad layer in headless mode when no
swapchain was created.
(internal MR 4306) - Fix: Reinitialize
XrViewConfigurationPropertiesbefore reuse after a Catch2
SECTION that modified the next chain to avoiduse-after-scopeasan problems.
(internal MR 4306) - Fix: Incorrect usage of pose and haptic actions in
test_actions.cpp.
(internal MR 4308) - Improvement: Write glTF files from
XR_EXT_render_modelto disk.
(internal MR 4169) - Improvement: More cleanup following
--environmentBlendModeargument removal.
(internal MR 4210,
internal MR 4211,
internal MR 4299) - Improvement: Better errors from Vulkan instance / device creation.
(internal MR 4235) - Improvement: Enable
-Wc++20-extensions.
(internal MR 4265) - Improvement:
XR_MND_headlesstests validate state transitions that should
happen after the call toxrBeginSession.
(internal MR 4271) - Improvement: Add CMake test to run the CTS with the
XR_APILAYER_LUNARG_api_dumplayer and test runtime (when layer and CTS are in
a single unified repo).
(internal MR 4301) - Improvement: Print the name of the
XrResultwhen hitting an invalid
XrResultreturn value from a function.
(internal MR 4304) - Improvement: Add CMake test to run the CTS with the
XR_APILAYER_LUNARG_core_validationlayer and test runtime (when layer and CTS
are in a single unified repo).
(internal MR 4306) - Improvement: Allow
test_XR_EXT_debug_utils.cppto work with non-STEREOview
config.
(internal MR 4316,
internal issue 2737) - Improvement: Reduced timeout in test for spurious recommended view changes in
tests ofXR_EXT_view_configuration_views_change.
(internal MR 4319) - New test: Interactive test for
XR_EXT_haptic_parametric
(internal MR 3307) - New test: Add test for
XR_EXT_interaction_profile_battery_state_display.
(internal MR 4220,
internal MR 4041) - Update: Include khr/generic_controller in the list of generic profiles in the
usage document.
(internal MR 4274)
- Fix: Remove double free in
OpenXR CTS 1.1.58.0
OpenXR CTS 1.1.58.0 (2026-04-09)
Status
- Approved by the Working Group 09-April-2026
- Will be withdrawn 2026-11-25, 180 days after the publication of the subsequent approved release, 1.1.60.0
Assets
There are (or will be) Windows and Android binaries attached to this release. While use of them is recommended for maximum compatibility, it is not required; you may follow the "porting process" in the conformance process document.
See the attached Usage guide, in PDF or HTML format, for information on running the tests.
Changes
- Conformance Tests
- Change: Update conformance layer generation to properly support extending
allowable return codes from extensions.
(internal MR 4009,
internal issue 2494) - Fix: Always verify depth format before using it.
(internal MR 4135,
internal MR 4096) - Fix: Ensure OpenGL context is only bound on current thread during
xrDestroySession, per the OpenXR spec threading requirements.
(internal MR 4139) - Fix: Resolve thread sanitizer error in
test_FrameSubmission.cpp.
(internal MR 4194,
internal MR 4139) - Fix: Correct some incorrect renders in the PBR self-tests on some Android
devices by increasing float precision.
(internal MR 4202) - Fix: Update instructions for
QuadPosestest to reflect correct colors.
(internal MR 4213) - Improvement: Deduplicate code in internal "gfxwrapper" library used in the CTS
(among other uses) for OpenGL/OpenGL ES. Add an explicit always-EGL path.
(internal MR 2942,
internal issue 1911) - Improvement: PBR: Add support for non-glTF meshes, wireframe rendering,
updating meshes in-place, and unlit shading
(internal MR 3921,
internal issue 2561,
internal issue 2562) - Improvement: implement
ValidateSwapchainImageStructsfor
VulkanGraphicsValidator
(internal MR 3995) - Improvement: Update Catch2 test library from 3.7.1 to 3.11.0, making minor test
changes as required.
(internal MR 4006,
internal issue 2108,
internal MR 4146,
internal issue 2659,
internal MR 4152) - Improvement: Update tiny-gltf library from 2.9.3 to 2.9.6.
(internal MR 4007,
internal issue 2108) - Improvement: Update basis_universal library from 1.16.4 to 1.50.0.
(internal MR 4008,
internal issue 2108) - Improvement: Remove
--environmentBlendModeargument and select an appropriate
supported environment blend mode on a per-test basis.
(internal MR 4087,
internal issue 2593,
internal issue 2594) - Improvement: Enable
-Werror=missing-prototypesmore widely.
(internal MR 4120) - Improvement: Code cleanup for performance improvement.
(internal MR 4123) - Improvement: Add example of specifying multiple interaction profiles for
interactive actions tests to the usage document.
(internal MR 4138,
internal MR 4127) - New test:
XR_EXT_view_configuration_views_changeextension.
(internal MR 711,
internal issue 619,
internal MR 4120,
internal MR 4234) - New test: Verify behavior of overlapping projection layers with those on top
being limited in their FoV.
(internal MR 3935) - New test: Add tests for mesh supplied by
XR_FB_hand_tracking_mesh.
(internal MR 4012) - New test: Add validation that
XR_REFERENCE_SPACE_TYPE_VIEWmatches views
returned fromxrLocateViews.
(internal MR 4041) - New test: Test blending with all supported environment blend modes.
(internal MR 4087,
internal issue 2593,
internal issue 2594)
- Change: Update conformance layer generation to properly support extending
OpenXR CTS 1.1.57.0
OpenXR CTS 1.1.57.0 (2026-02-26)
Status
- Approved by the Working Group 26-February-2026
- Will be withdrawn 2026-10-06, 180 days after the publication of the subsequent approved release, 1.1.58.0
Assets
There are (or will be) Windows and Android binaries attached to this release. While use of them is recommended for maximum compatibility, it is not required; you may follow the "porting process" in the conformance process document.
See the attached Usage guide, in PDF or HTML format, for information on running the tests.
Changes
- Conformance Tests
- Change: Update conformance layer generation to properly support extending
allowable return codes from extensions.
(internal MR 4009,
internal issue 2494) - Fix: Always verify depth format before using it.
(internal MR 4135,
internal MR 4096) - Improvement: Deduplicate code in internal "gfxwrapper" library used in the CTS
(among other uses) for OpenGL/OpenGL ES. Add an explicit always-EGL path.
(internal MR 2942,
internal issue 1911) - Improvement: Update Catch2 test library from 3.7.1 to 3.11.0, making minor test
changes as required.
(internal MR 4006,
internal issue 2108,
internal MR 4146,
internal issue 2659,
internal MR 4152) - Improvement: Update tiny-gltf library from 2.9.3 to 2.9.6.
(internal MR 4007,
internal issue 2108) - Improvement: Update basis_universal library from 1.16.4 to 1.50.0.
(internal MR 4008,
internal issue 2108) - Improvement: Code cleanup for performance improvement.
(internal MR 4123) - Improvement: Add example of specifying multiple interaction profiles for
interactive actions tests to the usage document.
(internal MR 4138,
internal MR 4127) - New test: Add validation that
XR_REFERENCE_SPACE_TYPE_VIEWmatches views
returned fromxrLocateViews.
(internal MR 4041)
- Change: Update conformance layer generation to properly support extending
OpenXR CTS 1.1.54.0
OpenXR CTS 1.1.54.0 (2025-12-18)
Status
- Approved by the Working Group 18-December-2025
- Will be withdrawn 2026-08-25, 180 days after the publication of the subsequent approved release, 1.1.57.0.
Assets
There are (or will be) Windows and Android binaries attached to this release. While use of them is recommended for maximum compatibility, it is not required; you may follow the "porting process" in the conformance process document.
See the attached Usage guide, in PDF or HTML format, for information on running the tests.
Changes
- Conformance Tests
- Change: Update C++ standard version used from C++14 to C++17.
(internal MR 4096) - Fix: Use correct buffer size constant for
xrStructureTypeToString2KHRtest.
(internal MR 4093) - Fix: Alpha channel values are to be propagated unchanged, not affected by
conversion between linear and non-linear sRGB representation
(internal MR 4109) - Fix: Remove leading newline from generated include file for shader.
(internal MR 4127) - Improvement:
XR_EXT_spatial_marker_tracking: If QR code has string data,
check that the string ends with a null terminator.
(internal MR 3913) - Improvement:
XR_EXT_spatial_marker_tracking: Replace "REQUIRE" with "CHECK"
for marker component data because we can still continue to render the markers
and test the bounded2D component even if the marker component data is invalid.
(internal MR 3913) - Improvement:
XR_EXT_spatial_marker_tracking: Create "update snapshot" for
discovered markers so that we render them at their latest pose.
(internal MR 3913) - Improvement: Add checks for
XrEventDataSessionStateChanged::time.
(internal MR 4048) - Improvement: Add additional test instructions for
XR_EXT_hand_tracking
interactive test.
(internal MR 4073) - Improvement: Add additional test instructions for
XR_EXT_spatial_anchor
interactive test.
(internal MR 4074) - Improvement: Force all tests to be printed in test XML.
(internal MR 4103) - Improvement: Fix
-Wmissing-prototypescompiler warnings.
(internal MR 4107) - Improvement: Fix
-Wdeprecated-literal-operatorwarnings in CTS.
(internal MR 4108) - New test: Verify the presence of
VK_KHR_image_format_listin the Vulkan
device extension list whenXR_KHR_vulkan_swapchain_format_listis enabled if
XR_KHR_vulkan_enable2is also enabled inXrApiLayer_runtime_conformance.
(internal MR 3781)
- Change: Update C++ standard version used from C++14 to C++17.
OpenXR CTS 1.1.53.0
OpenXR CTS 1.1.53.0 (2025-11-06)
Status
- Approved by the Working Group 06-November-2025
- Will be withdrawn 2026-06-16, 180 days after the publication of the subsequent approved release, 1.1.54.0.
Assets
There are (or will be) Windows and Android binaries attached to this release. While use of them is recommended for maximum compatibility, it is not required; you may follow the "porting process" in the conformance process document.
See the attached Usage guide, in PDF or HTML format, for information on running the tests.
Changes
- Conformance Tests
- Fix: Change conformance_layer debug utils callback return value to XR_FALSE to
match specification requirements.
(internal MR 4032) - Fix: Allow default Metal device to be created when
xrGetMetalGraphicsRequirementsKHRhas not been called, to test the error case
similar to other graphics plugins.
(internal MR 4039) - Fix: Skip "XR_FB_space_warp" test when no suitable swapchain format is
available.
(internal MR 4040) - Fix: Correctly define
XR_EXT_dpad_bindingpaths for
/interaction_profiles/bytedance/pico_ultra_controller_bd in XML, affecting
generated tests.
(internal MR 4049) - Fix: Copy vulkan layer json with conformance_cli.
(internal MR 4062) - Improvement: Clean up handle state creation and usage in the CTS layer, passing
handle state to hook implementations to reduce repeated mutex locking.
(internal MR 3809,
OpenXR-CTS PR 101,
internal MR 3808,
OpenXR-CTS PR 108) - Improvement: Handle graphics plugin
ShutdownDevice()calls in most cases with
a scope guard.
(internal MR 3941) - Improvement: Warn if the runtime does not support any commonly used depth
formats for swapchain creation.
(internal MR 3980,
internal issue 2111) - Improvement: Add self test for CTS, using the "do-nothing" test_runtime.
(internal MR 3989) - Improvement: Set Visual Studio working directory for
conformance_cli
(internal MR 4059)
- Fix: Change conformance_layer debug utils callback return value to XR_FALSE to
OpenXR CTS 1.1.52.0
OpenXR CTS 1.1.52.0 (2025-10-16)
Status
- Approved by the Working Group 16-October-2025
- Will be withdrawn 2026-05-09, 180 days after the publication of the subsequent approved release, 1.1.53.0
Assets
There are (or will be) Windows and Android binaries attached to this release. While use of them is recommended for maximum compatibility, it is not required; you may follow the "porting process" in the conformance process document.
See the attached Usage guide, in PDF or HTML format, for information on running the tests.
Changes
- Conformance Tests
- Fix: Rename
VK_LAYER_OPENXR_xr_runtime_conformancedisable_environmentname
to match layer.
(internal MR 3987) - Fix: Mark spatial entity tests which require tracking as "interactive".
(internal MR 3997) - Improvement: add a way to fail most tests that ask for human judgement to pass.
(internal MR 3853,
internal issue 2262) - Improvement: align the interaction method for most interactive tests. (Select
to pass, Menu to show help or do other action, Menu+Select to fail.) This means
that the instructions to pass have changed for the following tests:
"GripAndAimPose", "HapticInterrupt", "XR_EXT_palm_pose", "GripSurface-
XR_KHR_maintenance1", "GripSurface", and "XR_MSFT_controller_model-interactive"
(internal MR 3853,
internal issue 2262) - Improvement: enable clang-tidy bugprone-use-after-move check after fixing
issues discovered.
(internal MR 3891,
internal MR 4031) - Improvement: General improvements to reliability in the Vulkan API layer
embedded inXrApiLayer_runtime_conformance.
(internal MR 3939) - Improvement: Add stricter compiler flags.
(internal MR 4028) - New test:
XR_KHR_generic_controllertest of selection rule.
(internal MR 3288,
internal issue 2220,
internal MR 3018,
internal MR 4019)
- Fix: Rename
OpenXR CTS 1.1.51.0
OpenXR CTS 1.1.51.0 (2025-09-04)
Status
- Approved by the Working Group 04-September-2025
- Will be withdrawn 2026-04-14, 180 days after the publication of the subsequent approved release, 1.1.52.0.
Assets
There are (or will be) Windows and Android binaries attached to this release. While use of them is recommended for maximum compatibility, it is not required; you may follow the "porting process" in the conformance process document.
See the attached Usage guide, in PDF or HTML format, for information on running the tests.
Changes
- Conformance Tests
- Fix: Thread-safe unrecognized structure type mechanisms, and clarify names of
sections testing correct handling of unrecognized types.
(internal MR 3865) - Fix: Extension number calculation in
xrResultToString,
xrStructureTypeToString, andKHR_extended_struct_name_lengthtests.
(internal MR 3946,
internal issue 2544) - Fix: Move version directive to the first line of the OpenGL ES shaders. Similar
to PR 310 on OpenXR-SDK-Source.
(internal MR 3950) - Fix: Add explicit linker visibility for symbols in
XrApiLayer_conformance_layer.
(internal MR 3958) - Fix: Crash when skipping some tests due to missing view configuration type.
(internal MR 3988) - Fix: Warning from conformance layer when using
XR_MND_headlessand testing
it.
(OpenXR-CTS PR 110) - Improvement: Enable clang-tidy bugprone-casting-through-void check.
(internal MR 3865) - Improvement: Add clang-tidy exclusions for clang-tidy-20.
(internal MR 3906) - Improvement: Track custom session state on swapchains created via
xrCreateSwapchainAndroidSurfaceKHR()
(internal MR 3934,
internal issue 2572) - Improvement: Make it easier to track down failures in the "graphicsBindings"
test that enables all graphics bindings extensions.
(internal MR 3940) - New test: Validate that action bind state matches when suggesting a binding for
both a.../clickor.../valuepath and its parent (checking component
inference rules).
(internal MR 3702,
internal issue 1569,
internal MR 3962) - New test: Validate that action values match and that coercion rules are
followed when suggesting a binding for both a.../clickor.../valuepath
and its parent (checking component inference rules).
(internal MR 3702,
internal issue 1569,
internal MR 3962) - New test: Require
XR_SESSION_NOT_FOCUSEDfor haptics functions when minimum
version 1.1.
(internal MR 3902) - New test: Add tests for
XR_KHR_maintenance1grip_surfacesupport.
(internal MR 3938) - New test: interactive tests for
XR_FB_composition_layer_image_layout
(OpenXR-CTS PR 111,
internal issue 2591,
OpenXR-CTS PR 115,
internal MR 3969,
internal MR 3974)
- Fix: Thread-safe unrecognized structure type mechanisms, and clarify names of
OpenXR CTS 1.1.50.0
OpenXR CTS 1.1.50.0 (2025-08-14)
Status
- Approved by the Working Group 14-August-2025
- Will be withdrawn 2026-03-03, 180 days after the publication of the subsequent approved release, 1.1.51.0.
Assets
There are (or will be) Windows and Android binaries attached to this release. While use of them is recommended for maximum compatibility, it is not required; you may follow the "porting process" in the conformance process document.
See the attached Usage guide, in PDF or HTML format, for information on running the tests.
Changes
- Conformance Tests
- Fix: Crash in conformance layer when exiting the
"XR_KHR_android_surface_swapchain-interactive" test.
(internal MR 3910) - Fix: AlphaBlend mode in
EXT_spatial_entitytests was not respected.
(internal MR 3911) - Improvement: Add support for sanitizers in CMake with sanitizers-cmake project.
(internal MR 3716) - Improvement: Add Vulkan API layer interface and
VulkanGraphicsValidatorto
XrApiLayer_runtime_conformance, to allow correlating OpenXR and Vulkan API
state.
(internal MR 3760,
internal MR 3829,
internal MR 3912,
internal MR 3920,
internal MR 3930,
internal MR 3933,
internal MR 3917) - Improvement: add
.clang-tidyfile.
(internal MR 3802) - Improvement: Enable the clang-tidy cert-dcl16-c, bugprone-too-small-loop-
variable, and bugprone-switch-missing-default-case checks, making fixes
required to satisfy them.
(internal MR 3882,
internal MR 3893,
internal MR 3905) - Improvement: Disable the clang-tidy bugprone-reserved-identifier, cert-dcl37-c,
and cert-dcl51-cpp checks.
(internal MR 3882,
internal MR 3893,
internal MR 3905) - New test: Verify the runtime implementation
VkQueueaccess against the
specification inXrApiLayer_runtime_conformancethrough the
VulkanGraphicsValidator.
(internal MR 3760,
internal MR 3829,
internal MR 3912,
internal MR 3920,
internal MR 3930,
internal MR 3933,
internal MR 3917) - New test: Try submitting zero layers in both unknown session state and visible
session state.
(internal MR 3833,
internal issue 2296)
- Fix: Crash in conformance layer when exiting the
OpenXR CTS 1.1.49.0
OpenXR CTS 1.1.49.0 (2025-07-03)
Status
- Approved by the Working Group 03-July-2025
- Will be withdrawn 2026-02-11, 180 days after the publication of the subsequent approved release, 1.1.50.0.
Assets
There are (or will be) Windows and Android binaries attached to this release. While use of them is recommended for maximum compatibility, it is not required; you may follow the "porting process" in the conformance process document.
See the attached Usage guide, in PDF or HTML format, for information on running the tests.
Changes
- Conformance Tests
- Fix: Skip unsupported graphics tests with headless; and similarly skip tracking
tests for untracked systems.
(internal MR 3844) - Fix: Remove redundant device on/off sections in
StateQueryFunctionsInteractive.
(internal MR 3854,
internal issue 2277) - Improvement: Conformance utilities for writing tests for extensions based on
XR_EXT_render_model.
(internal MR 2464,
internal MR 3314) - Improvement: Conformance utilities for the
XR_EXT_spatial_*set of
extensions.
(internal MR 3030) - Improvement: Add timeout to
XR_EXT_hand_tracking-interactive.
(internal MR 3804,
internal issue 2418) - Improvement: Clean up frame iterator helper to improve ease of troubleshooting
conformance failures.
(internal MR 3821,
OpenXR-CTS PR 109) - Improvement: Fix some clang-tidy warnings and errors.
(internal MR 3886) - New test: Add test for
XR_EXT_render_model.
(internal MR 2464,
internal MR 3314) - New test: Add test for
XR_EXT_interaction_render_model.
(internal MR 2615,
internal MR 3240,
internal MR 3291,
internal MR 3870,
internal MR 3869,
internal MR 3881,
internal MR 3889,
internal MR 3895) - New test: Add test for
XR_EXT_spatial_anchor.
(internal MR 3286,
internal MR 3881,
internal MR 3887) - New test: Add test for
XR_EXT_spatial_plane_tracking.
(internal MR 3402,
internal MR 3881,
internal MR 3887) - New test: Add test for
XR_EXT_spatial_marker_tracking.
(internal MR 3414,
internal MR 3881,
internal MR 3887) - New test: Add test for
XR_EXT_spatial_persistence.
(internal MR 3533,
internal MR 3873,
internal MR 3887) - New test: Add test for
XR_EXT_spatial_persistence_operations.
(internal MR 3873)
- Fix: Skip unsupported graphics tests with headless; and similarly skip tracking