Bug 108911 - Vkd3d test failure test_clear_render_target_view()
Summary: Vkd3d test failure test_clear_render_target_view()
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/Vulkan/intel (show other bugs)
Version: git
Hardware: Other All
: medium normal
Assignee: Intel 3D Bugs Mailing List
QA Contact: Intel 3D Bugs Mailing List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-11-30 04:14 UTC by Timothy Arceri
Modified: 2019-01-08 17:13 UTC (History)
4 users (show)

See Also:
i915 platform:
i915 features:


Attachments
Aub dump with simplified test (10.43 KB, application/zip)
2018-12-04 14:40 UTC, Lionel Landwerlin
Details
Untested patch (2.19 KB, patch)
2018-12-04 15:47 UTC, Jason Ekstrand
Details | Splinter Review
Compile-tested patch (2.20 KB, patch)
2018-12-04 15:52 UTC, Jason Ekstrand
Details | Splinter Review

Note You need to log in before you can comment on or make changes to this bug.
Description Timothy Arceri 2018-11-30 04:14:50 UTC
Tested on SKL.

The d3d12 test suite can be run using the command:

tests/d3d12 or by running make check

Result:

d3d12:3758: Test failed: Got 0xbf4c8019, expected 0xbf95bc59 at (0, 0, 0).
d3d12:3818: Test failed: Got 0xff00ff00, expected 0xff0000ff at (0, 0, 0).
d3d12:3818: Test failed: Got 0xff00ff00, expected 0xffff0000 at (0, 0, 0).

For comparision the test passes on RADV.

Instructions for building the Vkd3d test suite:
-----------------------------------------------

Source code: git://source.winehq.org/git/vkd3d.git

autogen.sh
configure
make

Updated Spriv headers may be needed:

https://github.com/KhronosGroup/Vulkan-Headers.git
https://github.com/KhronosGroup/SPIRV-Headers.git

CPPFLAGS="-I/home/tarceri/git/SPIRV-Headers/include -I/home/tarceri/git/Vulkan-Headers/include" ./configure

Also an undated version of widl (a tool in the wine project) may be needed:

git://source.winehq.org/git/wine.git

./configure --without-freetype
make tools/widl

Then pass the new build to configure for Vkd3d e.g.

WIDL=~/git/wine/tools/widl/widl ./configure
Comment 1 Lionel Landwerlin 2018-12-04 14:40:26 UTC
Created attachment 142718 [details]
Aub dump with simplified test

I've reduced the test to clear & resolve 2 layers only.
The clear color of layer0 ends up in the layer1.
Adding a texture cache invalidate between resolve of layer 0 & 1 fixes the issue. Not quite sure what's going on here...
Comment 2 Jason Ekstrand 2018-12-04 15:47:55 UTC
Created attachment 142719 [details] [review]
Untested patch

The attached patch (which I haven't even compile-tested) should fix the issue with MCS partial resolves.  We also should probably stop even doing them in anv (as per Lionel's patch).
Comment 3 Jason Ekstrand 2018-12-04 15:52:15 UTC
Created attachment 142720 [details] [review]
Compile-tested patch

The new patch builds.
Comment 4 Lionel Landwerlin 2018-12-04 16:39:11 UTC
(In reply to Jason Ekstrand from comment #3)
> Created attachment 142720 [details] [review] [review]
> Compile-tested patch
> 
> The new patch builds.

Unfortunately, not fixing the issue :(
I'm writing a new crucible test to track that regression.
Comment 5 Samuel Iglesias Gonsálvez 2018-12-20 11:53:32 UTC
The following error doesn't happen if I run it on BDW, which does not execute the fast clear path:

d3d12:3506: Test failed: Got 0xbf4c8019, expected 0xbf95bc59 at (0, 0, 0).

So I ran the test disabling fast clear on sRGB on my Kabylake laptop and this error is gone too. It seems there is an issue with fast-clearing on sRGB on gen9.
Comment 6 Samuel Iglesias Gonsálvez 2018-12-20 12:26:41 UTC
Looks like Gen9 doesn't support fast clear on single-sampled SRGB buffers.
Comment 7 Lionel Landwerlin 2018-12-20 23:24:53 UTC
This MR should fix the last 2 failures reported in the first comment : https://gitlab.freedesktop.org/mesa/mesa/merge_requests/40

Looks like there is an additional issue with sRGB that Samuel is looking at.
Comment 8 Lionel Landwerlin 2018-12-24 12:15:31 UTC
(In reply to Lionel Landwerlin from comment #7)
> This MR should fix the last 2 failures reported in the first comment :
> https://gitlab.freedesktop.org/mesa/mesa/merge_requests/40
> 
> Looks like there is an additional issue with sRGB that Samuel is looking at.

Pushed to master.
Comment 9 Lionel Landwerlin 2018-12-24 12:15:50 UTC
I have this series for the SRGB resolve issue : https://gitlab.freedesktop.org/mesa/mesa/merge_requests/50/
Comment 10 Juan A. Suarez 2018-12-27 16:43:21 UTC
A fix landed as ("e2ae5f2f0a anv: don't do partial resolve on layer > 0").

Can we close this as FIXED?
Comment 11 Lionel Landwerlin 2018-12-28 00:30:31 UTC
(In reply to Juan A. Suarez from comment #10)
> A fix landed as ("e2ae5f2f0a anv: don't do partial resolve on layer > 0").
> 
> Can we close this as FIXED?

There are 2 issues in this bug, first one is resolved with the commit you mentioned. Second one needs this MR : https://gitlab.freedesktop.org/mesa/mesa/merge_requests/50
Comment 12 Lionel Landwerlin 2019-01-08 16:40:04 UTC
Second issue also fixed at : https://gitlab.freedesktop.org/mesa/mesa/commit/add5a2ec92f4b3f7ac8353e5986dc04186a7b6da


commit add5a2ec92f4b3f7ac8353e5986dc04186a7b6da
Author: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Date:   Sun Dec 23 17:49:23 2018 +0000

    anv: flush fast clear colors into compressed surfaces
Comment 13 Józef Kucia 2019-01-08 16:58:08 UTC
Thanks! I can confirm that vkd3d test failures reported in this bug report are fixed. We are left with only 3 test failures related to ordered/unordered comparisons.
Comment 14 Lionel Landwerlin 2019-01-08 17:03:41 UTC
(In reply to Józef Kucia from comment #13)
> Thanks! I can confirm that vkd3d test failures reported in this bug report
> are fixed. We are left with only 3 test failures related to
> ordered/unordered comparisons.

Is there a bug for those?
Comment 15 Józef Kucia 2019-01-08 17:13:46 UTC
(In reply to Lionel Landwerlin from comment #14)
> Is there a bug for those?

https://bugs.freedesktop.org/show_bug.cgi?id=109249


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.