diff --git a/src/gallium/drivers/vc5/vc5_emit.c b/src/gallium/drivers/vc5/vc5_emit.c index a98fd037d08..d5bf2824d29 100644 --- a/src/gallium/drivers/vc5/vc5_emit.c +++ b/src/gallium/drivers/vc5/vc5_emit.c @@ -604,6 +604,13 @@ v3dX(emit_state)(struct pipe_context *pctx) for (int i = 0; i < vc5->prog.bind_vs->num_tf_specs; i++) { cl_emit_prepacked(&job->bcl, &tf_specs[i]); } + } else if (job->tf_enabled) { +#if V3D_VERSION >= 40 + cl_emit(&job->bcl, TRANSFORM_FEEDBACK_SPECS, tfe) { + tfe.enable = false; + }; + job->tf_enabled = false; +#endif /* V3D_VERSION >= 40 */ } } diff --git a/src/gallium/drivers/vc5/vc5_query.c b/src/gallium/drivers/vc5/vc5_query.c index 5ec9be2e356..9aa80cf536a 100644 --- a/src/gallium/drivers/vc5/vc5_query.c +++ b/src/gallium/drivers/vc5/vc5_query.c @@ -164,6 +164,7 @@ vc5_set_active_query_state(struct pipe_context *pctx, boolean enable) vc5->active_queries = enable; vc5->dirty |= VC5_DIRTY_OQ; + vc5->dirty |= VC5_DIRTY_STREAMOUT; } void