diff --git a/projects/sph/shaders/force.comp b/projects/sph/shaders/force.comp index 9830a42f11a527e570bc77bc2f5a65b347e35819..6d5f31d2a8b2e1774c6ee7d091085226e1eacabb 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 eb2029e35760d732ac8b4095d0ef41819a256736..903da585a0b527fbd35df6bb0c6abcfa052ad3e4 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;