mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 05:18:08 +02:00
r600g: take constantly interpolated values into a/c
We could constant interpolated values now and set have_perspective if nothing else is set to avoid a GPU hang. Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
21c5607e64
commit
2dfabdd0a4
1 changed files with 4 additions and 3 deletions
|
|
@ -2230,9 +2230,7 @@ void evergreen_pipe_shader_ps(struct pipe_context *ctx, struct r600_pipe_shader
|
|||
else if (rshader->input[i].name == TGSI_SEMANTIC_FACE)
|
||||
face_index = i;
|
||||
else {
|
||||
if (rshader->input[i].interpolate == TGSI_INTERPOLATE_LINEAR ||
|
||||
rshader->input[i].interpolate == TGSI_INTERPOLATE_PERSPECTIVE)
|
||||
ninterp++;
|
||||
ninterp++;
|
||||
if (rshader->input[i].interpolate == TGSI_INTERPOLATE_LINEAR)
|
||||
have_linear = TRUE;
|
||||
if (rshader->input[i].interpolate == TGSI_INTERPOLATE_PERSPECTIVE)
|
||||
|
|
@ -2274,6 +2272,9 @@ void evergreen_pipe_shader_ps(struct pipe_context *ctx, struct r600_pipe_shader
|
|||
have_perspective = TRUE;
|
||||
}
|
||||
|
||||
if (!have_perspective && !have_linear)
|
||||
have_perspective = TRUE;
|
||||
|
||||
spi_ps_in_control_0 = S_0286CC_NUM_INTERP(ninterp) |
|
||||
S_0286CC_PERSP_GRADIENT_ENA(have_perspective) |
|
||||
S_0286CC_LINEAR_GRADIENT_ENA(have_linear);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue