r600g: avoid unnecessary shader exports v2
authorVadim Girlin <vadimgirlin@gmail.com>
Tue, 26 Jun 2012 18:47:27 +0000 (22:47 +0400)
committerVadim Girlin <vadimgirlin@gmail.com>
Tue, 26 Jun 2012 22:06:55 +0000 (02:06 +0400)
commit0c47d9dcab80923c61b3f5375128e9b511b842fb
treea604add9f750a3a089f9924d2a9e466102887c3b
parent4acf71f01ea1edb253cd38cc059d4af1a2a40bf4
r600g: avoid unnecessary shader exports v2

In some cases TGSI shader has more color outputs than the number of CBs,
so it seems we need to limit the number of color exports. This requires
different shader variants depending on the nr_cbufs, but on the other hand
we are doing less exports, which are very costly.

v2: fix various piglit regressions

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
src/gallium/drivers/r600/evergreen_state.c
src/gallium/drivers/r600/r600_pipe.h
src/gallium/drivers/r600/r600_shader.c
src/gallium/drivers/r600/r600_shader.h
src/gallium/drivers/r600/r600_state.c
src/gallium/drivers/r600/r600_state_common.c