si_shader_ctx.radeon_bld.load_input = declare_input_fs;
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++) {
switch (shader_info.properties[i].name) {
case TGSI_PROPERTY_FS_DEPTH_LAYOUT:
switch (shader_info.properties[i].data[0]) {
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;
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;
if (shader->shader.uses_kill || shader->key.ps.alpha_func != PIPE_FUNC_ALWAYS)
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) |
S_0286D8_BC_OPTIMIZE_DISABLE(1);