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 <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15646>
This commit is contained in:
Pierre-Eric Pelloux-Prayer 2022-03-29 14:13:30 +02:00
parent e018311b35
commit 0d733e940b
2 changed files with 3 additions and 4 deletions

View 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);

View 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);