diff --git a/src/freedreno/vulkan/tu_cmd_buffer.cc b/src/freedreno/vulkan/tu_cmd_buffer.cc index b4b0213e986..5a83e3267b9 100644 --- a/src/freedreno/vulkan/tu_cmd_buffer.cc +++ b/src/freedreno/vulkan/tu_cmd_buffer.cc @@ -6768,6 +6768,13 @@ tu_dispatch(struct tu_cmd_buffer *cmd, HLSQ_CS_NDRANGE_5(CHIP, .globalsize_z = local_size[2] * num_groups[2]), HLSQ_CS_NDRANGE_6(CHIP, .globaloff_z = 0)); + if (CHIP >= A7XX) { + tu_cs_emit_regs(cs, + A7XX_HLSQ_CS_LAST_LOCAL_SIZE(.localsizex = local_size[0] - 1, + .localsizey = local_size[1] - 1, + .localsizez = local_size[2] - 1)); + } + if (info->indirect) { uint64_t iova = info->indirect->iova + info->indirect_offset; diff --git a/src/freedreno/vulkan/tu_shader.cc b/src/freedreno/vulkan/tu_shader.cc index 6c1023c9e25..4d9c2ea75b1 100644 --- a/src/freedreno/vulkan/tu_shader.cc +++ b/src/freedreno/vulkan/tu_shader.cc @@ -1552,11 +1552,6 @@ tu6_emit_cs_config(struct tu_cs *cs, WORKITEMRASTORDER_LINEAR : WORKITEMRASTORDER_TILED, )); - tu_cs_emit_regs( - cs, A7XX_HLSQ_CS_LAST_LOCAL_SIZE(.localsizex = v->local_size[0] - 1, - .localsizey = v->local_size[1] - 1, - .localsizez = v->local_size[2] - 1, )); - tu_cs_emit_regs(cs, A7XX_SP_CS_UNKNOWN_A9BE(0)); // Sometimes is 0x08000000 } }