summaryrefslogtreecommitdiff
path: root/src/glsl/ir_rvalue_visitor.cpp
diff options
context:
space:
mode:
authorKenneth Graunke <kenneth@whitecape.org>2011-01-08 23:49:23 -0800
committerKenneth Graunke <kenneth@whitecape.org>2011-01-31 11:10:59 -0800
commitc5a27b5939427bdc95c926b450ed3de1ff4baafb (patch)
treeed0518338cbec7badc6a699a94167dbec5248429 /src/glsl/ir_rvalue_visitor.cpp
parent60c8e91c795dc604c08977d5773f96a4de8e402b (diff)
glsl: Change texel offsets to a single vector rvalue.
Having these as actual integer values makes it difficult to implement the texture*Offset built-in functions, since the offset is actually a function parameter (which doesn't have a constant value). The original rationale was that some hardware needs these offset baked into the instruction opcode. However, at least i965 should be able to support non-constant offsets. Others should be able to rely on inlining and constant propagation.
Diffstat (limited to 'src/glsl/ir_rvalue_visitor.cpp')
-rw-r--r--src/glsl/ir_rvalue_visitor.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/glsl/ir_rvalue_visitor.cpp b/src/glsl/ir_rvalue_visitor.cpp
index 773bfcfa3e..ed6c7cb6a1 100644
--- a/src/glsl/ir_rvalue_visitor.cpp
+++ b/src/glsl/ir_rvalue_visitor.cpp
@@ -53,6 +53,7 @@ ir_rvalue_visitor::visit_leave(ir_texture *ir)
handle_rvalue(&ir->coordinate);
handle_rvalue(&ir->projector);
handle_rvalue(&ir->shadow_comparitor);
+ handle_rvalue(&ir->offset);
switch (ir->op) {
case ir_tex: