radv: fix suspending/resuming pipeline statistics queries with GDS
This probably doesn't fix anything in practice because GDS is only used for the number of generated primitives by GS and meta operations don't use GS. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19348>
This commit is contained in:
committed by
Marge Bot
parent
cf687e88ce
commit
c41997f29f
@@ -41,6 +41,9 @@ radv_suspend_queries(struct radv_meta_saved_state *state, struct radv_cmd_buffer
|
||||
if (cmd_buffer->state.active_pipeline_queries > 0) {
|
||||
cmd_buffer->state.flush_bits &= ~RADV_CMD_FLAG_START_PIPELINE_STATS;
|
||||
cmd_buffer->state.flush_bits |= RADV_CMD_FLAG_STOP_PIPELINE_STATS;
|
||||
|
||||
state->active_pipeline_gds_queries = cmd_buffer->state.active_pipeline_gds_queries;
|
||||
cmd_buffer->state.active_pipeline_gds_queries = 0;
|
||||
}
|
||||
|
||||
/* Occlusion queries. */
|
||||
@@ -56,9 +59,7 @@ radv_suspend_queries(struct radv_meta_saved_state *state, struct radv_cmd_buffer
|
||||
/* Save the number of active GDS queries and reset it to make sure internal operations won't
|
||||
* increment the counters via GDS.
|
||||
*/
|
||||
state->active_pipeline_gds_queries = cmd_buffer->state.active_pipeline_gds_queries;
|
||||
state->active_prims_gen_gds_queries = cmd_buffer->state.active_prims_gen_gds_queries;
|
||||
cmd_buffer->state.active_pipeline_gds_queries = 0;
|
||||
cmd_buffer->state.active_prims_gen_gds_queries = 0;
|
||||
}
|
||||
}
|
||||
@@ -70,6 +71,8 @@ radv_resume_queries(const struct radv_meta_saved_state *state, struct radv_cmd_b
|
||||
if (cmd_buffer->state.active_pipeline_queries > 0) {
|
||||
cmd_buffer->state.flush_bits &= ~RADV_CMD_FLAG_STOP_PIPELINE_STATS;
|
||||
cmd_buffer->state.flush_bits |= RADV_CMD_FLAG_START_PIPELINE_STATS;
|
||||
|
||||
cmd_buffer->state.active_pipeline_gds_queries = state->active_pipeline_gds_queries;
|
||||
}
|
||||
|
||||
/* Occlusion queries. */
|
||||
@@ -83,7 +86,6 @@ radv_resume_queries(const struct radv_meta_saved_state *state, struct radv_cmd_b
|
||||
radv_emit_streamout_enable(cmd_buffer);
|
||||
|
||||
/* Restore the number of active GDS queries to resume counting. */
|
||||
cmd_buffer->state.active_pipeline_gds_queries = state->active_pipeline_gds_queries;
|
||||
cmd_buffer->state.active_prims_gen_gds_queries = state->active_prims_gen_gds_queries;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user