History log of /external/mesa3d/src/mesa/program/prog_optimize.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
54c48a95e6e0573886433f94ac83293876ffe03d 11-Feb-2011 Ian Romanick <ian.d.romanick@intel.com> 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>
/external/mesa3d/src/mesa/program/prog_optimize.c
6bd5f43f212962a054a41290b0f8e350dae2f40d 23-Jul-2011 Eric Anholt <eric@anholt.net> prog_optimize: Add support for saturates to _mesa_merge_mov_into_inst.

This fixes the remaining regression from ff_fragment_shader in Mesa IR
instruction count, to now being a 1.9% win overall.
/external/mesa3d/src/mesa/program/prog_optimize.c
fbeb68e880318808f90c779cd3f8b8c4160eecf8 21-Jul-2011 Ian Romanick <ian.d.romanick@intel.com> prog_optimize: Set unused regs to PROGRAM_UNDEFINED after CMP->MOV conversion

Leaving the unused registers with other values caused assertion
failures and other problems in places that blindly iterate over all
sources.

brw_vs_emit.c:1381: get_src_reg: Assertion `c->regs[file][index].nr !=
0' failed.

Fixes i965 piglit:

vs-uniform-array-mat[234]-col-row-rd
vs-uniform-array-mat[234]-index-col-row-rd
vs-uniform-array-mat[234]-index-row-rd
vs-uniform-mat[234]-col-row-rd

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/mesa/program/prog_optimize.c
dade65505bdf62da448479e316cc7f4f2da22417 15-Jul-2011 Marek Olšák <maraeo@gmail.com> prog_optimize: fix a warning that a variable may be uninitialized
/external/mesa3d/src/mesa/program/prog_optimize.c
97535699ee610a2f66732609f966102150847d3c 05-Apr-2011 Tom Stellard <tstellar@gmail.com> prog_optimize: Add simplify CMP optimization pass

This pass coverts CMP T0, T1 T2 T0 -> MOV T0, T2 when the CMP
instruction is the first instruction to write to register T0.
This pass is useful for hardware that requires a lot of lowering passes
that generate many CMP instructions.
/external/mesa3d/src/mesa/program/prog_optimize.c
257cc48de2f4e472eb651a4c70042e5cb6b9fe0e 06-Apr-2011 Tom Stellard <tstellar@gmail.com> prog_optimize: get_src_arg_mask() respect writemask for more opcodes

Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/mesa/program/prog_optimize.c
18dcbd358f1d4fd5e4a40fa26c6d3bf99485884e 27-Mar-2011 Tom Stellard <tstellar@gmail.com> prog_optimize: Fix reallocating registers for shaders with loops

Registers that are used inside of loops need to be considered live
starting with the first instruction of the outermost loop.

https://bugs.freedesktop.org/show_bug.cgi?id=34370

NOTE: This is a candidate for the 7.9 and 7.10 branches.

Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/mesa/program/prog_optimize.c
f9995b30756140724f41daf963fa06167912be7f 12-Oct-2010 Kristian Høgsberg <krh@bitplanet.net> Drop GLcontext typedef and use struct gl_context instead
/external/mesa3d/src/mesa/program/prog_optimize.c
5a38e70d59eb54aa375fb0f19c824bb74b71486d 17-Aug-2010 Benjamin Segovia <benjamin.segovia@intel.com> prog_optimize: Only merge writes to temporary registers

In one optimization pass, register files may have been messed therefore
merging instructions which use the same index in two different register
files.
/external/mesa3d/src/mesa/program/prog_optimize.c
6c03c576cc49bbb008de66d374f4302ff0fe0390 17-Aug-2010 Ian Romanick <ian.d.romanick@intel.com> Merge branch 'glsl2'

Conflicts:
src/mesa/program/prog_optimize.c
e8000ffeaf3a11a8173d0ffc3f3f6f4e800972d3 13-Aug-2010 Brian Paul <brianp@vmware.com> mesa: assorted clean-ups, var type changes, assertions in prog_optimize.c
/external/mesa3d/src/mesa/program/prog_optimize.c
9021c56a5738815777f27c39b63637b5975270c6 13-Aug-2010 Benjamin Segovia <benjamin.segovia@intel.com> mesa: more/better program optimizations

This is the patch from Benjamin's Aug 11, 2010 email with minor fixes
(such as moving declarations before code)

Signed-off-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/program/prog_optimize.c
8bbdf6e7cdfc3265439761a06eea79627f4ee2fa 27-Jul-2010 Eric Anholt <eric@anholt.net> mesa: Allow large temporary indices coming into the temporary reg allocator.

This gets glsl-vs-raytrace, glsl-fs-raytrace running on the new
compiler.
/external/mesa3d/src/mesa/program/prog_optimize.c
afe125e0a18ac3886c45c7e6b02b122fb2d327b5 27-Jul-2010 Eric Anholt <eric@anholt.net> Merge remote branch 'origin/master' into glsl2

This pulls in multiple i965 driver fixes which will help ensure better
testing coverage during development, and also gets past the conflicts
of the src/mesa/shader -> src/mesa/program move.

Conflicts:
src/mesa/Makefile
src/mesa/main/shaderapi.c
src/mesa/main/shaderobj.h
ec2b92f98c2e7f161521b447cc1d9a36bce3707c 11-Jun-2010 Brian Paul <brianp@vmware.com> mesa: rename src/mesa/shader/ to src/mesa/program/
/external/mesa3d/src/mesa/program/prog_optimize.c