diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c index ffad0315470..a326b68335a 100644 --- a/src/amd/vulkan/radv_cmd_buffer.c +++ b/src/amd/vulkan/radv_cmd_buffer.c @@ -8056,15 +8056,18 @@ 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 xyz_dim_enable = 1; /* TODO: disable XYZ_DIM when unneeded */ uint32_t mode1_enable = 1; /* legacy fast launch mode */ + 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_XYZ_DIM_ENABLE(xyz_dim_enable) | S_4C2_MODE1_ENABLE(mode1_enable) | + S_4C2_THREAD_TRACE_MARKER_ENABLE(sqtt_en)); else - radeon_emit(cs, S_4C2_DRAW_INDEX_ENABLE(draw_id_enable) | S_4C2_COUNT_INDIRECT_ENABLE(!!count_va)); + 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, draw_count); radeon_emit(cs, count_va & 0xFFFFFFFF); radeon_emit(cs, count_va >> 32); @@ -8156,14 +8159,15 @@ radv_cs_emit_dispatch_taskmesh_gfx_packet(struct radv_cmd_buffer *cmd_buffer) uint32_t xyz_dim_en = 1; /* TODO: disable XYZ_DIM when unneeded */ uint32_t mode1_en = 1; /* legacy fast launch mode */ uint32_t linear_dispatch_en = cmd_buffer->state.shaders[MESA_SHADER_TASK]->info.cs.linear_taskmesh_dispatch; + const bool sqtt_en = !!cmd_buffer->device->sqtt.bo; radeon_emit(cs, PKT3(PKT3_DISPATCH_TASKMESH_GFX, 2, predicating) | PKT3_RESET_FILTER_CAM_S(1)); radeon_emit(cs, S_4D0_RING_ENTRY_REG(ring_entry_reg) | S_4D0_XYZ_DIM_REG(xyz_dim_reg)); if (cmd_buffer->device->physical_device->rad_info.gfx_level >= GFX11) radeon_emit(cs, S_4D1_XYZ_DIM_ENABLE(xyz_dim_en) | S_4D1_MODE1_ENABLE(mode1_en) | - S_4D1_LINEAR_DISPATCH_ENABLE(linear_dispatch_en)); + S_4D1_LINEAR_DISPATCH_ENABLE(linear_dispatch_en) | S_4D1_THREAD_TRACE_MARKER_ENABLE(sqtt_en)); else - radeon_emit(cs, 0); + radeon_emit(cs, S_4D1_THREAD_TRACE_MARKER_ENABLE(sqtt_en)); radeon_emit(cs, V_0287F0_DI_SRC_SEL_AUTO_INDEX); }