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