Mesa (glsl2): ir_to_mesa: Set the swizzle on constant struct src regs.

Eric Anholt anholt at kemper.freedesktop.org
Tue Jul 27 17:47:35 UTC 2010


Module: Mesa
Branch: glsl2
Commit: 9a770ee49f8cb82653bb5c1976f7751d9a6b801e
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9a770ee49f8cb82653bb5c1976f7751d9a6b801e

Author: Eric Anholt <eric at anholt.net>
Date:   Tue Jul 27 10:39:40 2010 -0700

ir_to_mesa: Set the swizzle on constant struct src regs.

MESA_GLSL=nopt now produces believable output for glsl-fs-raytrace.

---

 src/mesa/program/ir_to_mesa.cpp |    1 +
 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 defacc7..5cc999c 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) {




More information about the mesa-commit mailing list