Skip to content

Releases: KhronosGroup/OpenXR-CTS

OpenXR CTS 1.1.57.0

26 Feb 23:12
openxr-cts-1.1.57.0

Choose a tag to compare

OpenXR CTS 1.1.57.0 (2026-02-26)

Status

  • Approved by the Working Group 26-February-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

OpenXR CTS 1.1.54.0

18 Dec 22:26
openxr-cts-1.1.54.0

Choose a tag to compare

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 xrStructureTypeToString2KHR test.
      (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-prototypes compiler warnings.
      (internal MR 4107)
    • Improvement: Fix -Wdeprecated-literal-operator warnings in CTS.
      (internal MR 4108)
    • New test: Verify the presence of VK_KHR_image_format_list in the Vulkan
      device extension list when XR_KHR_vulkan_swapchain_format_list is enabled if
      XR_KHR_vulkan_enable2 is also enabled in XrApiLayer_runtime_conformance.
      (internal MR 3781)

OpenXR CTS 1.1.53.0

11 Nov 17:15
openxr-cts-1.1.53.0

Choose a tag to compare

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
      xrGetMetalGraphicsRequirementsKHR has 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_binding paths 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)

OpenXR CTS 1.1.52.0

17 Oct 18:41
openxr-cts-1.1.52.0

Choose a tag to compare

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_conformance disable_environment name
      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 in XrApiLayer_runtime_conformance.
      (internal MR 3939)
    • Improvement: Add stricter compiler flags.
      (internal MR 4028)
    • New test: XR_KHR_generic_controller test of selection rule.
      (internal MR 3288,
      internal issue 2220,
      internal MR 3018,
      internal MR 4019)

OpenXR CTS 1.1.51.0

04 Sep 20:18
openxr-cts-1.1.51.0

Choose a tag to compare

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

OpenXR CTS 1.1.50.0

15 Aug 19:05

Choose a tag to compare

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

OpenXR CTS 1.1.49.0

08 Jul 11:48

Choose a tag to compare

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

OpenXR CTS 1.1.48.0

13 Jun 23:47
openxr-cts-1.1.48.0

Choose a tag to compare

OpenXR CTS 1.1.48.0 (2025-06-12)

Status

  • Approved by the Working Group 12-June-2025
  • Will be withdrawn 2026-01-03, 180 days after the publication of the subsequent approved release, 1.1.49.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: Incorrect use of xrReleaseSwapchainImage in conformance_utils
      (internal MR 3753,
      internal issue 2439)
    • Fix: Copy conformance assets to install destination (regression).
      (internal MR 3818)
    • Fix: Reduce display test title length to avoid developer warnings.
      (internal MR 3824)
    • Fix: CTS usage doc typo of the [no_auto] test case tag.
      (internal MR 3830)
    • Fix: CTS usage leftover mention of testing over the product of API versions and
      other factors.
      (internal MR 3830)
    • Fix: Update test_xrStructureTypeToString.cpp to support longer struct names.
      (internal MR 3863)
    • Fix: Avoid using glCheckNamedFramebufferStatus in OpenGL plugin for
      compatibility.
      (internal MR 3878)
    • Fix: Revise how OpenGL compatibility is detected in the build system on
      Windows.
      (internal MR 3883)
    • Improvement: Adjust how CMake enables support for
      XR_KHR_convert_timespec_time, enabling the corresponding tests on Android by
      default.
      (internal MR 3810)
    • Improvement: CTS usage doc now includes --reporter console in all non-Android
      sample command lines to provide standard terminal progress output in addition
      to the official submission XML.
      (internal MR 3830)
    • Improvement: Minor code cleanup.
      (internal MR 3835)
    • Improvement: Allow for unsupported and invalid return for test_actions invalid
      paths.
      (internal MR 3842)
    • Improvement: Fix multiple clang-format formatting issues.
      (internal MR 3845)
    • New test: Add test for XR_KHR_android_surface_swapchain.
      (internal MR 3798)

OpenXR CTS 1.1.47.0

25 Apr 23:30
openxr-cts-1.1.47.0

Choose a tag to compare

OpenXR CTS 1.1.47.0 (2024-04-24)

Status

  • Approved by the Working Group 24-April-2024
  • Withdrawn 2025-12-10, 180 days after the publication of the subsequent approved release, 1.1.48.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.

(Note that the Windows binary archives have been updated to correct an errata, as the additional assets were initially omitted.)

See the attached Usage guide, in PDF or HTML format, for information on running the tests.

