Browse Source

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

master
SNMetamorph 9 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 )
prev = &cur->nextHash; 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 // release source
if( tex->original ) if( tex->original )
gEngfuncs.FS_FreeImage( tex->original ); gEngfuncs.FS_FreeImage( tex->original );

Loading…
Cancel
Save