Mesa (master): i965/gen4: Fix crash with fragment programs and texture rectangle.

Eric Anholt anholt at kemper.freedesktop.org
Tue Nov 20 06:40:17 UTC 2012


Module: Mesa
Branch: master
Commit: 1665af3066f3d58c42e9d5b13098f13615a7672c
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1665af3066f3d58c42e9d5b13098f13615a7672c

Author: Eric Anholt <eric at anholt.net>
Date:   Sun Nov 18 13:18:03 2012 -0800

i965/gen4: Fix crash with fragment programs and texture rectangle.

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 at whitecape.org>

---

 src/mesa/drivers/dri/i965/brw_fs_visitor.cpp |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
index edadd35..1b797b5 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
@@ -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);




More information about the mesa-commit mailing list