From 039cfcf0de49177f9e05f82f58f0360c4b5f5bca Mon Sep 17 00:00:00 2001 From: Elias Naur Date: Fri, 20 Aug 2021 11:20:39 +0200 Subject: [PATCH] piet-gpu/shader: treat memoryBarrierBuffer as a control barrier memoryBarrierBuffer is mapped to the threadgroup_barrier function in Metal, which is a control barrier that must be executed by all threads (or none). This change establishes that property for the two memory barriers we have. While here, remove ENABLE_IMAGE_INDICES completely; it was disabled in an earlier change. Signed-off-by: Elias Naur --- piet-gpu/shader/elements.comp | 11 +++++++---- piet-gpu/shader/elements.spv | Bin 79720 -> 79964 bytes piet-gpu/shader/kernel4.comp | 3 --- piet-gpu/shader/setup.h | 3 --- 4 files changed, 7 insertions(+), 10 deletions(-) diff --git a/piet-gpu/shader/elements.comp b/piet-gpu/shader/elements.comp index 2d0a976..d37a2c6 100644 --- a/piet-gpu/shader/elements.comp +++ b/piet-gpu/shader/elements.comp @@ -221,8 +221,10 @@ void main() { if (gl_LocalInvocationID.x == WG_SIZE - 1) { // Note: with memory model, we'd want to generate the atomic store version of this. State_write(state_aggregate_ref(part_ix), agg); + } + memoryBarrierBuffer(); + if (gl_LocalInvocationID.x == WG_SIZE - 1) { uint flag = FLAG_AGGREGATE_READY; - memoryBarrierBuffer(); if (part_ix == 0) { State_write(state_prefix_ref(part_ix), agg); flag = FLAG_PREFIX_READY; @@ -274,11 +276,12 @@ void main() { State inclusive_prefix = combine_state(exclusive, agg); sh_prefix = exclusive; State_write(state_prefix_ref(part_ix), inclusive_prefix); - memoryBarrierBuffer(); - flag = FLAG_PREFIX_READY; - state[state_flag_index(part_ix)] = flag; } } + memoryBarrierBuffer(); + if (gl_LocalInvocationID.x == WG_SIZE - 1 && part_ix != 0) { + state[state_flag_index(part_ix)] = FLAG_PREFIX_READY; + } barrier(); if (part_ix != 0) { exclusive = sh_prefix; diff --git a/piet-gpu/shader/elements.spv b/piet-gpu/shader/elements.spv index 8a4bda1cdd5f35a501522b0d496148d0065f9047..d1fd39a6b927d4e2afac6778088228a324cc60c3 100644 GIT binary patch delta 19534 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 F{{eet=VSl? diff --git a/piet-gpu/shader/kernel4.comp b/piet-gpu/shader/kernel4.comp index 3230c0b..e2f86f6 100644 --- a/piet-gpu/shader/kernel4.comp +++ b/piet-gpu/shader/kernel4.comp @@ -8,9 +8,6 @@ #version 450 #extension GL_GOOGLE_include_directive : enable -#ifdef ENABLE_IMAGE_INDICES -#extension GL_EXT_nonuniform_qualifier : enable -#endif #include "mem.h" #include "setup.h" diff --git a/piet-gpu/shader/setup.h b/piet-gpu/shader/setup.h index cfe5f28..cb41a4b 100644 --- a/piet-gpu/shader/setup.h +++ b/piet-gpu/shader/setup.h @@ -15,9 +15,6 @@ #define PTCL_INITIAL_ALLOC 1024 -// This is now set in the ninja file during compilation -//#define ENABLE_IMAGE_INDICES - // These should probably be renamed and/or reworked. In the binning // kernel, they represent the number of bins. Also, the workgroup size // of that kernel is equal to the number of bins, but should probably