#1 fixes slots order for x & y writes in the LIT implementation. Without this patch "fp-lit-mask" piglit test fails after patch 3. It seems wrong order causes wrong PV.* values for the next instruction.
#2 reduces unneeded calls to r600_spi_update. #3 implements color clamping in shaders by adding "MOV_SAT R,R" instructions for each color output before export. Shaders are rebuilt when clamping state changes. Fixes https://bugs.freedesktop.org/show_bug.cgi?id=38440 There are no regressions with r600.tests on evergreen with these patches. r600g: LIT: fix x&y slots order r600g: optimize spi update r600g: implement fragment and vertex color clamp src/gallium/drivers/r600/evergreen_state.c | 2 + src/gallium/drivers/r600/r600_pipe.c | 2 +- src/gallium/drivers/r600/r600_pipe.h | 8 +++- src/gallium/drivers/r600/r600_shader.c | 74 ++++++++++++++++++++------ src/gallium/drivers/r600/r600_shader.h | 1 + src/gallium/drivers/r600/r600_state.c | 2 + src/gallium/drivers/r600/r600_state_common.c | 40 ++++++++++++-- 7 files changed, 106 insertions(+), 23 deletions(-) -- 1.7.5.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev