Skip to content

Latest commit

 

History

History
1020 lines (982 loc) · 68.1 KB

CHANGELOG.CTS.md

File metadata and controls

1020 lines (982 loc) · 68.1 KB

Changelog for OpenXR-CTS Repo

Update log for the OpenXR-CTS repo on GitHub. Updates are in reverse chronological order starting with the latest public release.

This summarizes the periodic public releases, not individual commits. Releases on GitHub are generally done as single large patches at the release point, collecting together the resolution of many Khronos internal issues, along with any public pull requests that have been accepted. In this repository in particular, since it is primarily software, pull requests may be integrated as they are accepted even between periodic updates. However, versions that are not signed tags on the approved branch are not valid for conformance submission.

OpenXR CTS 1.1.37.0 (2024-06-06)

  • 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 (2024-04-25)

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 (2024-02-29)

  • 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 (2024-01-18)

  • 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 (2023-12-14)

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.

OpenXR CTS 1.0.30.0 (2023-10-12)

OpenXR CTS 1.0.29.0 (2023-09-07)

OpenXR CTS 1.0.27.0 (2023-05-10)

This release contains a large number of new or improved tests. It is expected that many existing runtimes may initially fail some of these; implementers should work to resolve these issues as soon as possible.

This also contains updated instructions for running tests and submitting results, now that the test suite has a custom reporter that simplifies review of results, and now that an improved method of running the tests is available on Android.

OpenXR CTS 1.0.26.0 (2022-12-01)

OpenXR CTS 1.0.22.1 (Approved 2022-01-13)

  • Registry
    • All changes found in 1.0.15 through 1.0.22.
  • Conformance Tests
    • Fix: Do not require optional extensions on Android. (internal MR 1949, internal issue 1480, internal issue 1481, OpenXR-CTS issue 5, OpenXR-CTS issue 6)
    • Fix: Resolve invalid handle error on xrEnumerateBoundSourcesForAction in multithreaded test. (internal MR 2094)
    • Fix: Check graphics plugin usage to allow XR_MND_headless to be used with non-interactive conformance tests. (internal MR 2163)
    • Fix: Vulkan validation and OpenGL context usage issues in conformance test suite. (internal MR 2165)
    • Fix: Update Catch2 from 2.9.2 to 2.13.8 to fix builds on newer Linux distributions. (internal MR 2203)
    • Fix: Add more formats to pick from in OpenGL; do not use sRGB as rendering is broken with that. (OpenXR-CTS PR 20)
    • Fix: Make "Grip and Aim Pose" and "Projection Mutable Field-of-View" tests visible. (OpenXR-CTS PR 21)
    • Fix: Read access violation for D3D12 device on shutdown. (OpenXR-CTS PR 22)
    • Fix: Mutable field-of-view X and Y flip for non-symmetrical FOVs. (OpenXR-CTS PR 23)
    • Fix: Make some failures caused by missing layer flag implementations more obvious. (OpenXR-CTS PR 25)
    • Fix: Converted all conformance tests to use SRGB 8-bit textures since some runtimes don't support linear 8-bit textures. (OpenXR-CTS PR 26)
    • Fix: Avoid submitting projection layers when the referenced swapchain hasn't been used yet. (OpenXR-CTS PR 27)
    • Improvement: Add Android build system, using new cross-vendor Android loader, and fix some runtime errors in Android-specific code. (internal MR 1949, internal issue 1425)
    • Improvement: Use Asset Manager for assets on Android, and fix build. (internal MR 1950)
    • Improvement: Refactor xrGetInstanceProcAddr implementation in conformance layer to avoid deeply-nested if ... else blocks. (Some compilers have limits we were nearing or hitting.) (internal MR 2050)
    • Improvement: Add device reuse test to XR_KHR_D3D11_enable test. (internal MR 2054)
    • Improvement: Add device reuse test to XR_KHR_D3D12_enable test. (internal MR 2054)
    • Improvement: Add device reuse test to XR_KHR_opengl_enable test. (internal MR 2054)
    • Improvement: Add support for XR_KHR_vulkan_enable2 to conformance test suite. (internal MR 2073)
    • Improvement: Add tests for xrApplyHapticFeedback and xrLocateSpace to multithreading test in the conformance test suite. (internal MR 2077)
    • Improvement: Add swapchain create and destroy test to graphics enable tests. (internal MR 2086)
    • Improvement: Check XrPerfSettings*EXT enums in conformance layer, which also solves a compiler warning. (internal MR 2107)
    • Improvement: Shutdown graphics plugin after running tests in the conformance test suite. (internal MR 2132)
    • Improvement: Implement D3D11 graphics validator to validate usage flags. (internal MR 2139)
    • Improvement: Adjust interactive tests to keep submitting frames while waiting, to avoid missing many frames while doing input-related tests. (internal MR 2142)
    • Improvement: Include NVIDIA-defined and AMD-defined exported symbols to signal favoring high performance/discrete graphics devices for test application. (internal MR 2156)
    • Improvement: Fix Android building and add documentation on building for Android. (OpenXR-CTS PR 33, OpenXR-CTS issue 31, internal MR 2198)
    • New test: Add XR_KHR_vulkan_enable test to validate simple failure and success cases. (internal MR 2054)
    • New test: Add XR_KHR_opengl_es_enable test to validate simple failure and success cases. (internal MR 2054)
    • New test: Add XR_KHR_vulkan_enable2 test to validate simple failure and success cases. (internal MR 2073)
    • New test: Add tests for XR_EXT_hand_tracking to validate basic API usage. (internal MR 2164)

