Skip to content

Releases: KhronosGroup/OpenXR-CTS

OpenXR CTS 1.1.43.0

12 Dec 23:14
openxr-cts-1.1.43.0
Compare
Choose a tag to compare

OpenXR CTS 1.1.43.0 (2024-12-12)

Status

  • Approved by the Working Group 12-December-2024
  • 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

  • Conformance Tests
    • Fix: Correctly load the glCompressedTexImage2D function
      (internal MR 3555,
      internal issue 2390)
    • Fix: Upload compressed and mip-mapped textures correctly on OpenGL and OpenGL
      ES
      (internal MR 3555,
      internal issue 2390)
    • Fix: Fix printing of some printf-based messages in the CTS.
      (internal MR 3582)
    • Fix: Broken Android builds - not runnable due to undefined symbol.
      (internal MR 3596)
    • Fix: Install manifest for conformance test layer
      (OpenXR-CTS PR 100)
    • Improvement: Simplify and refactor selection of swapchain formats.
      (internal MR 3368)
    • Improvement: Add ability to quit/fail test for XR_EXT_eye_gaze_interaction by
      closing your eyes or otherwise losing eye tracking for 10 seconds.
      (internal MR 3401,
      internal MR 3587)
    • Improvement: Add example image for Anisotropy Barn Lamp self-test
      (internal MR 3555)
    • Improvement: Rename types, fields, and variables to use the term "binding path"
      when appropriate. In the past these have sometimes been confusingly called
      "input sources" despite being unrelated to the paths returned from
      xrEnumerateBoundSourcesForAction and passed to
      xrGetInputSourceLocalizedName.
      (internal MR 3561)
    • Improvement: Code cleanup, documentation, and consistency improvements.
      (internal MR 3575,
      internal MR 3609)
    • Improvement: Update jnipp, used for Android loader builds. New version includes
      a build fix for some environments, as well as a crash fix.
      (internal MR 3589)
    • Improvement: Add Vulkan debug messages during Vulkan instance creation.
      (internal MR 3592)
    • Improvement: Test correct non-availability in the xrLocateSpacesKHR and
      xrLocateSpaces tests, as well as the non-interactive local floor tests.
      (internal MR 3619)
    • New test: Automated test that attempts to write from a compute shader to
      swapchain images in formats that support unordered access, via Vulkan. D3D11/12
      check flags to see that they could do so but do not yet actually attempt it.
      (internal MR 3379,
      internal issue 2162,
      internal issue 2400,
      internal MR 2597,
      internal MR 3600)

OpenXR CTS 1.1.42.0

08 Nov 21:45
openxr-cts-1.1.42.0
Compare
Choose a tag to compare

OpenXR CTS 1.1.42.0 (2024-11-07)

Status

  • Approved by the Working Group 07-November-2024
  • Will be withdrawn 2025-06-10, 180 days after the publication of the subsequent approved release, 1.1.43.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.

  • Update (2024-11-08): Android binaries removed due to a bug introduced by a new test, apply internal MR !3596 to fix it.
  • Update 2 (2024-11-13): A patch for this issue, already merged internally, has been pushed to the devel branch following the release. Conformance submissions for Android-based devices using this release should include that patch in their submission materials.

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

Changes

This release, like the previous one, has a separate "Usage Guide" document with
instructions and command lines, instead of a complex README. See the previous
release notes for more info.

