Module: Mesa Branch: 9.2 Commit: 35c934571199ca7e6adae289a6891d72ec2c349b URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=35c934571199ca7e6adae289a6891d72ec2c349b
Author: Michel Dänzer <[email protected]> Date: Mon Aug 19 15:45:32 2013 +0200 radeonsi: Always pre-load separate VGPRs for centroid vs. center interpolation The LLVM R600 backend currently always uses separate VGPRs for these. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=68162 (Centroid interpolation is identical to center interpolation without multisampling, so the shader hardware was only pre-loading one set of interpolation coefficients, and the pixel shader code was using uninitialized values as the centroid interpolation coefficients) Cc: [email protected] Tested-by: Laurent Carlier <[email protected]> (cherry picked from commit be301f707e8c6ba3bb0574e64a0a4f1653af8fb7) --- src/gallium/drivers/radeonsi/si_state_draw.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/src/gallium/drivers/radeonsi/si_state_draw.c b/src/gallium/drivers/radeonsi/si_state_draw.c index 7d037d0..5e62617 100644 --- a/src/gallium/drivers/radeonsi/si_state_draw.c +++ b/src/gallium/drivers/radeonsi/si_state_draw.c @@ -190,7 +190,8 @@ static void si_pipe_shader_ps(struct pipe_context *ctx, struct si_pipe_shader *s exports_ps = 2; } - spi_ps_in_control = S_0286D8_NUM_INTERP(shader->shader.ninterp); + spi_ps_in_control = S_0286D8_NUM_INTERP(shader->shader.ninterp) | + S_0286D8_BC_OPTIMIZE_DISABLE(1); spi_baryc_cntl = 0; if (have_perspective) _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
