diff --git a/src/freedreno/vulkan/tu_query_pool.cc b/src/freedreno/vulkan/tu_query_pool.cc index f93a72cd1a7..ab04b0cac22 100644 --- a/src/freedreno/vulkan/tu_query_pool.cc +++ b/src/freedreno/vulkan/tu_query_pool.cc @@ -1259,6 +1259,13 @@ emit_begin_perf_query_raw(struct tu_cmd_buffer *cmdbuf, tu_cs_emit_pkt4(cs, data->counter->select_reg, 1); tu_cs_emit(cs, data->countable->selector); + + for (unsigned s = 0; s < ARRAY_SIZE(data->counter->slice_select_regs); s++) { + if (!data->counter->slice_select_regs[s]) + break; + tu_cs_emit_pkt4(cs, data->counter->slice_select_regs[s], 1); + tu_cs_emit(cs, data->countable->selector); + } } tu_cond_exec_end(cs); @@ -1315,6 +1322,13 @@ emit_begin_perf_query_derived(struct tu_cmd_buffer *cmdbuf, tu_cs_emit_pkt4(cs, counter->select_reg, 1); tu_cs_emit(cs, countable); + + for (unsigned s = 0; s < ARRAY_SIZE(counter->slice_select_regs); s++) { + if (!counter->slice_select_regs[s]) + break; + tu_cs_emit_pkt4(cs, counter->slice_select_regs[s], 1); + tu_cs_emit(cs, countable); + } } emit_counter_barrier(cs);