Compêndio quebrado de GLSL Spinlock / GLSL trava

Tenho uma configuração na qual preciso bloquear, ler alguns dados, processar, gravar alguns dados e desbloquear. Para esse fim, fiz uma textura de bloqueio comolayout(r32ui) coherent uniform uimage2D. Os dados da seção crítica são declarados da mesma forma.

Infelizmente, todas as minhas tentativas de um spinlock não impedem as condições da corrida, levando a resultados incorretos. Eu tentei várias abordagens diferentes.

Pensei em coletar todas as informações que encontrei sobre o bloqueio GLSL, juntamente com meus resultados (GTX 580M). Adicionei uma resposta do Wiki da comunidade a esta lista exaustiva. Eu apreciaria edições / comentários sobre possíveis problemas que cada um apresenta, criando finalmente uma lista de abordagens válidas.

questionAnswers(1)

yourAnswerToTheQuestion