summaryrefslogtreecommitdiffstats
path: root/src/mesa/program/prog_optimize.h
diff options
context:
space:
mode:
authorIan Romanick <ian.d.romanick@intel.com>2011-02-10 15:48:27 -0800
committerIan Romanick <ian.d.romanick@intel.com>2011-08-16 14:38:39 -0700
commit54c48a95e6e0573886433f94ac83293876ffe03d (patch)
treecfac8d58d943e3d72a97b0df8f0afc2cf01a39e8 /src/mesa/program/prog_optimize.h
parentff2cfb8989cd79218dfe2cd8c3de20f1ca7418e6 (diff)
downloadexternal_mesa3d-54c48a95e6e0573886433f94ac83293876ffe03d.zip
external_mesa3d-54c48a95e6e0573886433f94ac83293876ffe03d.tar.gz
external_mesa3d-54c48a95e6e0573886433f94ac83293876ffe03d.tar.bz2
mesa: Add partial constant propagation pass for Mesa IR
This cleans up some code generated by the IR-to-Mesa pass for i915. In particular, some shaders involving arrays of constant matrices result in really bad code. v2: Silence several warnings from merging the gl_constant_value work. Fix DP[23] folding. Add support for a bunch more opcodes that appear in piglit runs on i915. Reviewed-by: Eric Anholt <eric@anholt.net>
Diffstat (limited to 'src/mesa/program/prog_optimize.h')
-rw-r--r--src/mesa/program/prog_optimize.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/mesa/program/prog_optimize.h b/src/mesa/program/prog_optimize.h
index 463f5fc..9854fb7 100644
--- a/src/mesa/program/prog_optimize.h
+++ b/src/mesa/program/prog_optimize.h
@@ -44,4 +44,7 @@ _mesa_find_temp_intervals(const struct prog_instruction *instructions,
extern void
_mesa_optimize_program(struct gl_context *ctx, struct gl_program *program);
+extern GLboolean
+_mesa_constant_fold(struct gl_program *prog);
+
#endif