mesa: glsl: re-org of intermediate/temp storage
authorBrian Paul <brian.paul@tungstengraphics.com>
Tue, 5 Aug 2008 22:18:39 +0000 (16:18 -0600)
committerBrian Paul <brian.paul@tungstengraphics.com>
Tue, 5 Aug 2008 22:18:39 +0000 (16:18 -0600)
commit1308ca6d2168c5c2f81a8e675687e9d9a4db1a28
tree43f2e21146f58870037442871b833ea447dd5551
parent749c1b9fbe4bd89e61dfc3657ad4f8adae20ff2b
mesa: glsl: re-org of intermediate/temp storage

Simplify the code for allocating storage for intermediate results.  Use fewer
temps in some cases.

Also, use new asm vec4_move intrinsic instead of regular assigments in various
constructors.  For example:
  float f;
  vec3 v;
  v.xyz = f;
is not legal GLSL, so do this instead:
  __asm vec4_move v.xyz, f;  // note: f will auto-expand into f.xxxx

Plus, fix assorted bugs in structure comparison.
src/mesa/shader/slang/library/slang_common_builtin.gc
src/mesa/shader/slang/library/slang_core.gc
src/mesa/shader/slang/slang_codegen.c
src/mesa/shader/slang/slang_emit.c
src/mesa/shader/slang/slang_ir.c
src/mesa/shader/slang/slang_ir.h
src/mesa/shader/slang/slang_vartable.c