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
An OpenGL program (on Ubuntu 20.04 x86_64, Intel UHD Graphics 620) replaces a shader of a linked program by detaching an old shader and attaching a new one. When I apitrace it and then glretrace, things look correct unless I enable state dumping. If I enable state dumping, glLinkProgram fails after attaching the new shader in place of the old one with the following error:
9090 @0 glLinkProgram(program = 45)
9090: warning: link failed
9090: warning: error: function `main' is multiply defined
The reason for this behavior appears to be due to 5b14394. If I revert it, these unexpected errors no longer happen.
With the following trace (8.6MiB zipped) you can reproduce the problem using the following command:
The problem here is not in deletion, but rather in detaching. If you try to attach a shader with main() to a program that already has such a shader attached, you get multiple definition error. So I guess glDetachShader should be left alone.
My current workaround looks as follows, and I don't know of any reason how it could break (maybe you do?).
An OpenGL program (on Ubuntu 20.04 x86_64, Intel UHD Graphics 620) replaces a shader of a linked program by detaching an old shader and attaching a new one. When I apitrace it and then glretrace, things look correct unless I enable state dumping. If I enable state dumping,
glLinkProgram
fails after attaching the new shader in place of the old one with the following error:The reason for this behavior appears to be due to 5b14394. If I revert it, these unexpected errors no longer happen.
With the following trace (8.6MiB zipped) you can reproduce the problem using the following command:
stellarium.trace.zip
The text was updated successfully, but these errors were encountered: