mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-31 18:30:09 +01:00
radeonsi: enable BC_OPTIMIZE if centroid isn't used
This solution was recommended by a Catalyst developer. Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
This commit is contained in:
parent
38391835b5
commit
8339585b12
1 changed files with 5 additions and 1 deletions
|
|
@ -404,6 +404,7 @@ static void si_shader_ps(struct si_shader *shader)
|
|||
unsigned num_sgprs, num_user_sgprs;
|
||||
unsigned spi_baryc_cntl = 0;
|
||||
uint64_t va;
|
||||
bool has_centroid;
|
||||
|
||||
pm4 = shader->pm4 = CALLOC_STRUCT(si_pm4_state);
|
||||
|
||||
|
|
@ -435,8 +436,11 @@ static void si_shader_ps(struct si_shader *shader)
|
|||
}
|
||||
}
|
||||
|
||||
has_centroid = G_0286CC_PERSP_CENTROID_ENA(shader->spi_ps_input_ena) ||
|
||||
G_0286CC_LINEAR_CENTROID_ENA(shader->spi_ps_input_ena);
|
||||
|
||||
spi_ps_in_control = S_0286D8_NUM_INTERP(shader->nparam) |
|
||||
S_0286D8_BC_OPTIMIZE_DISABLE(1);
|
||||
S_0286D8_BC_OPTIMIZE_DISABLE(has_centroid);
|
||||
|
||||
si_pm4_set_reg(pm4, R_0286E0_SPI_BARYC_CNTL, spi_baryc_cntl);
|
||||
si_pm4_set_reg(pm4, R_0286D8_SPI_PS_IN_CONTROL, spi_ps_in_control);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue