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
|