summaryrefslogtreecommitdiffstats
path: root/src/freedreno
diff options
context:
space:
mode:
authorRob Clark <[email protected]>2019-06-27 08:24:32 -0700
committerRob Clark <[email protected]>2019-06-28 13:02:59 -0700
commit016a9ab2f93f9b6efb28c6bd168e96f5c9feb080 (patch)
treeaa882956c52c7a8ffc9e5d7520345d6d4e559d28 /src/freedreno
parent21beddd3bcf46d152bee1dbfd619419d87757c3e (diff)
freedreno/ir3: fix missing (ss) in dummy bary.f case
In case we need to insert a dummy bary.f for the (ei) flag, it also needs (ss) so we don't release varying storage to the next VS wave before the ldlv completed. Fixes random failures in: dEQP-GLES3.functional.transform_feedback.random.interleaved.lines.* Signed-off-by: Rob Clark <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]>
Diffstat (limited to 'src/freedreno')
-rw-r--r--src/freedreno/ir3/ir3_legalize.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/freedreno/ir3/ir3_legalize.c b/src/freedreno/ir3/ir3_legalize.c
index c39b3a11011..e1ca1ada2c5 100644
--- a/src/freedreno/ir3/ir3_legalize.c
+++ b/src/freedreno/ir3/ir3_legalize.c
@@ -306,6 +306,11 @@ legalize_block(struct ir3_legalize_ctx *ctx, struct ir3_block *block)
list_add(&baryf->node, &last_input->node);
last_input = baryf;
+
+ /* by definition, we need (ss) since we are inserting
+ * the dummy bary.f immediately after the ldlv:
+ */
+ last_input_needs_ss = true;
}
last_input->regs[0]->flags |= IR3_REG_EI;
if (last_input_needs_ss)