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. */
/* 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;
}
}
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. */
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;
}
}