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

Namespace collision between interface blocks and other externals #432

Open
martiancatboy opened this issue Jul 16, 2024 · 0 comments
Open

Comments

@martiancatboy
Copy link

This might be related to the previous interface block issue at #430 (thanks for the prompt fix by the way). I'm now getting namespace collisions between interface blocks, their field names, and other shader inputs and outputs. Finding a minimal program to reproduce the bug is a bit tricky, since name assignments seem unpredictable, but this program

uniform U {vec4 v;};
out vec4 a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;

gives me the following output (with --format indented):

uniform U{vec4 U;};
out vec4 v,K,J,I,H,G,F,E,D,C,B,A,L,M,N,O,P,Q,R,S,T,U;

My video driver won't accept it because the name "U" is reused three times at global scope. In another instance, I had it fail because an interface block name (uniform U in my first code listing) matched a shader output, so they appear to share the same namespace too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant