summaryrefslogtreecommitdiff
path: root/src/glsl/ir_expression_flattening.cpp
AgeCommit message (Collapse)Author
2010-08-26glsl2: Move ir_expression_flattening to using the rvalue visitor class.Eric Anholt
The previous implementation was missing handling of some rvalues, such as "if" conditions, leading to glsl-mat-int-from-ctor-* not getting caught.
2010-07-21glsl2: Replace insert_before/remove pairs with exec_node::replace_with.Kenneth Graunke
2010-07-20glsl2: Add and use new variable mode ir_var_temporaryIan Romanick
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-12glsl2: Flatten expression that appear as the parameters of ir_call as well.Eric Anholt
2010-07-12glsl2: Flatten expressions that appear as the children of ir_return as well.Eric Anholt
2010-07-12glsl2: Use a better talloc context for ir_expression_flattening.Eric Anholt
The instruction can be hung off of any other in the tree, even if the other one will be deleted, since it'll get stolen to the shader's context later if it's still live.
2010-07-12glsl2: Flatten out expressions that are the child of an assignment rhs.Eric Anholt
This feels a little odd, but it will be useful for ir_mat_to_vec, where I want to see a plain assignment of the expression to a variable, not to a writemasked array dereference with a call as the array index.
2010-06-24glsl2: Move the compiler to the subdirectory it will live in in Mesa.Eric Anholt