OpenXR CTS 1.0.14.1 (2021-01-27)

Note that the procedure for generating your conformance submission has changed slightly.

  • Registry
    • All changes found in 1.0.13, and 1.0.14.
  • Conformance Tests
    • Build: Initial setup of CMake for conformance build on Android. (Not complete - no gradle part.) (internal MR 1910)
    • Fix: Properly apply function attributes to fix build of conformance layer on Android for ARM. (internal MR 1910, OpenXR-CTS/#3, internal issue 1479)
    • Fix: Use android.app.NativeActivity correctly in place of NativeActivity subclass for the conformance tests. (internal MR 1965, internal MR 1976)
    • Fix: The D3D12, OpenGL, and Vulkan graphics plugins sometimes did not update their swapchain image context maps due to rare key collisions. (OpenXR-CTS/#4)
    • Fix: Removed extra check that would fail if the CTS was compiled against a version of openxr.h that included extensions that added results that were newer than the results present in the version of openxr.h that the runtime was compiled against. (OpenXR-CTS/#8)
    • Fix: Fixed conformance failures on runtimes where x and y components can have different last changed times (OpenXR-CTS/#9)
    • Fix: "Projection Mutable Field-of-View" was an old, broken version of the test. It is reset to the intended version of the code now. (OpenXR-CTS/#10)
    • Fix: CopyRGBAImage was using the wrong array slice when setting image barriers. This broke the "Subimage Tests" case on some hardware/drivers. (OpenXR-CTS/#11)
    • Fix: Added WaitForGpu call at the end of RenderView in D3D12GraphicsPlugin. Without this the array and wide swapchain tests failed on some hardware/driver versions. This is not ideal behavior, but it fixes the test for now, and has been noted for future fixing in a better way. (OpenXR-CTS/#12)
    • Fix: Allow negated quaternion to be equivalent to the expected orientation value. This test only cares about orientation, not which path the rotation took. (OpenXR-CTS/#13)
    • Fix: The test assumed that X and Y components of a vector2 action would have exactly the same timestamp. Changed that to check that the vector2 action would have the most recent of those two timestamps instead. (OpenXR-CTS/#14, internal issue 1490)
    • Fix: The test checked for "float value == X" and then checked for its binary thresholded value after a subsequent call to xrSyncActions. Changed the test so both checks happen in the same input frame. (OpenXR-CTS/#14)
    • Fix: Added support for GL_SRGB8 textures to OpenGL tests. (OpenXR-CTS/#15)
    • Fix: Increased allowed pipeline overhead threshold to 50%. The purpose of the test is to ensure the runtime isn't serializing (100% overhead) so this is a safe increase. (OpenXR-CTS/#16)
    • Fix: Use int64_t for YieldSleep calculations, to not overflow. (OpenXR-CTS/#17)
    • Improvement: Modify the test instructions to change the output format and increase its content, and require the console output to be submitted as well. This makes it easier to review and provides a more complete look at both passed and failed tests. (internal MR 1953)
    • Lower the amount of time that the renderer blocks. The CTS is not a highly optimized application and due to thread scheduling and extra GPU waits 90% CPU wait makes it fairly tight to fit everything inside of a single display period. (OpenXR-CTS/#18)
    • New test: Verify that triangles returned from XR_KHR_visibility_mask are counter-clockwise. (internal MR 1943)
    • New test: Add tests for xrBeginFrame call order violations (OpenXR-CTS/#7)

OpenXR CTS 1.0.12.1 (2020-10-01)

  • Registry
    • All changes found in 1.0.10, 1.0.11, and 1.0.12.
  • Conformance Tests
    • Fix: Fix Vulkan image layout transitions (internal MR 1876)
    • Fix: Images were being copied upside-down in OpenGL ES. (internal MR 1899)
    • Fix: Issues around xrInitializeLoaderKHR. (internal MR 1922)
    • Fix: Fix some interactive tests like "Grip and Aim Pose" which exposed D3D12 validation errors due to bugs in the D3D12 graphics plugin. (OpenXR-CTS/#1)
    • Fix: Use REQUIRE macro in main thread only, in Timed Pipelined Frame Submission to prevent race condition. (OpenXR-CTS/#2)
    • Improvement: Enable use of glslangValidator to compile shaders if shaderc is not available. (internal MR 1857)
    • Improvement: Add options to not run tests that require disconnecting devices. (internal MR 1862)
    • Improvement: xrStructureTypeToString, xrResultToString: Make test more lenient, so it will also accept the "generic" generated value for enumerant values defined by an extension that is not currently enabled. (internal MR 1864)
    • Improvement: Improve language usage in code and comments to be more respectful. (internal MR 1881)
    • Improvement: Handle the new XR_ERROR_GRAPHICS_REQUIREMENTS_CALL_MISSING return code, and move all checks for this code to the xrCreateSession test, from the individual graphics bindings tests. (internal MR 1882, OpenXR-Docs/#53, internal issue 1397)
    • Improvement: Automatically enable a number of extensions, if present, that can be enabled without side-effects. (internal MR 1897)
    • Improvement: Use the XR_KHR_loader_init_android extension on Android instead of vendor-specific code. (internal MR 1903)

OpenXR CTS 1.0.9.2 (2020-06-18)

OpenXR CTS 1.0.9 (2020-05-29)

Internal release, corresponding to the first voted-upon conformance suite.