prevent immutability resetting when textureobject is taken from orphans

This commit is contained in:
Julien Valentin
2020-03-25 23:00:24 +01:00
parent 864b087b1f
commit 197fc401b4
7 changed files with 37 additions and 14 deletions

View File

@@ -108,8 +108,10 @@ void Texture2DMultisample::apply(State& state) const
{
textureObject = generateAndAssignTextureObject(contextID, getTextureTarget(), 1, texStorageSizedInternalFormat, _textureWidth, _textureHeight, 1, 0);
textureObject->bind();
extensions->glTexStorage2DMultisample( GL_TEXTURE_2D_MULTISAMPLE, _numSamples, texStorageSizedInternalFormat, _textureWidth, _textureHeight, _fixedsamplelocations);
if(!textureObject->_allocated)
{
extensions->glTexStorage2DMultisample( GL_TEXTURE_2D_MULTISAMPLE, _numSamples, texStorageSizedInternalFormat, _textureWidth, _textureHeight, _fixedsamplelocations);
}
}
else
{
@@ -123,6 +125,7 @@ void Texture2DMultisample::apply(State& state) const
_textureHeight,
_fixedsamplelocations );
}
textureObject->setAllocated(1, texStorageSizedInternalFormat!=0? texStorageSizedInternalFormat: _internalFormat, _textureWidth, _textureHeight, 1, _borderWidth);
}
else