On 9/9/22 02:58, Henri Verbeet (@hverbeet) wrote:
I see the 2nd and 3rd failure on radeonsi (and radv), and all four failures on llvmpipe (and lavapipe). This is with Mesa 22.2.0-rc3. Nikolay, Henri, do neither of you see test failures, and with which drivers if so?
These pass for me on both Intel SKL / Mesa 20.3.5, and AMD VEGA10 / Mesa 20.1.9.
It's perhaps also worth pointing out that the second to last parameter to compare_figure() is a tolerance; that's zero for all the four tests in question, IIRC because these are supposed to draw relatively straightforward figures with straight lines that are expected to match exactly, but it may be interesting to check how much that would need to be raised to pass. Perhaps even more insightful would be to insert a IDXGISwapChain_Present() and Sleep() and get a screenshot, to compare with e.g. a run on WARP.
I looked at this in renderdoc. For some reason, despite the relevant triangles having identical Y values even after the VS, they're not rasterized identically, even by llvmpipe. But the difference is never greater than a pixel. WARP, by contrast, renders everything as a straight line.
Also, if I do a find-and-replace of ".0f" to ".5f" of all the constants in that section, I get identical results between radeonsi / llvmpipe / WARP. So maybe that's a better option.
--Zeb