Bug 103456 - piglit.spec.!opengl 1_4.copy-pixels fails
Summary: piglit.spec.!opengl 1_4.copy-pixels fails
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/i965 (show other bugs)
Version: git
Hardware: Other All
: medium normal
Assignee: Kenneth Graunke
QA Contact: Intel 3D Bugs Mailing List
Depends on:
Reported: 2017-10-25 16:42 UTC by Mark Janes
Modified: 2018-09-07 16:56 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:

fbo copy pixels image (590 bytes, image/png)
2017-10-25 18:05 UTC, Mark Janes
copy pixels image (566 bytes, image/png)
2017-10-25 18:05 UTC, Mark Janes
diff of images (332 bytes, image/png)
2017-10-25 18:06 UTC, Mark Janes

Description Mark Janes 2017-10-25 16:42:34 UTC
Bisected to:
all.py: remove run_concurrent=False from 1.4 tests

Reviewed-by: Eric Anholt <eric@anholt.net>

/tmp/build_root/m64/lib/piglit/bin/copy-pixels -auto -fbo
Probe at (0,88)
  Expected: 0.000000 0.000000 1.000000 1.000000
  Observed: 1.000000 0.000000 0.000000 1.000000
Comment 1 Brian Paul 2017-10-25 17:01:12 UTC
So, you see a failure when you run the test manually?  If so, the run_concurrent=False change isn't relative then.

What happens without -fbo?
Comment 2 Ilia Mirkin 2017-10-25 17:30:44 UTC
Concurrent implies -fbo...
Comment 3 Mark Janes 2017-10-25 17:33:00 UTC
Passes without fbo:

> /tmp/build_root/m64/lib/piglit/bin/copy-pixels -auto -fbo
Probe at (0,88)
  Expected: 0.000000 0.000000 1.000000 1.000000
  Observed: 1.000000 0.000000 0.000000 1.000000
PIGLIT: {"result": "fail" }

> /tmp/build_root/m64/lib/piglit/bin/copy-pixels -auto 
PIGLIT: {"result": "pass" }
Comment 4 Brian Paul 2017-10-25 17:57:29 UTC
If you run with -auto -fbo -png you'll get a png image of the rendering.  I suggest looking at that and comparing to results without -fbo.
Comment 5 Mark Janes 2017-10-25 18:05:18 UTC
Created attachment 135043 [details]
fbo copy pixels image
Comment 6 Mark Janes 2017-10-25 18:05:45 UTC
Created attachment 135044 [details]
copy pixels image
Comment 7 Mark Janes 2017-10-25 18:06:20 UTC
Created attachment 135045 [details]
diff of images

Generated with:

 > compare fbo-copy-pixels000.png copy-pixels000.png -compose src diff.png
Comment 8 Mark Janes 2017-10-25 18:07:16 UTC
I couldn't see the image difference visually, but the file sizes are different and `compare` shows a significant difference.
Comment 9 Ilia Mirkin 2017-10-25 18:08:15 UTC
Looks like an i965 bug - it passes with llvmpipe at least.

The differences are actually significant - just flip between them and it'll be obvious.
Comment 10 Mark Janes 2017-10-25 18:14:08 UTC
oops! I was looking at the wrong copy and needed to `M-x revert-buffer`

Yes the differences are obvious.
Comment 11 Mark Janes 2017-10-25 18:16:11 UTC
Assigning to mesa.
Comment 12 Kenneth Graunke 2017-10-25 19:28:50 UTC
I'll try and fix this, the blitter path doesn't account for Y-flips.  I'm amazed we never ran into this before.
Comment 13 Denis 2018-09-07 08:13:23 UTC
Hi. I found out that this test doesn't fail since first 18.2.0-rc1, so I decided to bisect, to provide commit with a fix.
Definitely it is:
[7fd962093f71d83ffc74962a8f7572b493d9030f] i965: Use meta for pixel ops on gen6+
Then - the most confusing part for me :( After bisecting I checked intel CI config file, with a list of "known bugs", and found out this test in section https://github.com/janesma/mesa_jenkins/blob/master/piglit-test/kbl.conf

piglit.spec.!opengl 1_4.copy-pixels = mesa 7fd962093f71d83ffc74962a8f7572b493d9030f

Based on this, I close the ticket as fixed
Comment 14 Mark Janes 2018-09-07 16:56:24 UTC
Sorry for the confusion.  We have no good way to trace bugs to our CI configurations, and we often fail to close bugs when tests are fixed.

You can often find bisected commits in the CI configuration files, as a shortcut to bisecting a test yourself.

Watch our XDC presentation on the upcoming public i965 CI interface, which should make it easier to see our status for any bug.

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.