diff options
author | Kenneth Graunke <[email protected]> | 2010-11-25 00:09:43 -0800 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2010-11-25 01:19:53 -0800 |
commit | e8a24c65bc06a2a098c05728df0da1e5ed61b1de (patch) | |
tree | 5e33de528419a03a98b5e017b957495b27e7373f /src | |
parent | 2cc79acc1ab5cdaadc427526a146c2c27ee0f906 (diff) |
glsl: Don't inline function prototypes.
Currently, the standalone compiler tries to do function inlining before
linking shaders (including linking against the built-in functions).
This resulted in the built-in function _prototypes_ being inlined rather
than the actual function definition.
This is only known to fix a bug in the standalone compiler; most
programs should be unaffected. Still, it seems like a good idea.
NOTE: This is a candidate for the 7.9 branch.
Diffstat (limited to 'src')
-rw-r--r-- | src/glsl/ir_function_can_inline.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/glsl/ir_function_can_inline.cpp b/src/glsl/ir_function_can_inline.cpp index f29f277ef4b..c367c30e44f 100644 --- a/src/glsl/ir_function_can_inline.cpp +++ b/src/glsl/ir_function_can_inline.cpp @@ -60,6 +60,8 @@ can_inline(ir_call *call) { ir_function_can_inline_visitor v; const ir_function_signature *callee = call->get_callee(); + if (!callee->is_defined) + return false; v.run((exec_list *) &callee->body); |