FidelityFX-SPD icon indicating copy to clipboard operation
FidelityFX-SPD copied to clipboard

HLSL and GLSL barrier is not equivalent

Open Duttenheim opened this issue 3 years ago • 1 comments

Hi!

I just have a minor concern/question regarding the memory barriers in the HLSL and GLSL versions. In HLSL, you call GroupMemoryBarrierWithGroupSync(), but in GLSL you only call barrier(). I believe the GLSL corresponding pattern to GroupMemoryBarrierWithGroupSync() is actually a groupMemoryBarrier() + barrier(), as the first guards against memory writes and the second thread.

It's not entirely clear from the spec if a groupMemoryBarrier() blocks execution as well, or if a barrier() also blocks memory writes, but I used this https://anteru.net/blog/2016/mapping-between-HLSL-and-GLSL/ as my reference point and it solved many similar issues on different vendors before.

However be wary, there seems to be an issue with nvidia GPUs in the 20xx-30xx range with this shader when running with both barriers as suggested by the reference - resulting in a GPU hang.

Duttenheim avatar Mar 23 '21 17:03 Duttenheim

你好,这个数据库貌似只是一个储存数据的地方,他们只是注册一个帐号然后上传部分数据,这个问题应该不出意外是绝对不会有人来恢复的

loveadguard avatar Aug 07 '22 04:08 loveadguard