mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 05:18:08 +02:00
v3d: Stop clearing the OQ state at the end of the job.
Ever since we added OQ support, we've been clearing OQ state at the start of the job anyway. We're intentionally breaking old-and-new-driver-mix systems, because we need to stop using the unvalidated FLUSH_ALL_STATE.
This commit is contained in:
parent
350cb79045
commit
0b8007b523
3 changed files with 1 additions and 18 deletions
|
|
@ -300,13 +300,6 @@ struct v3d_job {
|
|||
*/
|
||||
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).
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -776,8 +776,7 @@ v3dX(emit_state)(struct pipe_context *pctx)
|
|||
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,20 +33,11 @@
|
|||
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).
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue