From ebcf0ca2ca8c6a8d6d79543964adc14c2c03c89b Mon Sep 17 00:00:00 2001
From: Tobias Frisch <tfrisch@uni-koblenz.de>
Date: Mon, 7 Feb 2022 13:43:10 +0100
Subject: [PATCH] Fixed barriers in sph simulation

Signed-off-by: Tobias Frisch <tfrisch@uni-koblenz.de>
---
 projects/sph/shaders/force.comp    | 1 +
 projects/sph/shaders/pressure.comp | 1 +
 2 files changed, 2 insertions(+)

diff --git a/projects/sph/shaders/force.comp b/projects/sph/shaders/force.comp
index 9830a42f..6d5f31d2 100644
--- a/projects/sph/shaders/force.comp
+++ b/projects/sph/shaders/force.comp
@@ -80,6 +80,7 @@ void main() {
     particle_data[gl_LocalInvocationIndex].pressure = inParticle[id].pressure;
 
     memoryBarrierShared();
+    barrier();
 
     const float h6 = pow(h, 6);
     externalForce = particle_data[gl_LocalInvocationIndex].density * gravity * vec3(-gravityDir.x,gravityDir.y,gravityDir.z);
diff --git a/projects/sph/shaders/pressure.comp b/projects/sph/shaders/pressure.comp
index eb2029e3..903da585 100644
--- a/projects/sph/shaders/pressure.comp
+++ b/projects/sph/shaders/pressure.comp
@@ -63,6 +63,7 @@ void main() {
     position_data[gl_LocalInvocationIndex] = inParticle[id].position;
 
     memoryBarrierShared();
+    barrier();
 
     for(uint j = 1; j < gl_WorkGroupSize.x; j++) {
         uint i = (gl_LocalInvocationIndex + j) % gl_WorkGroupSize.x;
-- 
GitLab