diff --git a/exercises/src/gpu/grayscott.comp b/exercises/src/gpu/grayscott.comp index 6ae5c0339772153904c134b44a5391eadad284d9..3733e207e1cb38b11fd4d5eec57fe3211bfec0bf 100644 --- a/exercises/src/gpu/grayscott.comp +++ b/exercises/src/gpu/grayscott.comp @@ -320,8 +320,8 @@ void run_simulation() { #endif } - // Liberate any acquired tile - if (s_acquired_tile && is_leader()) { + // Liberate any acquired tile that was dropped due to an early exit + if (is_leader() && s_acquired_tile && work_group_finished()) { leader_release_tile(); #if DEBUG || PROFILE atomicAdd(g_metadata.final_release, 1);