Module: Mesa Branch: main Commit: 0d733e940bc6e8675bb7335c018ae47432029510 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0d733e940bc6e8675bb7335c018ae47432029510
Author: Pierre-Eric Pelloux-Prayer <[email protected]> Date: Tue Mar 29 14:13:30 2022 +0200 radeonsi: make si_pc_emit_shaders non static Also pass "cs" as a param to allow updating a specific cs. Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15646> --- src/gallium/drivers/radeonsi/si_perfcounter.c | 6 ++---- src/gallium/drivers/radeonsi/si_pipe.h | 1 + 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/gallium/drivers/radeonsi/si_perfcounter.c b/src/gallium/drivers/radeonsi/si_perfcounter.c index ee996f525f3..d6f46abcd75 100644 --- a/src/gallium/drivers/radeonsi/si_perfcounter.c +++ b/src/gallium/drivers/radeonsi/si_perfcounter.c @@ -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); diff --git a/src/gallium/drivers/radeonsi/si_pipe.h b/src/gallium/drivers/radeonsi/si_pipe.h index 18ab5a7bd2a..45390f57854 100644 --- a/src/gallium/drivers/radeonsi/si_pipe.h +++ b/src/gallium/drivers/radeonsi/si_pipe.h @@ -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);
