Mesa (main): turnip: Refactor a bit of tu6_emit_tile_select().

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Jun 7 00:23:17 UTC 2022


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

Author: Emma Anholt <emma at anholt.net>
Date:   Tue May 17 14:28:47 2022 -0700

turnip: Refactor a bit of tu6_emit_tile_select().

Reduce redundant code, make the used SET_VISIBILITY_OVERRIDE value clearer.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16826>

---

 src/freedreno/vulkan/tu_cmd_buffer.c | 20 ++++++++------------
 1 file changed, 8 insertions(+), 12 deletions(-)

diff --git a/src/freedreno/vulkan/tu_cmd_buffer.c b/src/freedreno/vulkan/tu_cmd_buffer.c
index a1fbbe2dac7..5fd8c16ce7c 100644
--- a/src/freedreno/vulkan/tu_cmd_buffer.c
+++ b/src/freedreno/vulkan/tu_cmd_buffer.c
@@ -670,7 +670,9 @@ tu6_emit_tile_select(struct tu_cmd_buffer *cmd,
    tu6_emit_window_scissor(cs, x1, y1, x2, y2);
    tu6_emit_window_offset(cs, x1, y1);
 
-   if (use_hw_binning(cmd)) {
+   bool hw_binning = use_hw_binning(cmd);
+
+   if (hw_binning) {
       tu_cs_emit_pkt7(cs, CP_WAIT_FOR_ME, 0);
 
       tu_cs_emit_pkt7(cs, CP_SET_MODE, 1);
@@ -684,19 +686,13 @@ tu6_emit_tile_select(struct tu_cmd_buffer *cmd,
       tu_cs_emit(cs, pipe * cmd->vsc_prim_strm_pitch);
 
       tu6_emit_cond_for_load_stores(cmd, cs, pipe, slot, true);
+   }
 
-      tu_cs_emit_pkt7(cs, CP_SET_VISIBILITY_OVERRIDE, 1);
-      tu_cs_emit(cs, 0x0);
-
-      tu_cs_emit_pkt7(cs, CP_SET_MODE, 1);
-      tu_cs_emit(cs, 0x0);
-   } else {
-      tu_cs_emit_pkt7(cs, CP_SET_VISIBILITY_OVERRIDE, 1);
-      tu_cs_emit(cs, 0x1);
+   tu_cs_emit_pkt7(cs, CP_SET_VISIBILITY_OVERRIDE, 1);
+   tu_cs_emit(cs, !hw_binning);
 
-      tu_cs_emit_pkt7(cs, CP_SET_MODE, 1);
-      tu_cs_emit(cs, 0x0);
-   }
+   tu_cs_emit_pkt7(cs, CP_SET_MODE, 1);
+   tu_cs_emit(cs, 0x0);
 }
 
 static void



More information about the mesa-commit mailing list