summaryrefslogtreecommitdiffstats
path: root/src/glsl/link_functions.cpp
Commit message (Collapse)AuthorAgeFilesLines
* linker: Require an exact matching signature when looking for prototypes.Kenneth Graunke2010-08-301-1/+1
| | | | | | | 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.
* glsl: Include main/core.h.Chia-I Wu2010-08-241-1/+1
| | | | Make glsl include only main/core.h from core mesa.
* glsl2: Make the clone() method take a talloc context.Eric Anholt2010-08-041-3/+3
| | | | | | | 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.
* glsl2: Give the path within src/mesa/ for headers instead of relying on -I.Aras Pranckevicius2010-08-021-1/+1
|
* glsl2: Update the callee pointer of calls to newly-linked-in functions.Eric Anholt2010-07-301-0/+2
| | | | | | 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.
* linker: Recursively resolve function calls in imported functionsIan Romanick2010-07-191-3/+46
|
* linker: look up function signatures during linking instead of using calleeIan Romanick2010-07-191-24/+59
| | | | | | | 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.
* linker: Pull find_matching_signature out of call_link_visitorIan Romanick2010-07-191-21/+27
| | | | | | 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.
* linker: First bits of intrastage, intershader function linkingIan Romanick2010-07-191-0/+176
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.