There is one known issue in this release, but it only affects the self-tests
(not required for conformance) under OpenGL. Passing exclude:[self_test] when
running interactive tests with OpenGL will work around the issue. A fix is known
and in review, expected by next release.

  • Conformance Tests
    • Fix: Update generated code to allow - in interaction profile paths.
      (internal MR 3493)
    • Fix: Allow interaction profiles which do not expose boolean paths to be tested.
      (internal MR 3506)
    • Fix: Include interaction profile dependencies in generated binding path
      dependencies.
      (internal MR 3507,
      internal issue 2350)
    • Fix: Correctly parse and process interaction profile path and binding path
      dependencies from XML, and clean up code in interaction_profile_processor.py.
      (internal MR 3507,
      internal MR 3521)
    • Fix: Add missing XML description of EXT_hand_interaction additions to several
      interaction profiles, affecting generated interaction profile tests.
      (internal MR 3517,
      internal MR 3541,
      internal MR 3544)
    • Fix: remove unused functionPtr field in global FunctionInfoMap as it is
      invalid if called with a different instance.
      (internal MR 3547)
    • Fix: Correct an outdated description of the self tests in the Usage document:
      glTF files now load asynchronously in those tests.
      (internal MR 3553)
    • Fix: Internal cross-references in the "Submission Package" section of the Usage
      document.
      (internal MR 3562)
    • Improvement: Update stb_image from 2.27 to 2.30 (latest upstream) for fixes,
      security improvements, and optimizations.
      (internal MR 2578)
    • Improvement: Update stb_typetype to latest upstream for float comparison
      fixes.
      (internal MR 2578)
    • Improvement: Update Catch2 from v3.3.2 to v3.7.1, including our custom fork of
      the jUnit reporter. Provides build-time and runtime performance improvements,
      among other changes.
      (internal MR 2893)
    • Improvement: Reorganize session state tests and use test sections, annotating
      assertions with spec links.
      (internal MR 3017,
      internal MR 3468)
    • Improvement: Update tinygltf to version 2.9.3.
      (internal MR 3366)
    • Improvement: List failed test cases, and unmatched test specs, at end of CTS
      run.
      (internal MR 3489)
    • Improvement: Add warnings if supporting OpenXR 1.1 but not supporting optional,
      but recommended, extensions providing compatibility for OpenXR 1.0
      apps/engines.
      (internal MR 3499)
    • Improvement: Make generated interaction profile sources
      reproducible/deterministic.
      (internal MR 3507)
    • Improvement: Correct the build-time dependencies of the generated interaction
      profile data.
      (internal MR 3521)
    • Improvement: Note in the Usage document that
      /interaction_profiles/ext/hand_interaction_ext and
      /interaction_profiles/ext/eye_gaze_interaction are generic interaction
      profiles that should be tested if supported.
      (internal MR 3524,
      internal MR 3506)
    • Improvement: Added support for PRIMARY_STEREO_WITH_FOVEATED_INSET in
      xrLocateViews tests.
      (internal MR 3527,
      internal MR 3571)
    • Improvement: Add command lines for Android for the self tests in the Usage
      document.
      (internal MR 3553)
    • New test: Show a perceptively-smooth gradient in two swapchain formats or two
      layer types (projection vs quad), to do basic rendering verification. This
      primarily catches issues where non-linear textures are being interpreted as
      linear or vice-versa in a runtime's compositor.
      (internal MR 3351,
      internal issue 2239)
    • New test: Check xrCreateInstance patterns required by API layers.
      (internal MR 3415,
      internal issue 2333,
      OpenXR-CTS PR 94)
    • New test: Verify behavior when session state related calls occur out of order.
      (internal MR 3468,
      internal MR 3579)
    • New test: When using XR_FB_space_warp, verify runtime returns
      XR_ERROR_VALIDATION_FAILURE if nearZ is equal to farZ
      (internal MR 3523)
    • New test: Add additional assertions for xrGetInputSourceLocalizedName, after
      removing incorrect portions of the test.
      (internal MR 3534,
      internal MR 3559)

OpenXR CTS 1.1.41.0

10 Oct 21:29
openxr-cts-1.1.41.0
Compare
Choose a tag to compare

OpenXR CTS 1.1.41.0 (2024-10-10)

Status

  • Approved by the Working Group 10-October-2024
  • Will be withdrawn 2025-05-07, 180 days after the publication of the subsequent approved release,

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

