Module: Mesa
Branch: staging/23.3
Commit: 62a8493ac114d93783404805fb2fe32e43fb315b
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=62a8493ac114d93783404805fb2fe32e43fb315b

Author: Samuel Pitoiset <[email protected]>
Date:   Mon Jan  8 17:12:20 2024 +0100

radv: do not issue SQTT marker with DISPATCH_MESH_INDIRECT_MULTI

According to PAL, only DISPATCH_TASKMESH_GFX is supposed to emit a
SQTT marker as part of the packet, probably because there is also
a packet emitted on ACE for executing task shaders.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10401
Fixes: 312103e0ffb ("radv: set THREAD_TRACE_MARKER_ENABLE for mesh/task draws")
Signed-off-by: Samuel Pitoiset <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26936>
(cherry picked from commit 3f655bc47c388d9fb37d4569be7bd79208820a6a)

---

 .pick_status.json                | 2 +-
 src/amd/vulkan/radv_cmd_buffer.c | 7 ++-----
 2 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/.pick_status.json b/.pick_status.json
index 4f48cceca2a..ce2e458ccb8 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -1094,7 +1094,7 @@
         "description": "radv: do not issue SQTT marker with 
DISPATCH_MESH_INDIRECT_MULTI",
         "nominated": true,
         "nomination_type": 1,
-        "resolution": 0,
+        "resolution": 1,
         "main_sha": null,
         "because_sha": "312103e0ffb6129427feee2ece1db81fc57862a6",
         "notes": null
diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c
index c4336345fb4..cd0b66c308d 100644
--- a/src/amd/vulkan/radv_cmd_buffer.c
+++ b/src/amd/vulkan/radv_cmd_buffer.c
@@ -8086,18 +8086,15 @@ radv_cs_emit_indirect_mesh_draw_packet(struct 
radv_cmd_buffer *cmd_buffer, uint3
 
    uint32_t draw_id_enable = !!cmd_buffer->state.uses_drawid;
    uint32_t mode1_enable = !cmd_buffer->device->mesh_fast_launch_2;
-   const bool sqtt_en = !!cmd_buffer->device->sqtt.bo;
 
    radeon_emit(cs, PKT3(PKT3_DISPATCH_MESH_INDIRECT_MULTI, 7, predicating) | 
PKT3_RESET_FILTER_CAM_S(1));
    radeon_emit(cs, 0); /* data_offset */
    radeon_emit(cs, S_4C1_XYZ_DIM_REG(xyz_dim_reg) | 
S_4C1_DRAW_INDEX_REG(draw_id_reg));
    if (cmd_buffer->device->physical_device->rad_info.gfx_level >= GFX11)
       radeon_emit(cs, S_4C2_DRAW_INDEX_ENABLE(draw_id_enable) | 
S_4C2_COUNT_INDIRECT_ENABLE(!!count_va) |
-                         S_4C2_XYZ_DIM_ENABLE(xyz_dim_enable) | 
S_4C2_MODE1_ENABLE(mode1_enable) |
-                         S_4C2_THREAD_TRACE_MARKER_ENABLE(sqtt_en));
+                         S_4C2_XYZ_DIM_ENABLE(xyz_dim_enable) | 
S_4C2_MODE1_ENABLE(mode1_enable));
    else
-      radeon_emit(cs, S_4C2_DRAW_INDEX_ENABLE(draw_id_enable) | 
S_4C2_COUNT_INDIRECT_ENABLE(!!count_va) |
-                         S_4C2_THREAD_TRACE_MARKER_ENABLE(sqtt_en));
+      radeon_emit(cs, S_4C2_DRAW_INDEX_ENABLE(draw_id_enable) | 
S_4C2_COUNT_INDIRECT_ENABLE(!!count_va));
    radeon_emit(cs, draw_count);
    radeon_emit(cs, count_va & 0xFFFFFFFF);
    radeon_emit(cs, count_va >> 32);

Reply via email to