mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-13 18:30:17 +01:00
r600+sfn: Assign ps_conservative_z and switch to NIR defines
Signed-off-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22778>
This commit is contained in:
parent
c815189112
commit
bbd265b8e8
3 changed files with 11 additions and 6 deletions
|
|
@ -3511,13 +3511,13 @@ void evergreen_update_ps_state(struct pipe_context *ctx, struct r600_pipe_shader
|
|||
|
||||
switch (rshader->ps_conservative_z) {
|
||||
default: /* fall through */
|
||||
case TGSI_FS_DEPTH_LAYOUT_ANY:
|
||||
case FRAG_DEPTH_LAYOUT_ANY:
|
||||
db_shader_control |= S_02880C_CONSERVATIVE_Z_EXPORT(V_02880C_EXPORT_ANY_Z);
|
||||
break;
|
||||
case TGSI_FS_DEPTH_LAYOUT_GREATER:
|
||||
case FRAG_DEPTH_LAYOUT_GREATER:
|
||||
db_shader_control |= S_02880C_CONSERVATIVE_Z_EXPORT(V_02880C_EXPORT_GREATER_THAN_Z);
|
||||
break;
|
||||
case TGSI_FS_DEPTH_LAYOUT_LESS:
|
||||
case FRAG_DEPTH_LAYOUT_LESS:
|
||||
db_shader_control |= S_02880C_CONSERVATIVE_Z_EXPORT(V_02880C_EXPORT_LESS_THAN_Z);
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1578,13 +1578,13 @@ static void r600_emit_db_misc_state(struct r600_context *rctx, struct r600_atom
|
|||
if (rctx->b.gfx_level >= R700) {
|
||||
switch (a->ps_conservative_z) {
|
||||
default: /* fall through */
|
||||
case TGSI_FS_DEPTH_LAYOUT_ANY:
|
||||
case FRAG_DEPTH_LAYOUT_ANY:
|
||||
db_render_control |= S_028D0C_CONSERVATIVE_Z_EXPORT(V_028D0C_EXPORT_ANY_Z);
|
||||
break;
|
||||
case TGSI_FS_DEPTH_LAYOUT_GREATER:
|
||||
case FRAG_DEPTH_LAYOUT_GREATER:
|
||||
db_render_control |= S_028D0C_CONSERVATIVE_Z_EXPORT(V_028D0C_EXPORT_GREATER_THAN_Z);
|
||||
break;
|
||||
case TGSI_FS_DEPTH_LAYOUT_LESS:
|
||||
case FRAG_DEPTH_LAYOUT_LESS:
|
||||
db_render_control |= S_028D0C_CONSERVATIVE_Z_EXPORT(V_028D0C_EXPORT_LESS_THAN_Z);
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1084,6 +1084,11 @@ r600_shader_from_nir(struct r600_context *rctx,
|
|||
return -1;
|
||||
}
|
||||
|
||||
|
||||
if (sh->info.stage == MESA_SHADER_FRAGMENT)
|
||||
pipeshader->shader.ps_conservative_z =
|
||||
sh->info.fs.depth_layout = sh->info.fs.depth_layout;
|
||||
|
||||
if (sh->info.stage == MESA_SHADER_GEOMETRY) {
|
||||
r600::sfn_log << r600::SfnLog::shader_info
|
||||
<< "Geometry shader, create copy shader\n";
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue