diff options
author | Marek Olšák <[email protected]> | 2018-08-14 02:01:18 -0400 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2019-05-16 13:13:34 -0400 |
commit | c9b7a37b8f7979433655e269a2b161d33eb41659 (patch) | |
tree | 0d3fe57fefbbfe09dc6b25370c1330126927bbe1 /src/gallium/drivers/radeonsi/si_query.c | |
parent | 187f1c999f90c3bef5b657bf386f076436149c1c (diff) |
radeonsi: cull primitives with async compute for large draw calls
Tested-by: Dieter Nützel <[email protected]>
Acked-by: Nicolai Hähnle <[email protected]>
Diffstat (limited to 'src/gallium/drivers/radeonsi/si_query.c')
-rw-r--r-- | src/gallium/drivers/radeonsi/si_query.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeonsi/si_query.c b/src/gallium/drivers/radeonsi/si_query.c index 0e44d751288..1dd9249d57c 100644 --- a/src/gallium/drivers/radeonsi/si_query.c +++ b/src/gallium/drivers/radeonsi/si_query.c @@ -850,6 +850,9 @@ static void si_query_hw_emit_start(struct si_context *sctx, si_update_occlusion_query_state(sctx, query->b.type, 1); si_update_prims_generated_query_state(sctx, query->b.type, 1); + if (query->b.type == PIPE_QUERY_PIPELINE_STATISTICS) + sctx->num_pipeline_stat_queries++; + if (query->b.type != SI_QUERY_TIME_ELAPSED_SDMA) si_need_gfx_cs_space(sctx); @@ -954,6 +957,9 @@ static void si_query_hw_emit_stop(struct si_context *sctx, si_update_occlusion_query_state(sctx, query->b.type, -1); si_update_prims_generated_query_state(sctx, query->b.type, -1); + + if (query->b.type == PIPE_QUERY_PIPELINE_STATISTICS) + sctx->num_pipeline_stat_queries--; } static void emit_set_predicate(struct si_context *ctx, |