Revert "mesa: remove unused _mesa_delete_nameless_texture()"

Changes in this series use this function.

This reverts commit 048de9e34a.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Cc: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Cc: Timothy Arceri <tarceri@itsqueeze.com>
This commit is contained in:
Ian Romanick
2017-12-12 19:41:49 -08:00
parent d80be51775
commit e6cef4b081
2 changed files with 46 additions and 0 deletions
+41
View File
@@ -1511,6 +1511,47 @@ delete_textures(struct gl_context *ctx, GLsizei n, const GLuint *textures)
}
}
/**
* This deletes a texObj without altering the hash table.
*/
void
_mesa_delete_nameless_texture(struct gl_context *ctx,
struct gl_texture_object *texObj)
{
if (!texObj)
return;
FLUSH_VERTICES(ctx, 0);
_mesa_lock_texture(ctx, texObj);
{
/* Check if texture is bound to any framebuffer objects.
* If so, unbind.
* See section 4.4.2.3 of GL_EXT_framebuffer_object.
*/
unbind_texobj_from_fbo(ctx, texObj);
/* Check if this texture is currently bound to any texture units.
* If so, unbind it.
*/
unbind_texobj_from_texunits(ctx, texObj);
/* Check if this texture is currently bound to any shader
* image unit. If so, unbind it.
* See section 3.9.X of GL_ARB_shader_image_load_store.
*/
unbind_texobj_from_image_units(ctx, texObj);
}
_mesa_unlock_texture(ctx, texObj);
ctx->NewState |= _NEW_TEXTURE_OBJECT;
/* Unreference the texobj. If refcount hits zero, the texture
* will be deleted.
*/
_mesa_reference_texobj(&texObj, NULL);
}
void GLAPIENTRY
_mesa_DeleteTextures_no_error(GLsizei n, const GLuint *textures)
+5
View File
@@ -171,6 +171,11 @@ _mesa_unlock_context_textures( struct gl_context *ctx );
extern void
_mesa_lock_context_textures( struct gl_context *ctx );
extern void
_mesa_delete_nameless_texture(struct gl_context *ctx,
struct gl_texture_object *texObj);
/*@}*/
/**