[Mesa-dev] [PATCH 2/2] i965/vs: Fix texelFetchOffset() on pre-Gen7.
Kenneth Graunke
kenneth at whitecape.org
Mon Jun 4 23:15:11 CEST 2012
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 <kenneth at whitecape.org>
---
src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
index c2b1033..cfffef4 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
--
1.7.10.3
More information about the mesa-dev
mailing list