Bug 38988 - piglit read-front regression
Summary: piglit read-front regression
Status: CLOSED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Mesa core (show other bugs)
Version: git
Hardware: Other All
: medium normal
Assignee: Thomas Hellström
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-07-05 15:39 UTC by Vinson Lee
Modified: 2011-07-08 08:48 UTC (History)
3 users (show)

See Also:
i915 platform:
i915 features:


Attachments
read-front.png (3.09 KB, image/png)
2011-07-05 15:39 UTC, Vinson Lee
Details
Patch to fix the problem (1.70 KB, patch)
2011-07-07 06:41 UTC, Thomas Hellström
Details | Splinter Review

Description Vinson Lee 2011-07-05 15:39:30 UTC
Created attachment 48791 [details]
read-front.png

mesa: 6bde225b8b5791588837295b3b89ac132095a6f7 (master)

Run piglit read-front on softpipe or llvmpipe. The test no longer passes.

$ ./bin/read-front
Probe at (0,0)
  Expected: 1.000000 0.000000 0.000000
  Observed: 0.000000 0.000000 0.000000
Probe at (50,0)
  Expected: 0.000000 1.000000 0.000000
  Observed: 0.000000 0.000000 0.000000
Comment 1 Vinson Lee 2011-07-06 23:46:54 UTC
git bisect good 1a7e17e44a1129bbd6a0f454fe95b3ce8240cd45
git bisect bad a221807dc5d69598afd1d0e0a4e715fb82a9f30d

In between the above commits the builds are affected by bug 38896.
Comment 2 Thomas Hellström 2011-07-07 00:03:06 UTC
Thanks for bisecting, Vinson.

The only reasonable explanation for this problem is that with the glx state tracker, an X roundtrip is required each and every time the state tracker (mesa or vega) checks whether to validate its drawables. I think that was the old behaviour.

That will become pretty costly.
Comment 3 Vinson Lee 2011-07-07 00:07:10 UTC
These other piglit tests are also failing and have the same bisect result as comment #1.

fp-fragment-position
fp-incomplete-tex
fp-kil
fp-lit-mask
trinity-fp1
Comment 4 Thomas Hellström 2011-07-07 06:41:45 UTC
Created attachment 48852 [details] [review]
Patch to fix the problem

This was actually a bug that was previously masked by the fact that the glx state tracker always re-invalidated the drawable on each validate() call. Now when that doesn't happen anymore, there was nothing to mark the drawable invalid when the mesa state tracker added a new color renderbuffer. Patch is out for review.
Comment 5 Thomas Hellström 2011-07-08 00:08:51 UTC
This issue should now be resolved in mesa master.
Comment 6 Vinson Lee 2011-07-08 08:48:51 UTC
mesa: fc98444bd58960e6cab28423365923bc7e7af3e1 (master)

Verified fixed.


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.