Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Forced the test to wait for the GPU after rendering #12

Merged
merged 3 commits into from Jan 14, 2021

Conversation

JoeLudwig
Copy link
Contributor

Not waiting was causing some bad behavior in the array and wide swapchain tests on D3D12. I think this was caused by the textures being destroyed and recreated on subsequent views, but I'm not sure.

This is actually @brycehutchings 's fix. I'm just making a PR for it.

Not waiting was causing some bad behavior in the array and wide swapchain tests on D3D12.
@rpavlik
Copy link
Contributor

rpavlik commented Jan 12, 2021

Does this need discussion on the call?

@JoeLudwig
Copy link
Contributor Author

Opinions about whether to discuss this one differ, which I think means yes.

Copy link
Contributor

@rpavlik rpavlik left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good with the comment, and I've filed an internal issue to track fixing this the right way.

@rpavlik rpavlik merged commit 52fb937 into KhronosGroup:devel Jan 14, 2021
rpavlik added a commit that referenced this pull request Jan 28, 2021
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)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants