You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
GL SSAO pass leaves units 0/1/2 bound to GBuffer attachments: genuine framebuffer feedback loop #159
ExecuteSSAOPass exits with texture units 0, 1 and 2 still bound to m_gbufferDepth, m_gbufferNormalRough and the SSAO noise texture (:1356-1359). Nothing unbinds them.
The next frame, BeginRender binds m_gbufferFBO (:137): for which m_gbufferDepth and m_gbufferNormalRough are live attachments. A texture simultaneously bound for sampling and attached for
writing is a framebuffer feedback loop: undefined values per the GL spec, and on some drivers a hang.
Compounding it, gbuffer_gl.frag:21-22 declares units 0/1 as diffuseTexture / normalTexture: so the
geometry pass samples the depth and normal-roughness buffers as if they were material maps.
Activity