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
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.
mesa: 6acef6c5f779ed0ba390f556479c428a36d70edb (master) This regression is still present.
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.
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.