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