summaryrefslogtreecommitdiff
path: root/src/glsl/ir_function_inlining.cpp
AgeCommit message (Collapse)Author
2010-08-04glsl2: Make the clone() method take a talloc context.Eric Anholt
In most cases, we needed to be reparenting the cloned IR to a different context (for example, to the linked shader instead of the unlinked shader), or optimization before the reparent would cause memory usage of the original object to grow and grow.
2010-08-02glsl2: Give the path within src/mesa/ for headers instead of relying on -I.Aras Pranckevicius
2010-07-29glsl2: Fix spelling of "sentinel."Eric Anholt
2010-07-29glsl2: Remove an inlined unvalued return statement.Eric Anholt
We already have asserts that it was the last call in the function, so it's safe to remove after it got cloned in. Fixes: glsl-fs-functions-4.
2010-07-22glsl2: When inlining, don't clone and assign sampler arguments.Eric Anholt
Instead, just use the incoming sampler param. Fixes many texture-using piglit tests since the linker rework.
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-20glsl2: Fix handling of out values in function inlining.Eric Anholt
The parameters[i] is our inlined variables representing the parameters, so they are always ir_var_auto. Walk the signature params in handling "out" values like we do for "in" values to find the mode. Fixes (with the previous 2 commits): glsl1-function call with in, out params glsl1-function call with inout params
2010-07-12glsl2: Check when inlining a bare function call that it actually is.Eric Anholt
It would be easy to miss an entry either of the two visitors involved that would result in trying to ir->remove() the call to remove it from the instruction stream when really it's part of an expression tree that wasn't flattened.
2010-07-06glsl2: Clone methods return the type of the thing being clonedIan Romanick
This is as opposed to returning the type of the base class of the hierarchy.
2010-07-06Add hash table helper functions for using pointers as hash keysIan Romanick
2010-06-24glsl2: Wrap includes of C interfaces with extern "C".Eric Anholt
2010-06-24glsl2: Move the compiler to the subdirectory it will live in in Mesa.Eric Anholt