i965/vec4: adding vec4_cmod_propagation optimization
authorAlejandro Piñeiro <apinheiro@igalia.com>
Mon, 28 Sep 2015 15:00:19 +0000 (17:00 +0200)
committerAlejandro Piñeiro <apinheiro@igalia.com>
Thu, 22 Oct 2015 19:58:03 +0000 (21:58 +0200)
commit627f94b72e0e9443ad116f072599a7342269f297
treedeed9d3ba8f62865987c933d534eb0c02ebb67ae
parenta59359ecd22154cc2b3f88bb8c599f21af8a3934
i965/vec4: adding vec4_cmod_propagation optimization

vec4 port of fs_cmod_propagation.

Shader-db results (no vec4 grepping):
total instructions in shared programs: 6240413 -> 6235841 (-0.07%)
instructions in affected programs:     401933 -> 397361 (-1.14%)
total loops in shared programs:        1979 -> 1979 (0.00%)
helped:                                2265
HURT:                                  0

v2: remove extra space and combine two if blocks, as suggested by
    Matt Turner
v3: add condition check to bail out if current inst and inst being
    scanned has different writemask, as pointed by Matt Turner
v3: updated shader-db numbers
v4: remove block from foreach_inst_in_block_*_starting_from after
    commit 801f151917fedb13c5c6e96281a18d833dd6901f

Reviewed-by: Matt Turner <mattst88@gmail.com>
src/mesa/drivers/dri/i965/Makefile.sources
src/mesa/drivers/dri/i965/brw_vec4.cpp
src/mesa/drivers/dri/i965/brw_vec4.h
src/mesa/drivers/dri/i965/brw_vec4_cmod_propagation.cpp [new file with mode: 0644]