*/
bool needs_flush;
- /**
- * Set if there is a nonzero address for OCCLUSION_QUERY_COUNTER. If
- * so, we need to disable it and flush before ending the CL, to keep
- * the next tile from starting with it enabled.
- */
- bool oq_enabled;
-
/**
* Set if a packet enabling TF has been emitted in the job (V3D 4.x).
*/
if (v3d->dirty & VC5_DIRTY_OQ) {
cl_emit(&job->bcl, OCCLUSION_QUERY_COUNTER, counter) {
- job->oq_enabled = v3d->active_queries && v3d->current_oq;
- if (job->oq_enabled) {
+ if (v3d->active_queries && v3d->current_oq) {
counter.address = cl_address(v3d->current_oq, 0);
}
}
void v3dX(bcl_epilogue)(struct v3d_context *v3d, struct v3d_job *job)
{
v3d_cl_ensure_space_with_branch(&job->bcl,
- cl_packet_length(OCCLUSION_QUERY_COUNTER) +
#if V3D_VERSION >= 41
cl_packet_length(TRANSFORM_FEEDBACK_SPECS) +
#endif
cl_packet_length(FLUSH_ALL_STATE));
- if (job->oq_enabled) {
- /* Disable the OQ at the end of the CL, so that the
- * draw calls at the start of the CL don't inherit the
- * OQ counter.
- */
- cl_emit(&job->bcl, OCCLUSION_QUERY_COUNTER, counter);
- }
-
/* Disable TF at the end of the CL, so that the TF block
* cleans up and finishes before it gets reset by the next
* frame's tile binning mode cfg packet. (SWVC5-718).