<div dir="ltr"><div dir="ltr">On Tue, 24 Mar 2020 at 21:00, OpenSceneGraph Users <<a href="mailto:osg-users@lists.openscenegraph.org">osg-users@lists.openscenegraph.org</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">> If I'm using the OpenGL debug message extension then I can see a GL_INVALID_OPERATION<br>
> with the message 'Texture is immutable' caused by a call of glTexStorage2D in 'Texture2D.cpp'<br>
> in line 309. Both warnings are printed directly after this invalid operation.<br>
> <br>
> I'm wondering how the texture object can ever be immutable here, because<br>
> it's just created in line 306.<br>
<br>
Looking at the implementation of 'TextureObjectSet::takeOrGenerate',<br>
then a texture object from 'TextureObjectSet::_orphanedTextureObjects'<br>
might be reused and then 'glTexStorage2D' might be called multiple times<br>
on the same texture object, which would then result into GL_INVALID_OPERATION,<br>
because 'glTexStorage2D' should be only called once and afterwards the<br>
texture object is immutable in this regard.<br>
<br>
Is this right?<br>
Is there some kind of flag missing, if 'glTexStorage2D' has already been called?<br></blockquote><div><br></div><div>This isn't something I considered when I merged the support for glTexStorage2D.  From your description it does sounds like reusing of the texture objects should be forbidden.  I haven't looked into the implementation side yet to look at problem so can't suggest a fix.</div><div><br></div><div>Could you create an example that reproduces the issue?  We can then use these as testbed for any fixes we come up with.<br></div><div><br></div><div>Cheers,<br></div><div>Robert.<br></div><div><br></div><div> </div><div><br></div><div> </div></div></div>