Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Apparent driver bug: glMemoryBarrier() needs the wrong bit when working with cubemap non-layered image views #111

Open
heyx3 opened this issue Sep 29, 2023 · 0 comments
Labels
META:internal Created by Billy RE:GL About something within the GL module SIZE:small Small in scope and conceptually easy TYPE:bug Fixing bad behavior

Comments

@heyx3
Copy link
Owner

heyx3 commented Sep 29, 2023

For my setup (Nvidia RTX 2070, driver v537.42, Windows 10 19045.3448), there is a bug in one of the compute tests. Specifically, "Cubemap non-layered Image View", which is almost identical to the "3D non-layered Image View" test above it which doesn't display this behavior.

Normally before calling the second compute shader you'd use glMemoryBarrier(GL_SHADER_IMAGE_ACCESS_BARRIER_BIT), a.k.a. gl_catch_up_before(MemoryActions.texture_simple_views), to make sure it can see the results of the first shader. However, if you do that then the values read from after the second compute shader appear to match the output of the first compute shader, as if the second one had no effect. But if I instead use GL_TEXTURE_UPDATE_BARRIER_BIT, a.k.a. MemoryActions.GL_TEXTURE_UPDATE_BARRIER_BIT, it works as expected.

Again, this behavior doesn't happen with the 3D texture version of the test, so I'm inclined to believe it's a driver bug.

@heyx3 heyx3 added TYPE:bug Fixing bad behavior RE:GL About something within the GL module SIZE:small Small in scope and conceptually easy labels Sep 29, 2023
@heyx3 heyx3 added the META:internal Created by Billy label Feb 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
META:internal Created by Billy RE:GL About something within the GL module SIZE:small Small in scope and conceptually easy TYPE:bug Fixing bad behavior
Projects
None yet
Development

No branches or pull requests

1 participant