diff --git a/src/gallium/drivers/etnaviv/etnaviv_query_acc_perfmon.c b/src/gallium/drivers/etnaviv/etnaviv_query_acc_perfmon.c index 5a5ffdb5d61..7c49fc88fad 100644 --- a/src/gallium/drivers/etnaviv/etnaviv_query_acc_perfmon.c +++ b/src/gallium/drivers/etnaviv/etnaviv_query_acc_perfmon.c @@ -101,12 +101,9 @@ perfmon_supports(unsigned query_type) static struct etna_acc_query * perfmon_allocate(struct etna_context *ctx, unsigned query_type) { - struct etna_pm_query *pq = CALLOC_STRUCT(etna_pm_query); + struct etna_pm_query *pq; const struct etna_perfmon_config *cfg; - if (!pq) - return NULL; - cfg = etna_pm_query_config(query_type); if (!cfg) return false; @@ -114,6 +111,10 @@ perfmon_allocate(struct etna_context *ctx, unsigned query_type) if (!etna_pm_cfg_supported(ctx->screen->perfmon, cfg)) return false; + pq = CALLOC_STRUCT(etna_pm_query); + if (!pq) + return NULL; + pm_add_signal(pq, ctx->screen->perfmon, cfg); return &pq->base;