glsl2: Add and use new variable mode ir_var_temporary
authorIan Romanick <ian.d.romanick@intel.com>
Tue, 20 Jul 2010 00:12:42 +0000 (17:12 -0700)
committerIan Romanick <ian.d.romanick@intel.com>
Wed, 21 Jul 2010 00:48:24 +0000 (17:48 -0700)
commit7e2aa91507a5883e33473e0a94215ee3985baad1
tree0e88667d83141c9359eb00b50d6945b4e18c8e72
parent1124e5a3cbba839ffd968742bfa3295c8de5498c
glsl2: Add and use new variable mode ir_var_temporary

This is quite a large patch because breaking it into smaller pieces
would result in the tree being intermitently broken.  The big changes
are:

    * Add the ir_var_temporary variable mode

    * Change the ir_variable constructor to take the mode as a
      parameter and correctly specify the mode for all ir_varables.

    * Change the linker to not cross validate ir_var_temporary
      variables.

    * Change the linker to pull all ir_var_temporary variables from
      global scope into 'main'.
18 files changed:
src/glsl/ast_function.cpp
src/glsl/ast_to_hir.cpp
src/glsl/glsl_types.cpp
src/glsl/ir.cpp
src/glsl/ir.h
src/glsl/ir_clone.cpp
src/glsl/ir_expression_flattening.cpp
src/glsl/ir_function.cpp
src/glsl/ir_function_inlining.cpp
src/glsl/ir_if_return.cpp
src/glsl/ir_if_to_cond_assign.cpp
src/glsl/ir_mat_op_to_vec.cpp
src/glsl/ir_mod_to_fract.cpp
src/glsl/ir_reader.cpp
src/glsl/ir_variable.cpp
src/glsl/ir_vec_index_to_cond_assign.cpp
src/glsl/linker.cpp
src/mesa/shader/ir_to_mesa.cpp