freedreno/ir3: set more barrier bits
authorRob Clark <robdclark@chromium.org>
Thu, 30 May 2019 16:04:57 +0000 (09:04 -0700)
committerRob Clark <robdclark@chromium.org>
Fri, 31 May 2019 19:58:33 +0000 (12:58 -0700)
Blob is also setting the .l bit, and it seems to solve some intermittent
failures with a couple of deqp's:

dEQP-GLES31.functional.image_load_store.2d.qualifiers.coherent_r32i
dEQP-GLES31.functional.image_load_store.2d.qualifiers.volatile_r32f

Signed-off-by: Rob Clark <robdclark@chromium.org>
Acked-by: Eric Anholt <eric@anholt.net>
src/freedreno/ir3/ir3_compiler_nir.c

index 6851f311d5a046cddac3aff3f6a243db50fe47ae..be141ce4e4a893efae5adcf060fd9e58251e1d72 100644 (file)
@@ -1048,6 +1048,7 @@ emit_intrinsic_barrier(struct ir3_context *ctx, nir_intrinsic_instr *intr)
                barrier->cat7.g = true;
                barrier->cat7.r = true;
                barrier->cat7.w = true;
+               barrier->cat7.l = true;
                barrier->barrier_class = IR3_BARRIER_IMAGE_W |
                                IR3_BARRIER_BUFFER_W;
                barrier->barrier_conflict =