Changes

  • Conformance Tests
    • Fix: Better handle multi-config CMake generators in CTS build system for
      running from build tree.
      (internal MR 2794,
      internal issue 2431,
      OpenXR-CTS PR 102)
    • Fix: Account for "depends" of extensions in generated dependencies for
      automated availability tests
      (internal MR 3675)
    • Fix: Do not clamp max layers in "MaxLayers-noninteractive" test as we test
      submitting max+1 expecting failure. Always use exactly 4 swapchains to limit
      resource usage instead.
      (internal MR 3683,
      internal issue 2435)
    • Fix: Changed interactive "MaxLayer" test to "MinLayer" test to more accurately
      reflect specification constraints.
      (internal MR 3726)
    • Fix: Changed the "MaxLayer-noninteractive" test to emit a warning when failing
      to submit maxLayer layers, instead of an error.
      (internal MR 3726)
    • Fix: Correctly honor availability of top-level /user paths in
      "StateQueryFunctionsInteractive", given schema updates in spec 1.1.47 adding
      such paths to existing profiles.
      (internal MR 3783,
      internal issue 2498)
    • Fix: Prevent recursive copying of assets by Gradle, avoiding ballooning APK
      sizes between clean builds.
      (internal MR 3786,
      internal MR 3795,
      internal issue 2440)
    • Fix: Update vert.spv to correctly match vert.glsl.
      (internal MR 3787,
      internal issue 2509)
    • Fix: Do not validate
      XrEventDataReferenceSpaceChangePending::poseInPreviousSpace.orientation if
      XrEventDataReferenceSpaceChangePending::poseValid is false.
      (internal MR 3793)
    • Fix: Handling of xrCreateSwapchainAndroidSurfaceKHR in generated layer code.
      (OpenXR-CTS PR 99)
    • Improvement: Update Android target SDK version to 34 to eliminate Play Protect
      warning on install, and verify runtime can handle applications built with
      updated target SDK. (Minimum SDK remains 24.)
      (internal MR 3719)
    • New test: Add test cases for XrPose containing NaN.
      (internal MR 3705,
      internal MR 3714)
    • New test: Validate that the XrFovf values returned from xrLocateViews are
      valid, plus warn if left == right or up == down are equal (0 FOV in either
      direction) as that is permitted but likely to lead to undefined behavior when
      applications compute their projection matrix.
      (internal MR 3708,
      internal issue 2384)

OpenXR CTS 1.1.46.0

20 Mar 23:13
openxr-cts-1.1.46.0

Choose a tag to compare

OpenXR CTS 1.1.46.0 (2025-03-20)

Status

  • Approved by the Working Group 20-March-2025
  • Withdrawal effective 2025-10-22, 180 days after the publication of the subsequent approved release, 1.1.47.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

Note that this release substantially changes how tests are run: a separate full
test run is no longer needed for each of 1.0 and 1.1. See the usage document for
more information.

  • Conformance Tests
    • Fix: Fix glTF loading spinner using wrong pose, making the animation not
      visible.
      (internal MR 3648,
      internal issue 2389)
    • Fix: D3D11 validation error about depth stencil view array size.
      (internal MR 3691,
      internal issue 2337)
    • Fix: Build error with Clang on some systems.
      (internal MR 3704)
    • Fix: Mark the "MaxLayers" test as "[no_auto]".
      (internal MR 3718)
    • Fix: Android Studio build of conformance APK
      (internal MR 3736)
    • Fix: Add missed skips based on minApiVersion in tests that only run in 1.0.
      (internal MR 3738)
    • Improvement: Refactored usage of Android logging to be more consistent.
      (internal MR 2909)
    • Improvement: Split XR_EXT_active_action_set_priority tests from
      xrSyncActions tests to have priorities tested enabled and disabled.
      (internal MR 3505)
    • Improvement: Replace --apiVersion argument with --minApiVersion, and
      automatically use higher versions when available if required or if behaviour
      may differ.
      (internal MR 3576)
    • Improvement: WARN when the runtime allows the application to create an
      instance with XR_EXT_dpad_binding but without XR_KHR_binding_modification
      (internal MR 3676)
    • Improvement: Clear and render all texture array indices in Swapchains test.
      (internal MR 3691,
      internal issue 2337)
    • Improvement: Recognize enabling XR_MND_headless in Android entry point and
      skip appending graphics plugin.
      (internal MR 3739)
    • Improvement: Change a runtime assert to a static assert.
      (internal MR 3740)