Game/Graphics
Compute Shader memory sync
newpolaris
2018. 2. 12. 13:18
Specular IBL 최적화 도중 mipLevel을 cache 하도록 만들었는데
위와 같은 직각 박스가 나타 났다.
이상한 것이 0 mip level 0을 생성하게 하면 나타나지 않고,
항상 mip level 1에서만 발생했다.
위치는 항상 달랐다.
문제는, memoryBarrierShared 를 하나만 써서 그럼.
OpenGL은 2개가 필요하다
// Ensure shared memory writes are visible to work group
memoryBarrierShared();
// Ensure all threads in work group
// have executed statements above
barrier();
ES와 OPENGL 이랑 다르다?
https://stackoverflow.com/questions/39393560/glsl-memorybarriershared-usefulness
유사 현상