summaryrefslogtreecommitdiff
path: root/src/glsl/link_functions.cpp
AgeCommit message (Collapse)Author
2011-03-08linker: Add imported functions to the linked IRIan Romanick
Fixes piglit test glsl-function-chain16 and bugzilla #34203. NOTE: This is a candidate for stable release branches.
2011-02-21Use C-style system headers in C++ code to avoid issues with std:: namespaceIan Romanick
2011-01-25linker: Propagate max_array_access while linking functionsIan Romanick
Update the max_array_access of a global as functions that use that global are pulled into the linked shader. Fixes piglit test glsl-fs-implicit-array-size-01 and bugzilla #33219. NOTE: This is a candidate for the 7.9 and 7.10 branches.
2011-01-21glsl, i965: Remove unnecessary talloc includes.Kenneth Graunke
These are already picked up by ir.h or glsl_types.h.
2010-11-29glsl: Make the symbol table's add_variable just use the variable's name.Eric Anholt
2010-08-30linker: Require an exact matching signature when looking for prototypes.Kenneth Graunke
Fixes piglit test glsl-override-builtin. The linker incorrectly found the prototype for the float signature, rather than adding a new prototype with the int return type. This caused ir_calls with type int to have their callees set to the float signature, triggering an assert.
2010-08-24glsl: Include main/core.h.Chia-I Wu
Make glsl include only main/core.h from core mesa.
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-30glsl2: Update the callee pointer of calls to newly-linked-in functions.Eric Anholt
Otherwise, ir_function_inlining will see the body of the function from the unlinked version of the shader, which won't have had the lowering passes done on it or linking's variable remapping.
2010-07-19linker: Recursively resolve function calls in imported functionsIan Romanick
2010-07-19linker: look up function signatures during linking instead of using calleeIan Romanick
Instead of using ir_call::callee, search for the signature in the linked shader. This will allow resolving calls from functions imported from other shaders. The ir_call::callee pointer in the imported function will still reference a signature in the original shader.
2010-07-19linker: Pull find_matching_signature out of call_link_visitorIan Romanick
The list of shaders to search needs to be provided as an explicit parameter to support coming changes. At that point there is no reason for it to be in the class. Also, fix some of the 'const' decorators.
2010-07-19linker: First bits of intrastage, intershader function linkingIan Romanick
This handles the easy case of linking a function in a different compilation unit that doesn't call any functions or reference any global variables.