i965/gen4: Fix crash with fragment programs and texture rectangle.
authorEric Anholt <eric@anholt.net>
Sun, 18 Nov 2012 21:18:03 +0000 (13:18 -0800)
committerEric Anholt <eric@anholt.net>
Tue, 20 Nov 2012 06:33:44 +0000 (22:33 -0800)
This was a regression in the brw_fs_fp.cpp change.  We just need to return
something good enough to get the IR generation to the end without crashing,
but ir->type isn't initialized and we wanted something of the coordinate's
type anyway.

Fixes around 30 piglit cases on my ilk system in drawpixels and framebuffer
blit.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=56962
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/brw_fs_visitor.cpp

index edadd3513c95f05383791ca6f4e47c261c6eb425..1b797b583050f293fdf89e1e2143c1d4de96f68b 100644 (file)
@@ -1175,7 +1175,7 @@ fs_visitor::rescale_texcoord(ir_texture *ir, fs_reg coordinate,
 
       if (c->dispatch_width == 16) {
         fail("rectangle scale uniform setup not supported on 16-wide\n");
-        return fs_reg(this, ir->type);
+        return coordinate;
       }
 
       scale_x = fs_reg(UNIFORM, c->prog_data.nr_params);