mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 09:08:10 +02:00
v3d: Emit a TF flush after each draw using TF.
This fixes GPU hangs on 7278 in transform feedback tests such as GTF-GLES3.gtf.GL3Tests.transform_feedback2.transform_feedback2_basic
This commit is contained in:
parent
c7726fbfa5
commit
49f7631c9f
2 changed files with 9 additions and 0 deletions
|
|
@ -425,6 +425,8 @@
|
|||
</field>
|
||||
</packet>
|
||||
|
||||
<packet code="31" name="Transform Feedback Flush and Count"/>
|
||||
|
||||
<packet code="32" name="Indexed Primitive List" cl="B" max_ver="33">
|
||||
<field name="Minimum index" size="32" start="104" type="uint"/>
|
||||
<field name="Enable Primitive Restarts" size="1" start="103" type="bool"/>
|
||||
|
|
|
|||
|
|
@ -558,6 +558,13 @@ v3d_draw_vbo(struct pipe_context *pctx, const struct pipe_draw_info *info)
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* A flush is required in between a TF draw and any following TF specs
|
||||
* packet, or the GPU may hang. Just flush each time for now.
|
||||
*/
|
||||
if (v3d->streamout.num_targets)
|
||||
cl_emit(&job->bcl, TRANSFORM_FEEDBACK_FLUSH_AND_COUNT, flush);
|
||||
|
||||
job->draw_calls_queued++;
|
||||
|
||||
/* Increment the TF offsets by how many verts we wrote. XXX: This
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue