diff options
author | Eric Anholt <[email protected]> | 2010-08-05 10:13:10 -0700 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2010-08-05 10:18:45 -0700 |
commit | e995f0e10c9ee51f7c8f8fa2193ff99e1b49e40d (patch) | |
tree | bc5711a39791fa71e641625bf79fc9194b6780d8 | |
parent | 2e853ca23c8670246dd4efcee0706f68097652f7 (diff) |
ir_to_mesa: Don't do function inlining until linking.
Optimizations at compile time should generally be done with the goal
of reducing instruction count so that other work, particularly
linking, is less time-consuming if the shader is used multiple times.
However, function inlining increases instruction count for the inlined
function bodies without removing the original function body, since we
don't know if it will be used at link time or not.
Reduces the runtime of linking and executing a Yo Frankie fragment
shader from 0.9 seconds to 0.5 seconds (-45.9%, +/- 2.2%, n=5).
-rw-r--r-- | src/mesa/program/ir_to_mesa.cpp | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/src/mesa/program/ir_to_mesa.cpp b/src/mesa/program/ir_to_mesa.cpp index 74996ae4802..299b11d2741 100644 --- a/src/mesa/program/ir_to_mesa.cpp +++ b/src/mesa/program/ir_to_mesa.cpp @@ -2604,7 +2604,6 @@ _mesa_glsl_compile_shader(GLcontext *ctx, struct gl_shader *shader) do { progress = false; - progress = do_function_inlining(shader->ir) || progress; progress = do_if_simplification(shader->ir) || progress; progress = do_copy_propagation(shader->ir) || progress; progress = do_dead_code_local(shader->ir) || progress; |