aboutsummaryrefslogtreecommitdiffstats
path: root/src/panfrost/bifrost
diff options
context:
space:
mode:
authorAlyssa Rosenzweig <[email protected]>2020-03-26 10:06:49 -0400
committerMarge Bot <[email protected]>2020-03-31 01:12:26 +0000
commitf3726a08743a100c7e163489800fd0560da015b9 (patch)
treef4f5b23536daaa062ed89d96211f1e7254e74a42 /src/panfrost/bifrost
parent3d7166fa698f046814eb3803ec9ef5a5438e816f (diff)
pan/bi: Fix overzealous write barriers
It's possible this triggers an INSTR_INVALID_ENC. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4382>
Diffstat (limited to 'src/panfrost/bifrost')
-rw-r--r--src/panfrost/bifrost/bi_schedule.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/panfrost/bifrost/bi_schedule.c b/src/panfrost/bifrost/bi_schedule.c
index 4adab3bc60e..589c84897ac 100644
--- a/src/panfrost/bifrost/bi_schedule.c
+++ b/src/panfrost/bifrost/bi_schedule.c
@@ -110,7 +110,10 @@ bi_schedule(bi_context *ctx)
ids = ids & 1;
last_id = u->scoreboard_id;
u->back_to_back = true;
- u->data_register_write_barrier = true;
+
+ /* Rule: first instructions cannot have write barriers */
+ if (!is_first)
+ u->data_register_write_barrier = true;
u->constant_count = 1;
u->constants[0] = ins->constant.u64;