radeonsi: make si_pc_emit_shaders non static
authorPierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Tue, 29 Mar 2022 12:13:30 +0000 (14:13 +0200)
committerPierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Fri, 22 Apr 2022 11:11:45 +0000 (13:11 +0200)
Also pass "cs" as a param to allow updating a specific cs.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15646>

src/gallium/drivers/radeonsi/si_perfcounter.c
src/gallium/drivers/radeonsi/si_pipe.h

index ee996f5..d6f46ab 100644 (file)
@@ -85,10 +85,8 @@ static void si_pc_emit_instance(struct si_context *sctx, int se, int instance)
    radeon_end();
 }
 
-static void si_pc_emit_shaders(struct si_context *sctx, unsigned shaders)
+void si_pc_emit_shaders(struct radeon_cmdbuf *cs, unsigned shaders)
 {
-   struct radeon_cmdbuf *cs = &sctx->gfx_cs;
-
    radeon_begin(cs);
    radeon_set_uconfig_reg_seq(R_036780_SQ_PERFCOUNTER_CTRL, 2, false);
    radeon_emit(shaders & 0x7f);
@@ -251,7 +249,7 @@ static void si_pc_query_resume(struct si_context *sctx, struct si_query *squery)
    si_need_gfx_cs_space(sctx, 0);
 
    if (query->shaders)
-      si_pc_emit_shaders(sctx, query->shaders);
+      si_pc_emit_shaders(&sctx->gfx_cs, query->shaders);
 
    si_inhibit_clockgating(sctx, &sctx->gfx_cs, true);
 
index 18ab5a7..45390f5 100644 (file)
@@ -1508,6 +1508,7 @@ void si_init_aux_async_compute_ctx(struct si_screen *sscreen);
 void si_init_perfcounters(struct si_screen *screen);
 void si_destroy_perfcounters(struct si_screen *screen);
 void si_inhibit_clockgating(struct si_context *sctx, struct radeon_cmdbuf *cs, bool inhibit);
+void si_pc_emit_shaders(struct radeon_cmdbuf *cs, unsigned shaders);
 
 /* si_query.c */
 void si_init_screen_query_functions(struct si_screen *sscreen);