An important feature of this release is the new usage guide for the Conformance
Test Suite. The instructions for running the suite are now in that guide, rather
than in the README. Approved releases will contain HTML and PDF artifacts
generated from this usage guide. Additionally, the AsciiDoc sources and Makefile
are also included in the CTS source tree, under src/conformance/usage.

  • Conformance Tests
    • Addition: Document the assumptions about the testing environment in a
      centralized location in the "Usage" document.
      (internal MR 3325)
    • Fix: Resolve D3D12 command list leak.
      (internal MR 3387,
      internal issue 2298)
    • Fix: Do not apply ambient occlusion to direct lighting in PBR shader, per the
      glTF specification.
      (internal MR 3419)
    • Fix: Avoid crashes/errors when running in a headless mode.
      (internal MR 3446)
    • Fix: Resolve some thread races in the conformance layer as identified by TSAN.
      (internal MR 3477)
    • Fix: Add support for XR_KHR_maintenance1 to the GripSurface-objective test.
      (internal MR 3478)
    • Fix: Typo in subtest name in multithreading test.
      (internal MR 3479)
    • Fix: IsViewConfigurationTypeEnumValid needs to check for XR_VERSION_1_1
      when validating for
      XR_VIEW_CONFIGURATION_TYPE_PRIMARY_STEREO_WITH_FOVEATED_INSET
      (internal MR 3492)
    • Fix: Remove checks for input/aim_activate_ext/value which check more than the
      specification allows. This value can be bool or float but the tests required
      float values.
      (internal MR 3508,
      internal issue 2368)
    • Fix: Correct typo causing incorrect matrix to be used when rendering on OpenGL
      (internal MR 3509)
    • Fix: Correct generated interaction tests through corrected XML description of
      OpenXR 1.1 related additions to the promoted Meta Touch Plus, Touch Pro, and
      Touch (Rift CV1) controller interaction profiles.
      (internal MR 3513,
      internal issue 2350,
      internal issue 2375)
    • Fix: Ensure that the correct XrViewConfigurationType is used in the
      xrLocateViews call.
      (internal MR 3519)
    • Improvement: Move detailed usage documentation from README to a separate
      "Usage" AsciiDoc book.
      (internal MR 3325)
    • Improvement: Support KTX2 compressed textures in glTF files using basis
      universal, transcoding to GPU supported compressed textures where possible.
      (internal MR 3394,
      internal issue 2105,
      internal MR 3510,
      internal MR 3522,
      internal MR 3532)
    • Improvement: Split up glTF model loading, to allow the first stage to be
      asynchronous on the CPU.
      (internal MR 3395)
    • Improvement: In the glTF self-test, show a spinner while waiting for
      (pathological) models to load in a background thread.
      (internal MR 3395)
    • Improvement: Add ApproxEqual functions to xr_math_operators.h, and Approx
      wrappers in xr_math_approx.h, to fix equality checks in the CTS.
      (internal MR 3437,
      internal MR 3485,
      internal MR 3480)
    • Improvement: Update codebase to use struct initialization convention for
      clarity.
      (internal MR 3445)
    • Improvement: Clarify/add (for consistency) some WARN messages in the CTS.
      (internal MR 3447)
    • Improvement: Remove confusing return value only used by dead code after a
      FAIL.
      (internal MR 3467)
    • Improvement: Skip waiting for human input when using
      XR_EXT_conformance_automation to make the tests run faster.
      (internal MR 3471)
    • Improvement: Refactor the d-pad extension test to fix issues and make it more
      consistent with other tests.
      (internal MR 3474)
    • Improvement: Add quaternion output support.
      (internal MR 3480)
    • Improvement: Remove usage of deprecated std::is_pod in CTS.
      (internal MR 3483)
    • Improvement: Allow [composition] tests to be rendered then skipped (with a
      warning) after a timeout, for automation purposes.
      (internal MR 3487)
    • Improvement: Warning fixes.
      (internal MR 3500)
    • Improvement: Migrate CMake build system away from using
      find_package(PythonInterpreter), deprecated since CMake 3.12. Use
      find_package(Python3 COMPONENTS Interpreter) instead.
      (OpenXR-SDK-Source PR 486,
      internal MR 3472)

OpenXR CTS 1.1.40.0

29 Aug 21:56
openxr-cts-1.1.40.0
Compare
Choose a tag to compare

OpenXR CTS 1.1.40.0 (2024-08-29)

Status

  • Approved by the Working Group 29-August-2024
  • Will be withdrawn 2025-04-08, 180 days after the publication of the subsequent approved release, 1.1.41.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.

Changes

OpenXR CTS 1.1.37.0

06 Jun 22:25
openxr-cts-1.1.37.0
Compare
Choose a tag to compare

OpenXR CTS 1.1.37.0 (2024-06-06)

Status

  • Approved by the Working Group 06-June-2024
  • Withdrawal effective 2025-02-25

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.

