Bug 55476 - [softpipe] piglit fbo-blit-stretch regression
Summary: [softpipe] piglit fbo-blit-stretch regression
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Other (show other bugs)
Version: git
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: mesa-dev
QA Contact:
URL:
Whiteboard:
Keywords: regression
Depends on:
Blocks:
 
Reported: 2012-09-30 21:16 UTC by Vinson Lee
Modified: 2013-01-22 21:56 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Vinson Lee 2012-09-30 21:16:43 UTC
mesa: 36ea744f58e5b436c45ed857bd92bbb472e641d5 (master)

$ ./bin/fbo-blit-stretch -auto
45x79 (13, 33)-(30, 44) => 200x150 (19, 23)-(36, 34) nearest
45x79 (13, 33)-(30, 44) => 200x150 (19, 23)-(36, 34) linear
45x79 (30, 44)-(13, 33) => 200x150 (36, 34)-(19, 23) flip_src_x flip_src_y flip_dst_x flip_dst_y nearest
45x79 (30, 44)-(13, 33) => 200x150 (36, 34)-(19, 23) flip_src_x flip_src_y flip_dst_x flip_dst_y linear
45x79 (30, 33)-(13, 44) => 200x150 (19, 34)-(36, 23) flip_src_x flip_dst_y nearest
45x79 (30, 33)-(13, 44) => 200x150 (19, 34)-(36, 23) flip_src_x flip_dst_y linear
45x79 (13, 44)-(30, 33) => 200x150 (36, 23)-(19, 34) flip_src_y flip_dst_x nearest
45x79 (13, 44)-(30, 33) => 200x150 (36, 23)-(19, 34) flip_src_y flip_dst_x linear
45x79 (13, 33)-(30, 44) => 200x150 (19, 23)-(87, 67) stretch_x stretch_y nearest
45x79 (13, 33)-(30, 44) => 200x150 (19, 23)-(87, 67) stretch_x stretch_y linear
45x79 (13, 33)-(30, 44) => 200x150 (19, 23)-(87, 67) stretch_x stretch_y nearest
45x79 (13, 33)-(30, 44) => 200x150 (19, 23)-(87, 67) stretch_x stretch_y linear
45x79 (13, 33)-(30, 44) => 200x150 (-8, -5)-(9, 6) clamp_dst_x clamp_dst_y nearest
Probe at (0,0)
  Expected: 1.000000 0.000000 0.000000
  Observed: 0.000000 1.000000 0.000000
45x79 (13, 33)-(30, 44) => 200x150 (-8, -5)-(9, 6) clamp_dst_x clamp_dst_y linear
Probe at (0,0)
  Expected: 1.000000 0.000000 0.000000
  Observed: 0.000000 1.000000 0.000000
45x79 (13, 33)-(30, 44) => 200x150 (192, 145)-(209, 156) clamp_dst_x clamp_dst_y nearest
Probe at (192,145)
  Expected: 1.000000 0.000000 0.000000
  Observed: 0.000000 1.000000 0.000000
45x79 (13, 33)-(30, 44) => 200x150 (192, 145)-(209, 156) clamp_dst_x clamp_dst_y linear
Probe at (192,145)
  Expected: 1.000000 0.000000 0.000000
  Observed: 0.000000 1.000000 0.000000
45x79 (-8, -5)-(9, 6) => 200x150 (19, 23)-(36, 34) clamp_src_x clamp_src_y nearest
45x79 (-8, -5)-(9, 6) => 200x150 (19, 23)-(36, 34) clamp_src_x clamp_src_y linear
45x79 (37, 74)-(54, 85) => 200x150 (19, 23)-(36, 34) clamp_src_x clamp_src_y nearest
45x79 (37, 74)-(54, 85) => 200x150 (19, 23)-(36, 34) clamp_src_x clamp_src_y linear
45x79 (0, 0)-(45, 79) => 200x150 (0, 0)-(200, 150) stretch_x stretch_y nearest
45x79 (0, 0)-(45, 79) => 200x150 (0, 0)-(200, 150) stretch_x stretch_y linear
PIGLIT: {'result': 'fail' }


d1b929a13713e740c06e3abc8666fe56b513a41a is the first bad commit
commit d1b929a13713e740c06e3abc8666fe56b513a41a
Author: Marek Olšák <maraeo@gmail.com>
Date:   Thu Sep 13 00:57:39 2012 +0200

    st/mesa: implement BlitFramebuffer using gallium blit
    
    This also fixes a lot tests, especially all the clip-and-scissor-blit MSAA
    piglit tests.
    
    Tested-by: Michel Dänzer <michel.daenzer@amd.com>
    Reviewed-by: Brian Paul <brianp@vmware.com>

:040000 040000 5e81a179da7562b5833e54f6b54712e6b0888a01 6b30d47066408dc2b0af21f4b54d6c7f92288e0f M	src
bisect run success
Comment 1 Marek Olšák 2012-09-30 21:59:57 UTC
This is a known issue and I mentioned it on the mailing list. There seems to be a bug in softpipe's culling or clipping.

The problem is if one of the vertex coordinates is negative, the whole primitive is culled. llvmpipe takes the same codepath in gallium components as softpipe (except for Draw?) and doesn't have the issue.

To see the problem clearly, run fbo-blit-stretched with the first argument being the test index.
Comment 2 Vinson Lee 2013-01-14 00:50:56 UTC
mesa: 6acef6c5f779ed0ba390f556479c428a36d70edb (master)

This regression is still present.
Comment 3 Brian Paul 2013-01-21 18:52:17 UTC
I just posted a patch for this.  The problem was in the clipper's vertex interpolation code.  The screen-space linear-interpolation code was broken so we were getting bogus texcoords in the fragment shader used by the blitter.
Comment 4 Brian Paul 2013-01-22 21:56:01 UTC
Fixed with commit ab74fee5e1a3fc3323b7238278637b232c2d0d95


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.