etnaviv: implement set_active_query_state(..) for hw queries

Clear w/ quad uses a normal draw which adds up to OQ. st/meta
uses set_active_query_state(..) to tell the driver to pause
queries in such cases.

Fixes spec@arb_occlusion_query@occlusion_query_meta_save piglit.

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
This commit is contained in:
Christian Gmeiner 2019-05-28 21:43:51 +02:00
parent 8a35eb0602
commit a6e879984c
1 changed files with 10 additions and 1 deletions

View File

@ -134,8 +134,17 @@ etna_get_driver_query_group_info(struct pipe_screen *pscreen, unsigned index,
}
static void
etna_set_active_query_state(struct pipe_context *pipe, boolean enable)
etna_set_active_query_state(struct pipe_context *pctx, boolean enable)
{
struct etna_context *ctx = etna_context(pctx);
if (enable) {
list_for_each_entry(struct etna_hw_query, hq, &ctx->active_hw_queries, node)
etna_hw_query_resume(hq, ctx);
} else {
list_for_each_entry(struct etna_hw_query, hq, &ctx->active_hw_queries, node)
etna_hw_query_suspend(hq, ctx);
}
}
void