radeonsi: remove shader.ps_conservative_z, set db_shader_control instead
Also set the field on SI too. It's not just specific to CIK. Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
This commit is contained in:
parent
884f1654e2
commit
a34c9f70b1
|
@ -2818,17 +2818,18 @@ int si_pipe_shader_create(
|
||||||
|
|
||||||
si_shader_ctx.radeon_bld.load_input = declare_input_fs;
|
si_shader_ctx.radeon_bld.load_input = declare_input_fs;
|
||||||
bld_base->emit_epilogue = si_llvm_emit_fs_epilogue;
|
bld_base->emit_epilogue = si_llvm_emit_fs_epilogue;
|
||||||
shader->shader.ps_conservative_z = V_02880C_EXPORT_ANY_Z;
|
|
||||||
|
|
||||||
for (i = 0; i < shader_info.num_properties; i++) {
|
for (i = 0; i < shader_info.num_properties; i++) {
|
||||||
switch (shader_info.properties[i].name) {
|
switch (shader_info.properties[i].name) {
|
||||||
case TGSI_PROPERTY_FS_DEPTH_LAYOUT:
|
case TGSI_PROPERTY_FS_DEPTH_LAYOUT:
|
||||||
switch (shader_info.properties[i].data[0]) {
|
switch (shader_info.properties[i].data[0]) {
|
||||||
case TGSI_FS_DEPTH_LAYOUT_GREATER:
|
case TGSI_FS_DEPTH_LAYOUT_GREATER:
|
||||||
shader->shader.ps_conservative_z = V_02880C_EXPORT_GREATER_THAN_Z;
|
shader->db_shader_control |=
|
||||||
|
S_02880C_CONSERVATIVE_Z_EXPORT(V_02880C_EXPORT_GREATER_THAN_Z);
|
||||||
break;
|
break;
|
||||||
case TGSI_FS_DEPTH_LAYOUT_LESS:
|
case TGSI_FS_DEPTH_LAYOUT_LESS:
|
||||||
shader->shader.ps_conservative_z = V_02880C_EXPORT_LESS_THAN_Z;
|
shader->db_shader_control |=
|
||||||
|
S_02880C_CONSERVATIVE_Z_EXPORT(V_02880C_EXPORT_LESS_THAN_Z);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -140,7 +140,6 @@ struct si_shader {
|
||||||
unsigned gs_input_prim;
|
unsigned gs_input_prim;
|
||||||
unsigned gs_output_prim;
|
unsigned gs_output_prim;
|
||||||
unsigned gs_max_out_vertices;
|
unsigned gs_max_out_vertices;
|
||||||
unsigned ps_conservative_z;
|
|
||||||
|
|
||||||
unsigned nparam;
|
unsigned nparam;
|
||||||
bool uses_kill;
|
bool uses_kill;
|
||||||
|
|
|
@ -269,10 +269,6 @@ static void si_pipe_shader_ps(struct pipe_context *ctx, struct si_pipe_shader *s
|
||||||
if (shader->shader.uses_kill || shader->key.ps.alpha_func != PIPE_FUNC_ALWAYS)
|
if (shader->shader.uses_kill || shader->key.ps.alpha_func != PIPE_FUNC_ALWAYS)
|
||||||
db_shader_control |= S_02880C_KILL_ENABLE(1);
|
db_shader_control |= S_02880C_KILL_ENABLE(1);
|
||||||
|
|
||||||
if (sctx->b.chip_class >= CIK)
|
|
||||||
db_shader_control |=
|
|
||||||
S_02880C_CONSERVATIVE_Z_EXPORT(shader->shader.ps_conservative_z);
|
|
||||||
|
|
||||||
spi_ps_in_control = S_0286D8_NUM_INTERP(shader->shader.nparam) |
|
spi_ps_in_control = S_0286D8_NUM_INTERP(shader->shader.nparam) |
|
||||||
S_0286D8_BC_OPTIMIZE_DISABLE(1);
|
S_0286D8_BC_OPTIMIZE_DISABLE(1);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue