From: Kenneth Graunke Date: Mon, 4 Jun 2012 21:12:15 +0000 (-0700) Subject: i965/vs: Fix texelFetchOffset() on pre-Gen7. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=cb18472eca9910e7a4222ebc1b6b1b66869f5b53;p=mesa.git i965/vs: Fix texelFetchOffset() on pre-Gen7. Commit 4650aea7a536ddce120576fadb91845076e8e37a fixed texelFetchOffset() on Ivybridge, but didn't update the Ironlake/Sandybridge code. +18 piglits on Sandybridge. NOTE: This and 4650aea7a536ddce are both candidates for stable branches. Signed-off-by: Kenneth Graunke --- diff --git a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp index c2b103331aa..cfffef44605 100644 --- a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp +++ b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp @@ -1838,7 +1838,7 @@ vec4_visitor::visit(ir_texture *ir) inst->dst = dst_reg(this, ir->type); inst->shadow_compare = ir->shadow_comparitor != NULL; - if (ir->offset != NULL && !(intel->gen >= 7 && ir->op == ir_txf)) + if (ir->offset != NULL && ir->op != ir_txf) inst->texture_offset = brw_texture_offset(ir->offset->as_constant()); /* MRF for the first parameter */ @@ -1859,7 +1859,7 @@ vec4_visitor::visit(ir_texture *ir) zero_mask |= (1 << i); ir->coordinate->accept(this); - if (ir->offset && intel->gen >= 7 && ir->op == ir_txf) { + if (ir->offset && ir->op == ir_txf) { /* It appears that the ld instruction used for txf does its * address bounds check before adding in the offset. To work * around this, just add the integer offset to the integer