Commit graph

6 commits

Author SHA1 Message Date
Eric Anholt
3c96ef1f07 glsl: Make mat_op_to_vec allocate out of the IR's parent.
This will reduce memory consumption of compiled shaders by not
dragging optimized-out children around.
2010-08-27 16:11:00 -07:00
Eric Anholt
013bbbbb0a glsl2: Add support for ir_unop_neg to ir_mat_op_to_vec 2010-08-13 17:47:00 -07:00
Ian Romanick
83cb310dbb glsl2: Generate masked assignments in some expanded matrix operations 2010-08-04 16:47:28 -07:00
Ian Romanick
7e2aa91507 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'.
2010-07-20 17:48:24 -07:00
Eric Anholt
15ded63279 glsl2: Add matrix multiplication to ir_mat_op_to_vec. 2010-07-12 19:50:49 -07:00
Eric Anholt
6d8a0a0aad glsl2: Add a new pass at the IR level to break down matrix ops to vector ops.
This will be used by the Mesa IR and likely most HW backends, as it
allows other optimizations to occur that might not otherwise.

Fixes glsl-vs-mat-sub-1, glsl-vs-mat-div-1.
2010-07-12 13:26:46 -07:00