Module: Mesa
Branch: main
Commit: bbd265b8e8b9bdf253958168eba70e4826508d2a
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=bbd265b8e8b9bdf253958168eba70e4826508d2a

Author: Gert Wollny <[email protected]>
Date:   Mon May  1 13:01:12 2023 +0200

r600+sfn: Assign ps_conservative_z and switch to NIR defines

Signed-off-by: Gert Wollny <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22778>

---

 src/gallium/drivers/r600/evergreen_state.c | 6 +++---
 src/gallium/drivers/r600/r600_state.c      | 6 +++---
 src/gallium/drivers/r600/sfn/sfn_nir.cpp   | 5 +++++
 3 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/src/gallium/drivers/r600/evergreen_state.c 
b/src/gallium/drivers/r600/evergreen_state.c
index 993f5ac3b7f..fd1f34e51aa 100644
--- a/src/gallium/drivers/r600/evergreen_state.c
+++ b/src/gallium/drivers/r600/evergreen_state.c
@@ -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;
        }
diff --git a/src/gallium/drivers/r600/r600_state.c 
b/src/gallium/drivers/r600/r600_state.c
index a9673dd3bb1..1ae5a8b41ba 100644
--- a/src/gallium/drivers/r600/r600_state.c
+++ b/src/gallium/drivers/r600/r600_state.c
@@ -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;
                }
diff --git a/src/gallium/drivers/r600/sfn/sfn_nir.cpp 
b/src/gallium/drivers/r600/sfn/sfn_nir.cpp
index 6d0d588bf90..285da2a5d77 100644
--- a/src/gallium/drivers/r600/sfn/sfn_nir.cpp
+++ b/src/gallium/drivers/r600/sfn/sfn_nir.cpp
@@ -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";

Reply via email to