From 4404c342af09b4e9987b27ddb74f65b72e9146fc Mon Sep 17 00:00:00 2001
From: Tobias Frisch <tfrisch@uni-koblenz.de>
Date: Sun, 6 Feb 2022 23:52:55 +0100
Subject: [PATCH] Adjusted shaders to use less barriers

Signed-off-by: Tobias Frisch <tfrisch@uni-koblenz.de>
---
 .../wobble_bobble/shaders/init_particle_weights.comp |  9 ---------
 .../shaders/transform_particles_to_grid.comp         |  3 ---
 .../shaders/update_particle_velocities.comp          | 12 ------------
 3 files changed, 24 deletions(-)

diff --git a/projects/wobble_bobble/shaders/init_particle_weights.comp b/projects/wobble_bobble/shaders/init_particle_weights.comp
index 1ab68813..9b821e88 100644
--- a/projects/wobble_bobble/shaders/init_particle_weights.comp
+++ b/projects/wobble_bobble/shaders/init_particle_weights.comp
@@ -18,9 +18,6 @@ void main()	{
 
         minimal.weight_sum = 1.0f;
 
-        barrier();
-        memoryBarrierBuffer();
-
         ivec3 gridResolution = textureSize(sampler3D(gridImage, gridSampler), 0);
         ivec3 gridWindow = ivec3(minimal.size * 2.0f * gridResolution);
 
@@ -28,9 +25,6 @@ void main()	{
 
         int i, j, k;
 
-        barrier();
-        memoryBarrierImage();
-
         for (i = -gridWindow.x; i <= gridWindow.x; i++) {
             for (j = -gridWindow.y; j <= gridWindow.y; j++) {
                 for (k = -gridWindow.z; k <= gridWindow.z; k++) {
@@ -42,9 +36,6 @@ void main()	{
             }
         }
 
-        barrier();
-        memoryBarrierBuffer();
-
         if (weight_sum > 0.0f) {
             particles[gl_GlobalInvocationID.x].minimal.weight_sum = weight_sum;
         }
diff --git a/projects/wobble_bobble/shaders/transform_particles_to_grid.comp b/projects/wobble_bobble/shaders/transform_particles_to_grid.comp
index b37955cc..1be18c41 100644
--- a/projects/wobble_bobble/shaders/transform_particles_to_grid.comp
+++ b/projects/wobble_bobble/shaders/transform_particles_to_grid.comp
@@ -93,9 +93,6 @@ void main()	{
 
     gridValue.xyz = mix(gridValue.xyz, -gridValue.xyz, collision);
 
-    barrier();
-    memoryBarrierShared();
-
     imageStore(
         gridImage,
         ivec3(gl_GlobalInvocationID),
diff --git a/projects/wobble_bobble/shaders/update_particle_velocities.comp b/projects/wobble_bobble/shaders/update_particle_velocities.comp
index 409e7e37..4420bc95 100644
--- a/projects/wobble_bobble/shaders/update_particle_velocities.comp
+++ b/projects/wobble_bobble/shaders/update_particle_velocities.comp
@@ -24,9 +24,6 @@ layout( push_constant ) uniform constants {
 };
 
 void main()	{
-    memoryBarrierBuffer();
-    memoryBarrierImage();
-
     float dts = dt * speedfactor;
 
     if (gl_GlobalInvocationID.x < particles.length()) {
@@ -70,9 +67,6 @@ void main()	{
             }
         }
 
-        barrier();
-        memoryBarrierBuffer();
-
         mat3 mls_Q = mat3(0.0f);
         mat3 affine_C = mat3(0.0f);
 
@@ -159,15 +153,9 @@ void main()	{
             }
         }
 
-        barrier();
-        memoryBarrierBuffer();
-
         particles[gl_GlobalInvocationID.x].minimal.position = position;
         particles[gl_GlobalInvocationID.x].minimal.velocity = velocity_pic;
         particles[gl_GlobalInvocationID.x].deformation = mat4(F);
         particles[gl_GlobalInvocationID.x].mls = mat4(mls_Q);
     }
-
-    barrier();
-    memoryBarrierBuffer();
 }
\ No newline at end of file
-- 
GitLab