[PATCH v2 1/4] d3d9/tests: Add Fetch4 tests

Stefan Dösinger stefandoesinger at gmail.com
Thu Jan 10 11:30:59 CST 2019


Hi,

I tested the tests on Windows 7 with a Radeon HD 5770. There are plenty of failures, for some of which I have an explanation, but others I don't.

Visual2.txt is the output of the test. I also attached various screenshots

*) ffp_texld is the first test loop. The fixed function and texld output looks the same.
*) texldp is the texldp shader. It appears that AMD still does the projected read at the same time it does the fetch4 lookup.
*) texldl and texldd suggest that AMD drivers do not apply FETCH4 for those instructions
*) texldb however behaves like texld. Presumably it also does that with fetch4 off on the single-level texture :-)

What I can't explain is why the colors even in the FFP and texld case are wrong. Maybe intel applies a wrong swizzle?

Please ignore the white border on some of the PNGs. I was sloppy cutting off the irrelevant parts of the screenshots, and somehow windows didn't want to screenshot the individual window.

I'll look into the remaining failures and send more screenshots to avoid overshooting the mailing list size limit.

Where can we go from here? Because apparently applications cannot rely on a specific GPU behavior we have more freedom. Generally I recommend to stick with AMDs behavior, but if it is too cumbersome in a corner case we can write a WARN or FIXME if an application even uses it. If the different colors are a result of a different swizzle and nobody seems to have noticed yet, it is even more likely that nobody actually uses FETCH4. In that case we could make the entire FETCH4 thing a FIXME, enable the DF24 depth format and see if any application ever hits the FIXME. It'd be a pity to have your work just gathering dust on the mailing list archives though.

We could also implement FETCH4 the AMD way, and mark all intel results broken(). Or we even remove the more corner case tests that produce contrary results, like texldp and texldd, but keep the baseline tests like ffp and texld. The important thing is that we preserve the knowledge the tests have found in a comment.

Stefan

-------------- next part --------------
A non-text attachment was scrubbed...
Name: texldb.png
Type: image/png
Size: 8866 bytes
Desc: not available
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20190110/6f3528d6/attachment-0004.png>
-------------- next part --------------

-------------- next part --------------
A non-text attachment was scrubbed...
Name: texldd_texldl.png
Type: image/png
Size: 17793 bytes
Desc: not available
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20190110/6f3528d6/attachment-0005.png>
-------------- next part --------------

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: visual2.txt
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20190110/6f3528d6/attachment-0001.txt>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: texldp.png
Type: image/png
Size: 8300 bytes
Desc: not available
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20190110/6f3528d6/attachment-0006.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ffp_texld.png
Type: image/png
Size: 12864 bytes
Desc: not available
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20190110/6f3528d6/attachment-0007.png>
-------------- next part --------------



More information about the wine-devel mailing list