Changes

  • Conformance Tests
    • Fix: Action test when constrained to right-hand only.
      (internal MR 3244)
    • Fix: Skip StereoWithFoveatedInset-interactive if runtime does not support it.
      (internal MR 3350)
    • Fix: Dangling pointer in action test.
      (internal MR 3357)
    • Fix: Resolve Vulkan validation warning in some tests.
      (internal MR 3367)
    • Improvement: Use absolute epsilons for pose comparison in action test.
      (internal MR 3244)
    • Improvement: Improve user message in action test.
      (internal MR 3244)
    • Improvement: Only suggest binding the proceed action to ".../click" binding
      paths, rather than all binding paths of boolean type, to avoid accidental
      activation.
      (internal MR 3312)
    • Improvement: Support hiding parts of models in the glTF/PBR subsystem.
      (internal MR 3314)
    • Improvement: Code cleanup.
      (internal MR 3323)
    • Improvement: Use new XR_API_VERSION_1_0 and XR_API_VERSION_1_1 defines.
      (internal MR 3329)
    • Improvement: Relax too strict palm/grip_surface pose assumptions.
      (internal MR 3345)
    • Improvement: Add missing extension name tags to test cases.
      (internal MR 3355)
    • Improvement: Code cleanup and documentation in helper utilities.
      (internal MR 3356)
    • Improvement: Code cleanups and clang-tidy fixes.
      (internal MR 3357,
      internal MR 3357)
    • Improvement: Improve readability of test sources.
      (internal MR 3358)
    • Improvement: Fix duplicated inaccurate code comment.
      (internal MR 3372)
    • New test: Add interactive tests for XR_KHR_composition_layer_equirect and
      XR_KHR_composition_layer_equirect2.
      (internal MR 2882)
    • New test: Add test which creates a session but does not call
      xrDestroySession.
      (internal MR 3247)

OpenXR CTS 1.1.36.0

08 May 22:05
openxr-cts-1.1.36.0
Compare
Choose a tag to compare

OpenXR CTS 1.1.36.0 (2024-04-25)

Status

  • Approved by the Working Group 25-April-2024
  • Will be withdrawn 3-December-2024, 180 days after the publication of the subsequent approved release, 1.1.37.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.

Errata

There is a test related to the XR_VARJO_quad_views extension that will (erroneously) fail if you do not implement it. A fix for this is forthcoming in the next release. Submissions with this release may include a reference to this known errata in the conformance statement.

Changes

This new release supports testing both OpenXR 1.0 and OpenXR 1.1 runtimes, and
defaults to OpenXR 1.1 mode. See the README for more details.

OpenXR CTS 1.0.34.0

05 Mar 16:01
openxr-cts-1.0.34.0
Compare
Choose a tag to compare

OpenXR CTS 1.0.34.0 (2024-02-29)

Status

  • Approved by the Working Group 29-February-2024
  • Will be withdrawn for submissions effective 04-November-2024.

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.

Changes

  • Conformance Tests
    • Fix: Correct the warning for when Wrist Z variance is above the 14 degree
      threshold.
      (internal MR 3043)
    • Improvement: Code cleanup and documentation in the conformance layer.
      (internal MR 3044)
    • Improvement: Make the conformance layer throw a distinct error when it
      encounters a handle whose creation it did not wrap.
      (internal MR 3089)
    • Improvement: Mention in the instructions/README that the conformance automation
      extension may not be used for conformance submissions, and write a comment
      about this to the XML output when it is in use for easier identification.
      (internal MR 3143)
    • Improvement: Reduce the maximum time allowed for transitioning session state in
      debug mode from 1 hour to 1 minute, and add a notice message in debug mode
      explaining this.
      (internal MR 3151)
    • New test: Validate that XrEventDataInteractionProfileChanged is only queued
      during xrSyncActions using the conformance layer.
      (internal MR 3044,
      internal issue 1883,
      internal MR 3211)
    • New test: "SpaceOffset" interactive test validates the results of calling
      xrLocateSpace on spaces created with a non-identity pose. This tests some of
      the same math that Interactive Throw is intended to test, but with automatic
      pass/fail detection and better troubleshooting assistance and debugging
      visualization.
      (internal MR 3058,
      internal issue 1855)

OpenXR CTS 1.0.33.0

18 Jan 23:34
openxr-cts-1.0.33.0
Compare
Choose a tag to compare

Status

  • Approved by the Working Group 18-January-2024
  • Withdrawal effective 2024-September-01

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 Android APK attached to this release is signed with a different key and certificate than previous releases. You will need to uninstall any old builds of OpenXR-CTS before installing this new one. The new signer is:

Number of signers: 1
Signer #1 certificate DN: [email protected], CN=OpenXR APK CTS Signer S1, OU=OpenXR Working Group, O=The Khronos Group Inc, L=Beaverton, ST=Oregon, C=US
Signer #1 certificate SHA-256 digest: 6d8124d54016c7dbe5c80a998a3a7ef79cc361841dfd0dd94e1e988dbb9d0bc8
Signer #1 certificate SHA-1 digest: ef41b23e37655f26106354108fe5571be5c24974
Signer #1 certificate MD5 digest: 11c8fe93e55d07de52e37f0890e333ac
Signer #1 key algorithm: RSA
Signer #1 key size (bits): 4096
Signer #1 public key SHA-256 digest: 6c1fb50247e148506529d8557aea6e595041d055237fe9bd476b852cf667afa6
Signer #1 public key SHA-1 digest: db68b546a45fc53fa11141d636ac1cebb4573ea4
Signer #1 public key MD5 digest: 911e1348b5ebebb291ada23d52a66181

Changes

  • Conformance Tests
    • Fix: Refactor Pbr::Model into an immutable Pbr::Model and Pbr::Instance that
      holds the state for one drawn instance of the model. This corrects the known
      issue in the self-tests mentioned in a previous changelog.
      (internal MR 3079,
      internal issue 2139,
      internal MR 3141)
    • Fix: Avoid artificial error precedence requirement in test for
      XR_ERROR_GRAPHICS_DEVICE_INVALID, by making sure to call the "check graphics
      requirements" function if applicable.
      (internal MR 3093,
      internal issue 2155)
    • Fix: Remove extra xrSyncActions call in test_glTFRendering to resolve
      interaction issue.
      (internal MR 3107,
      internal issue 2163)
    • Fix: Skip XR_MSFT_controller_model interactive test if extension is not
      supported.
      (internal MR 3146,
      internal issue 2187)
    • Improvement: Adjust StringToPath utility function to be easier to use.
      (internal MR 2076)
    • Improvement: Simplify how some tests refer to the main OpenXR handles.
      (internal MR 3023)
    • Improvement: Make AutoBasicSession use EventReader to support event
      multiplexing.
      (internal MR 3023)
    • Improvement: Do not require system support for XR_EXT_eye_gaze_interaction
      before running XrPath and interaction profile related tests. Paths are valid as
      long as the extension is offered and enabled, regardless of whether there is
      system support for eye tracking.
      (internal MR 3055)
    • Improvement: General code cleanup, warning fixes, clang-tidy fixes, and
      refactoring to improve flexibility and maintainability.
      (internal MR 3082,
      internal MR 3023)
    • Improvement: On Android, log using the "FATAL" severity before triggering an
      abort from the conformance layer.
      (internal MR 3087)
    • Improvement: Exclude loader negotiation functions (added to XML and ratified
      spec in 1.0.33) from the list of functions automatically tested by the
      conformance suite.
      (internal MR 3113)
    • New test: Check behavior for actions created without subaction paths, but
      queried using subaction paths.
      (internal MR 3068)

OpenXR CTS 1.0.32.1

23 Dec 03:26
openxr-cts-1.0.32.1
Compare
Choose a tag to compare

OpenXR CTS 1.0.32.1 (2023-12-14)

Approved 14-December-2023.

Will be withdrawn 16-July-2024, 180 days after the publication of the subsequent approved release, 1.0.33.0.

A notable change in this release is that the build system now checks for git
commit/tag information at configure time and reports this information in the CTS
logs. If you have taken any porting steps that involve changing the build
system, be sure to update your changes accordingly. See the README for more
information.

There is one known issue with the new PBR rendering subsystem, but it only
affects running a self test under Vulkan, which is not required for conformance
submissions. It will be fixed in the next release.

GitOrigin-RevId: d3f6efc6549af9cc244e28ac66c622a7b3411e12

OpenXR CTS 1.0.30.0

18 Oct 18:58
openxr-cts-1.0.30.0
Compare
Choose a tag to compare

OpenXR CTS 1.0.30.0 (2023-10-12)

Approved 12-Oct-2023.

Will be withdrawn 19-June-2024, 180 days after the publication of the subsequent approved release, 1.0.32.1.

There are 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.

GitOrigin-RevId: c43f8b8c0380df42fe71b98c3d5a53632eda0eb9