summaryrefslogtreecommitdiffstats
path: root/src/glsl/ir_expression_flattening.cpp
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2012-05-10 16:10:15 -0700
committerKenneth Graunke <[email protected]>2012-05-14 15:13:55 -0700
commita4e9b5a768d2d9e59b6054148afb6a6b94c0e4e6 (patch)
tree0a83adee4d9020077f13a4a379060a9d53ae88ff /src/glsl/ir_expression_flattening.cpp
parentd1029f99884e2ba7f663765274cd6bdb4f82feed (diff)
i965/fs: Add a local common subexpression elimination pass.
Total instructions: 18210 -> 17836 49/163 programs affected (30.1%) 12888 -> 12514 instructions in affected programs (2.9% reduction) This reduces Lightsmark's "Scale down filter" shader from 395 instructions to 283, a whopping 28%. It also reduces register pressure significantly: the SIMD8 program now uses 29 registers instead of 101, giving us more than enough room for a SIMD16 program. v2: Add && !inst->conditional_mod to the "skip some instructions" check. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
Diffstat (limited to 'src/glsl/ir_expression_flattening.cpp')
0 files changed, 0 insertions, 0 deletions