aboutsummaryrefslogtreecommitdiffstats
path: root/src/glsl/lower_mat_op_to_vec.cpp
Commit message (Collapse)AuthorAgeFilesLines
* glsl: Hide many classes local to individual .cpp files in anon namespaces.Eric Anholt2013-09-231-0/+4
| | | | | | | | This gives the compiler the chance to inline and not export class symbols even in the absence of LTO. Saves about 60kb on disk. Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* glsl: fix signed/unsigned comparision warnings on MSVCBrian Paul2012-11-061-4/+4
| | | | Reviewed-by: Jose Fonseca <[email protected]>
* glsl: Use the default values of ir_assignment() in lower_mat_op_to_vec.Eric Anholt2011-06-291-24/+8
| | | | Reviewed-by: Kenneth Graunke <[email protected]>
* glsl: Avoid making a temporary for lower_mat_op_to_vec if not needed.Eric Anholt2011-06-291-0/+11
| | | | | | | | | | | | | Our copy propagation tends to be bad at handling the later array accesses of the matrix argument we moved to a temporary. Generally we don't need to move it to a temporary, though, so this avoids needing more copy propagation complexity. Reduces instruction count of some Unigine Tropics and Sanctuary fragment shaders that do operations on uniform matrix arrays by 5.9% on gen6. Reviewed-by: Kenneth Graunke <[email protected]>
* glsl: Make lower_mat_op_to_vec track derefs, not variables.Eric Anholt2011-06-291-71/+56
| | | | | | | We were constrained to using temporaries because we were assuming variables all over. This simplifies things a bit. Reviewed-by: Kenneth Graunke <[email protected]>
* glsl: Rename lower_mat_op_to_vec operands/results to be less hungarian.Eric Anholt2011-06-291-74/+74
| | | | | | | | | | | This awkward typing was to avoid shadowing the function argument (the matrix) with the temporary deref (the column) before the get_column()/get_element()s were moved into the expression/assignment constructors. They're about to become not-variables, so the current names had to go. This change is almost mechanical (other than column_expr), so it should make the next diff clearer. Reviewed-by: Kenneth Graunke <[email protected]>
* glsl: Move get_{column,element} to expression args.Eric Anholt2011-06-291-43/+22
| | | | | | | | I think this makes the code more obvious by moving the declarations to their single usage (now that we aren't using them to get at the ->type field for expression constructors). Reviewed-by: Kenneth Graunke <[email protected]>
* glsl: Drop explicit types of lower_mat_op_to_vec expressions.Eric Anholt2011-06-291-27/+6
| | | | | | The constructor can figure it out for us these days. Reviewed-by: Kenneth Graunke <[email protected]>
* Use C-style system headers in C++ code to avoid issues with std:: namespaceIan Romanick2011-02-211-3/+0
|
* glsl: Add using statements for standard library functions.Vinson Lee2011-02-031-0/+3
| | | | | | | | | | | | | Standard library functions in C++ are in the std namespace. When using C++-style header files for the standard library, some compilers, such as Sun Studio, provide symbols only for the std namespace and not for the global namespace. This patch adds using statements for standard library functions. Another option could have been to prepend standard library function calls with 'std::'. This patch fixes several compilation errors with Sun Studio.
* Convert everything from the talloc API to the ralloc API.Kenneth Graunke2011-01-311-1/+1
|
* glsl: Eliminate assumptions about size of ir_expression::operandsIan Romanick2010-11-191-0/+2
| | | | This may grow in the near future.
* glsl: Fix Doxygen tag \file in recently renamed filesChad Versace2010-11-171-1/+1
|
* glsl: Rename various ir_* files to lower_* and opt_*.Kenneth Graunke2010-11-151-0/+488
This helps distinguish between lowering passes, optimization passes, and other compiler code.