diff options
author | Alyssa Rosenzweig <[email protected]> | 2020-02-03 20:23:41 -0500 |
---|---|---|
committer | Alyssa Rosenzweig <[email protected]> | 2020-02-16 09:16:47 -0500 |
commit | 3f59098d1a7a00d51e2b15e06aba359835c7e1ea (patch) | |
tree | 1f5068a6ca87a7cc32cc97552576a09260651498 /src/panfrost/midgard/midgard_schedule.c | |
parent | 4f0b928921dfb3ed63642ab1ce1c925fbac9f51b (diff) |
pan/midgard: Implement barriers
Barriers execute on the texture pipeline on Midgard, so let's
tentatively handle barrier() as conservatively as possible (forcing
memory barriers of both buffers and shared memory). Implementation isn't
quite there yet -- it doesn't look at interactions of adjacent barriers
like it's supposed to -- but the core is there.
Fixes dEQP-GLES31.functional.compute.basic.ssbo_local_barrier_single_invocation
Signed-off-by: Alyssa Rosenzweig <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3835>
Diffstat (limited to 'src/panfrost/midgard/midgard_schedule.c')
-rw-r--r-- | src/panfrost/midgard/midgard_schedule.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/panfrost/midgard/midgard_schedule.c b/src/panfrost/midgard/midgard_schedule.c index 2f12640f7ac..c6055a71140 100644 --- a/src/panfrost/midgard/midgard_schedule.c +++ b/src/panfrost/midgard/midgard_schedule.c @@ -811,7 +811,8 @@ mir_schedule_texture( mir_update_worklist(worklist, len, instructions, ins); struct midgard_bundle out = { - .tag = TAG_TEXTURE_4, + .tag = ins->texture.op == TEXTURE_OP_BARRIER ? + TAG_TEXTURE_4_BARRIER : TAG_TEXTURE_4, .instruction_count = 1, .instructions = { ins } }; |