Skip to content

Commit

Permalink
OpenXR CTS 1.1.40.0 (2024-08-29)
Browse files Browse the repository at this point in the history
-   Conformance Tests
    -   Fix: Ensure that existing tests for type member verification
        only run when selected, and only test that member as invalid.
        (internal MR 3287, internal issue 2170, internal issue 2301)
    -   Fix: Swapchain leak in test helper. (internal MR 3386)
    -   Fix: Resolve some C++ sanitizer issues. (internal MR 3453)
    -   Fix: Temporarily disable faulty assertions about the Z axis in
        the grip_surface/palm_ext pose test. (internal MR 3465)
    -   Improvement: Supply Metal graphics plugin for running
        conformance test on macOS with XR_KHR_metal_enable extension.
        (internal MR 3009)
    -   Improvement: Verify more two-call-idiom outputs in the
        conformance layer. (internal MR 3282)
    -   Improvement: Update CTS layer to verify that all enumerations of
        reference spaces contain LOCAL_FLOOR if they are required to.
        (internal MR 3283)
    -   Improvement: Optionally verify that the runtime validates struct
        .type member in various places. (internal MR 3287, internal
        issue 2170, internal issue 2301)
    -   Improvement: Simplify grip_surface/palm_ext pose test and
        support conformance automation extension in it, among other
        improvements to it. (internal MR 3331, internal issue 2259)
    -   Improvement: Clean up usage of RAII mutex lock guards. (internal
        MR 3336)
    -   Improvement: Add xr_math_operators.h to unify C++ math wrappers
        for CTS. (internal MR 3349, internal MR 3431)
    -   Improvement: Code cleanups in GetSwapchainCreateTestParameters
        and related tests. (internal MR 3369)
    -   Improvement: Specify names through the debug extension for more
        Vulkan objects, for improved ease of debugging. (internal MR
        3422)
    -   Improvement: Add basic SNORM formats to table of
        runtime-supported formats testable on OpenGL. (internal MR 3427)
    -   New test: Interactive test for new
        XR_EXT_composition_layer_inverted_alpha extension. (internal MR
        3085)
    -   New test: Check that an action with no suggested bindings is not
        bound/active. (internal MR 3256, internal issue 1609)
    -   New test: Verify that the string returned by
        xrGetInputSourceLocalizedName is null-terminated. (internal MR
        3380, internal issue 2300)

GitOrigin-RevId: eee73bd67b7e4b5f69f89c1a7373148ab6a95046
  • Loading branch information
rpavlik committed Aug 29, 2024
1 parent 68c13f2 commit 1d229d0
Show file tree
Hide file tree
Showing 26 changed files with 81 additions and 48 deletions.
7 changes: 4 additions & 3 deletions .github/workflows/android-cts-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
lfs: true

- name: Get modern CMake and Ninja
uses: lukka/get-cmake@v3.29.5
uses: lukka/get-cmake@v3.30.2

- name: set up JDK 11
uses: actions/setup-java@v4
Expand All @@ -33,13 +33,14 @@ jobs:
distribution: "temurin"
cache: gradle

- uses: "gradle/actions/setup-gradle@v3"
# Also performs Gradle wrapper validation
- uses: "gradle/actions/setup-gradle@v4"

- name: "Build with Gradle"
run: "cd src/conformance && ./gradlew ${{ inputs.gradleTask }}"

- name: Upload unsigned artifacts
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: android-openxr-cts-unsigned
path: ${{ inputs.gradleOutputDir }}
7 changes: 4 additions & 3 deletions .github/workflows/android-cts-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
lfs: true

- name: Get modern CMake and Ninja
uses: lukka/get-cmake@v3.29.5
uses: lukka/get-cmake@v3.30.2

- name: set up JDK 11
uses: actions/setup-java@v4
Expand All @@ -28,13 +28,14 @@ jobs:
distribution: "temurin"
cache: gradle

- uses: "gradle/actions/setup-gradle@v3"
# Also performs Gradle wrapper validation
- uses: "gradle/actions/setup-gradle@v4"

- name: "Build with Gradle"
run: "cd src/conformance && ./gradlew assembleDebug"

- name: Upload OpenXR-CTS Android
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: OpenXR-CTS Android
path: src/conformance/build/outputs/apk/debug/conformance-debug.apk
2 changes: 1 addition & 1 deletion .github/workflows/check_clang_format_and_codespell.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
if: ${{ failure() }}
- name: Publish diff
if: ${{ failure() }}
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
path: ${{ runner.temp }}/clang-format.patch
name: clang-format-changes
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/gradle-wrapper-validation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
#
# SPDX-License-Identifier: CC0-1.0

# Probably no longer needed as long as we have another Gradle build.
name: Validate Gradle Wrapper

on:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/msvc-build-preset.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
lfs: true

- name: Get modern CMake and Ninja
uses: lukka/[email protected].1
uses: lukka/[email protected].2

- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v2
Expand All @@ -57,7 +57,7 @@ jobs:
run: "cmake --build $env:RUNNER_TEMP --parallel --config ${{ inputs.buildType }} --target install"

- name: Upload Artifacts
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
if: inputs.artifactName
with:
name: "${{ inputs.artifactName }}"
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/windows-cts-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,15 +32,15 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Retrieve Win32 build
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: openxr-cts-win32
path: openxr-cts-win32
- name: Compress Win32
run: '7za a "$TAGNAME-win32.zip" openxr-cts-win32'

- name: Retrieve x64 build
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: openxr-cts-x64
path: openxr-cts-x64
Expand Down
57 changes: 57 additions & 0 deletions CHANGELOG.CTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,63 @@ 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.40.0 (2024-08-29)

- Conformance Tests
- Fix: Ensure that existing tests for `type` member verification only run when
selected, and only test that member as invalid.
([internal MR 3287](https://gitlab.khronos.org/openxr/openxr/merge_requests/3287),
[internal issue 2170](https://gitlab.khronos.org/openxr/openxr/issues/2170),
[internal issue 2301](https://gitlab.khronos.org/openxr/openxr/issues/2301))
- Fix: Swapchain leak in test helper.
([internal MR 3386](https://gitlab.khronos.org/openxr/openxr/merge_requests/3386))
- Fix: Resolve some C++ sanitizer issues.
([internal MR 3453](https://gitlab.khronos.org/openxr/openxr/merge_requests/3453))
- Fix: Temporarily disable faulty assertions about the Z axis in the
grip_surface/palm_ext pose test.
([internal MR 3465](https://gitlab.khronos.org/openxr/openxr/merge_requests/3465))
- Improvement: Supply Metal graphics plugin for running conformance test on macOS
with `XR_KHR_metal_enable` extension.
([internal MR 3009](https://gitlab.khronos.org/openxr/openxr/merge_requests/3009))
- Improvement: Verify more two-call-idiom outputs in the conformance layer.
([internal MR 3282](https://gitlab.khronos.org/openxr/openxr/merge_requests/3282))
- Improvement: Update CTS layer to verify that all enumerations of reference
spaces contain `LOCAL_FLOOR` if they are required to.
([internal MR 3283](https://gitlab.khronos.org/openxr/openxr/merge_requests/3283))
- Improvement: Optionally verify that the runtime validates struct `.type` member
in various places.
([internal MR 3287](https://gitlab.khronos.org/openxr/openxr/merge_requests/3287),
[internal issue 2170](https://gitlab.khronos.org/openxr/openxr/issues/2170),
[internal issue 2301](https://gitlab.khronos.org/openxr/openxr/issues/2301))
- Improvement: Simplify grip_surface/palm_ext pose test and support conformance
automation extension in it, among other improvements to it.
([internal MR 3331](https://gitlab.khronos.org/openxr/openxr/merge_requests/3331),
[internal issue 2259](https://gitlab.khronos.org/openxr/openxr/issues/2259))
- Improvement: Clean up usage of RAII mutex lock guards.
([internal MR 3336](https://gitlab.khronos.org/openxr/openxr/merge_requests/3336))
- Improvement: Add `xr_math_operators.h` to unify C++ math wrappers for CTS.
([internal MR 3349](https://gitlab.khronos.org/openxr/openxr/merge_requests/3349),
[internal MR 3431](https://gitlab.khronos.org/openxr/openxr/merge_requests/3431))
- Improvement: Code cleanups in `GetSwapchainCreateTestParameters` and related
tests.
([internal MR 3369](https://gitlab.khronos.org/openxr/openxr/merge_requests/3369))
- Improvement: Specify names through the debug extension for more Vulkan objects,
for improved ease of debugging.
([internal MR 3422](https://gitlab.khronos.org/openxr/openxr/merge_requests/3422))
- Improvement: Add basic SNORM formats to table of runtime-supported formats
testable on OpenGL.
([internal MR 3427](https://gitlab.khronos.org/openxr/openxr/merge_requests/3427))
- New test: Interactive test for new `XR_EXT_composition_layer_inverted_alpha`
extension.
([internal MR 3085](https://gitlab.khronos.org/openxr/openxr/merge_requests/3085))
- New test: Check that an action with no suggested bindings is not bound/active.
([internal MR 3256](https://gitlab.khronos.org/openxr/openxr/merge_requests/3256),
[internal issue 1609](https://gitlab.khronos.org/openxr/openxr/issues/1609))
- New test: Verify that the string returned by `xrGetInputSourceLocalizedName` is
null-terminated.
([internal MR 3380](https://gitlab.khronos.org/openxr/openxr/merge_requests/3380),
[internal issue 2300](https://gitlab.khronos.org/openxr/openxr/issues/2300))

## OpenXR CTS 1.1.37.0 (2024-06-06)

- Conformance Tests
Expand Down
1 change: 0 additions & 1 deletion changes/conformance/mr.3009.gl.md

This file was deleted.

1 change: 0 additions & 1 deletion changes/conformance/mr.3085.gl.md

This file was deleted.

4 changes: 0 additions & 4 deletions changes/conformance/mr.3256.gl.md

This file was deleted.

1 change: 0 additions & 1 deletion changes/conformance/mr.3282.gl.md

This file was deleted.

1 change: 0 additions & 1 deletion changes/conformance/mr.3283.gl.md

This file was deleted.

6 changes: 0 additions & 6 deletions changes/conformance/mr.3287.gl.md

This file was deleted.

4 changes: 0 additions & 4 deletions changes/conformance/mr.3331.gl.md

This file was deleted.

1 change: 0 additions & 1 deletion changes/conformance/mr.3336.gl.md

This file was deleted.

5 changes: 0 additions & 5 deletions changes/conformance/mr.3349.gl.md

This file was deleted.

1 change: 0 additions & 1 deletion changes/conformance/mr.3369.gl.md

This file was deleted.

4 changes: 0 additions & 4 deletions changes/conformance/mr.3380.gl.md

This file was deleted.

1 change: 0 additions & 1 deletion changes/conformance/mr.3386.gl.md

This file was deleted.

1 change: 0 additions & 1 deletion changes/conformance/mr.3422.gl.md

This file was deleted.

1 change: 0 additions & 1 deletion changes/conformance/mr.3427.gl.md

This file was deleted.

4 changes: 4 additions & 0 deletions src/conformance/conformance_test/test_XR_EXT_palm_pose.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -748,6 +748,9 @@ namespace Conformance
XrVector3f gripSurfaceZDirection = Quat::RotateVector(gripSurfaceLocation.pose.orientation, zAxis);
INFO("gripSurfaceZDirection is the local Z axis of grip_surface/palm_ext relative to grip space");
CAPTURE(gripSurfaceZDirection);

// assertions temporarily disabled for revision
#if 0
if (i == 0) {
// Test that the z axis (direction from the palm center to the wrist) of grip surface points "to the left" in grip space.
// This should be true for all usual controllers. If this is not true for your controller, you may need to adapt or discard this test.
Expand All @@ -765,6 +768,7 @@ namespace Conformance
// This should be true for all usual controllers. If this is not true for your controller, you may need to adapt or discard this test.
CHECK(gripSurfaceZDirection.y > 0);
}
#endif
}
}
} // namespace
Expand Down
3 changes: 2 additions & 1 deletion src/conformance/conformance_test/test_xrCreateInstance.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -269,7 +269,8 @@ namespace Conformance
{
for (int i = 0; i < 2; ++i) {
CAPTURE(i);
AutoBasicInstance instance;
// Using skipDebugMessenger to avoid leaking a debug messenger during AutoBasicInstance shutdown.
AutoBasicInstance instance(AutoBasicInstance::skipDebugMessenger);
XrResult destroyResult = XR_ERROR_RUNTIME_FAILURE;
std::thread t([&destroyResult, &instance] { destroyResult = xrDestroyInstance(instance); });
t.join();
Expand Down
3 changes: 2 additions & 1 deletion src/conformance/conformance_test/test_xrCreateSession.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,8 @@ namespace Conformance
for (int i = 0; i < 2; ++i) {
CAPTURE(i);

AutoBasicInstance instance;
// Using skipDebugMessenger to avoid leaking a debug messenger during AutoBasicInstance shutdown.
AutoBasicInstance instance(AutoBasicInstance::skipDebugMessenger);
AutoBasicSession session(AutoBasicSession::createSession, instance);
XrResult destroySessionResult = XR_ERROR_RUNTIME_FAILURE;
XrResult destroyInstanceResult = XR_ERROR_RUNTIME_FAILURE;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,7 @@ namespace Conformance
XrExtent2Df bounds{-1.f, -1.f};
result = xrGetReferenceSpaceBoundsRect(session, rst, &bounds);
REQUIRE_THAT(result, In<XrResult>({XR_SUCCESS, XR_SPACE_BOUNDS_UNAVAILABLE}));
CAPTURE(bounds.width);
CAPTURE(bounds.height);
CAPTURE(bounds);
CHECK(!std::isnan(bounds.width));
CHECK(!std::isnan(bounds.height));

Expand Down
2 changes: 1 addition & 1 deletion src/conformance/utilities/types_and_constants.h
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ namespace Conformance
/// application or runtime.
///
/// Used for validating that runtimes properly ignore unrecognized extension structs.
#define XRC_UNRECOGNIZABLE_STRUCTURE_TYPE ((XrStructureType)-1)
#define XRC_UNRECOGNIZABLE_STRUCTURE_TYPE ((XrStructureType)((int)XR_STRUCTURE_TYPE_MAX_ENUM - 1))

/// @}

Expand Down

0 comments on commit 1d229d0

Please sign in to comment.