Created attachment 34428 [details] xorg.0.log Environment: ------------ Platform: G45 Mesa: (master)99386921e778271c9b3edf90123ab6319e23fc95 Xserver: (master)3083c5d0c4386cdd7083b7a83ac72fdad2f1e61e Xf86_video_intel: (master)9c037f61a490c96f9095f7ff3fecbf41f5efe9f7 Libdrm: (master)c1c8bbf80b1f734e23996bf805dc78f32ebaf56f Bug detailed description: -------------------------- yesterday case texgen failed,with bisect ,we found it was caused by commit fa5103a02bd509e4a102afdad2ab26cb22210367 in xserver. On 945gme works well. And the culprit commit is: commit fa5103a02bd509e4a102afdad2ab26cb22210367 Author: Francisco Jerez <currojerez@riseup.net> Date: Wed Feb 24 23:18:01 2010 +0100 dri2: No need to blit from front on DRI2GetBuffers if they're just being reused. It can be quite an expensive operation, so we're better off not doing it unless it's totally required. Signed-off-by: Francisco Jerez <currojerez@riseup.net> Signed-off-by: Kristian Høgsberg <krh@bitplanet.net> Reviewed-by: Kristian Høgsberg <krh@bitplanet.net> Reproduce steps: ---------------- 1.start X 2../texgen -auto
Here's the piglit result: test_texgen_eye: 0,0 failed Output: Probe at (16,16) Expected: 0.250000 0.250000 0.000000 Observed: 0.000000 0.000000 0.000000 PIGLIT: {'result': 'fail' }
Created attachment 34475 [details] [review] update_fake_front_on_swap.patch Apparently the problem is that SwapBuffers isn't updating the fake front when a swap is completed. This wasn't a problem before because the SwapBuffers request was unconditionally followed by a GetBuffers request, but we cannot rely on it anymore. The attached patch fixes it for me (using the nouveau DRI driver).
(In reply to comment #2) > Created an attachment (id=34475) [details] > update_fake_front_on_swap.patch > Apparently the problem is that SwapBuffers isn't updating the fake front when a > swap is completed. This wasn't a problem before because the SwapBuffers request > was unconditionally followed by a GetBuffers request, but we cannot rely on it > anymore. > The attached patch fixes it for me (using the nouveau DRI driver). Two regressed glean cases(coloredTexPerf2, coloredLitPerf2) are also caused by this commit. We will try with your patch tomorrow.
(In reply to comment #2) > Created an attachment (id=34475) [details] > update_fake_front_on_swap.patch > Apparently the problem is that SwapBuffers isn't updating the fake front when a > swap is completed. This wasn't a problem before because the SwapBuffers request > was unconditionally followed by a GetBuffers request, but we cannot rely on it > anymore. > The attached patch fixes it for me (using the nouveau DRI driver). Yes. with this patch it also works well here.
Krh/Keith, can you review and commit?
(In reply to comment #5) > Krh/Keith, can you review and commit? I sent a properly formatted and cleaned up version of the patch to the ML a couple of weeks back (Kristian, you're CC'ed), please, use it instead of the attached version.
(In reply to comment #6) > (In reply to comment #5) > > Krh/Keith, can you review and commit? > > I sent a properly formatted and cleaned up version of the patch to the ML a > couple of weeks back (Kristian, you're CC'ed), please, use it instead of the > attached version. I reviewed it on the list and Cc'ed Keith.
Created attachment 35180 [details] [review] Patch without refactoring other stuff Here's a patch that only fixes the bug.
the patch works well. That case pass with it.
Resent the patch to the list with the changes suggested in the review: http://lists.x.org/archives/xorg-devel/2010-May/008306.html
Assigning to Keith since the list is sitting on xorg-devel waiting for him to apply it.
It is now in xserver master now, and these three cases work well now. So verified.
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.