From Lionel Lagarde, "In the ::apply method, when the image data need to be re-uploaded, the Texture2DArray checks if the TextureObject can be re-used. The test was made using the constant 1 instead of the real texture depth, so the TextureObject was never re-used."
This commit is contained in:
parent
bc5575f83a
commit
77f1c58345
@ -249,7 +249,7 @@ void Texture2DArray::apply(State& state) const
|
|||||||
// compute the dimensions of the texture.
|
// compute the dimensions of the texture.
|
||||||
computeRequiredTextureDimensions(state, *image, new_width, new_height, new_numMipmapLevels);
|
computeRequiredTextureDimensions(state, *image, new_width, new_height, new_numMipmapLevels);
|
||||||
|
|
||||||
if (!textureObject->match(GL_TEXTURE_2D_ARRAY_EXT, new_numMipmapLevels, _internalFormat, new_width, new_height, 1, _borderWidth))
|
if (!textureObject->match(GL_TEXTURE_2D_ARRAY_EXT, new_numMipmapLevels, _internalFormat, new_width, new_height, _textureDepth, _borderWidth))
|
||||||
{
|
{
|
||||||
Texture::releaseTextureObject(contextID, _textureObjectBuffer[contextID].get());
|
Texture::releaseTextureObject(contextID, _textureObjectBuffer[contextID].get());
|
||||||
_textureObjectBuffer[contextID] = 0;
|
_textureObjectBuffer[contextID] = 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user