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.