Browse Source

ref: gl: invalidate texture units state cache when texture deletes

master
SNMetamorph 8 months ago committed by Alibek Omarov
parent
commit
17e106f96d
  1. 16
      ref/gl/gl_image.c

16
ref/gl/gl_image.c

@ -1471,6 +1471,22 @@ static void GL_DeleteTexture( gl_texture_t *tex ) @@ -1471,6 +1471,22 @@ static void GL_DeleteTexture( gl_texture_t *tex )
prev = &cur->nextHash;
}
// invalidate texture units state cache
for( int i = 0; i < MAX_TEXTURE_UNITS; i++ )
{
if( glState.currentTextures[i] == tex->texnum )
{
if( glState.currentTextureTargets[i] != GL_NONE )
{
GL_SelectTexture( i );
pglDisable( glState.currentTextureTargets[i] );
}
glState.currentTextureTargets[i] = GL_NONE;
glState.currentTextures[i] = -1;
glState.currentTexturesIndex[i] = 0;
}
}
// release source
if( tex->original )
gEngfuncs.FS_FreeImage( tex->original );

Loading…
Cancel
Save