i965: Weaken the flushing in gen7_end_transform_feedback().
Since 062317d667
(i965: Go back to using the kernel SOL reset feature.)
we've been flushing the batch on BeginTransformFeedback(). So it's not
necessary to do it on EndTransformFeedback(). A PIPE_CONTROL will work.
This makes gen7_end_transform_feedback() exactly the same as the gen6
variant. However, they'll diverge again shortly.
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
@@ -263,13 +263,13 @@ void
|
|||||||
gen7_end_transform_feedback(struct gl_context *ctx,
|
gen7_end_transform_feedback(struct gl_context *ctx,
|
||||||
struct gl_transform_feedback_object *obj)
|
struct gl_transform_feedback_object *obj)
|
||||||
{
|
{
|
||||||
/* Because we have to rely on the kernel to reset our SO write offsets, and
|
/* After EndTransformFeedback, it's likely that the client program will try
|
||||||
* we only get to do it once per batchbuffer, flush the batch after feedback
|
* to draw using the contents of the transform feedback buffer as vertex
|
||||||
* so another transform feedback can get the write offset reset it needs.
|
* input. In order for this to work, we need to flush the data through at
|
||||||
*
|
* least the GS stage of the pipeline, and flush out the render cache. For
|
||||||
* This also covers any cache flushing required.
|
* simplicity, just do a full flush.
|
||||||
*/
|
*/
|
||||||
struct brw_context *brw = brw_context(ctx);
|
struct brw_context *brw = brw_context(ctx);
|
||||||
|
|
||||||
intel_batchbuffer_flush(brw);
|
intel_batchbuffer_emit_mi_flush(brw);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user