summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2010-07-27 10:39:40 -0700
committerEric Anholt <[email protected]>2010-07-27 10:41:01 -0700
commit9a770ee49f8cb82653bb5c1976f7751d9a6b801e (patch)
treefe63d2519774c727d14bf967c146a35fbc7cfa4e
parentfdbaca931a504a70d6fec54e2f85caac6281377d (diff)
ir_to_mesa: Set the swizzle on constant struct src regs.
MESA_GLSL=nopt now produces believable output for glsl-fs-raytrace.
-rw-r--r--src/mesa/program/ir_to_mesa.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/mesa/program/ir_to_mesa.cpp b/src/mesa/program/ir_to_mesa.cpp
index defacc7fdc4..5cc999c2e35 100644
--- a/src/mesa/program/ir_to_mesa.cpp
+++ b/src/mesa/program/ir_to_mesa.cpp
@@ -1389,6 +1389,7 @@ ir_to_mesa_visitor::visit(ir_constant *ir)
if (ir->type->base_type == GLSL_TYPE_STRUCT) {
ir_to_mesa_src_reg temp_base = get_temp(ir->type);
+ temp_base.swizzle = SWIZZLE_NOOP;
ir_to_mesa_dst_reg temp = ir_to_mesa_dst_reg_from_src(temp_base);
foreach_iter(exec_list_iterator, iter, ir->components) {