mesa: Add _mesa_bind_texture method
Light-weight glBindTexture for internal use. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
This commit is contained in:
+23
-1
@@ -1692,6 +1692,29 @@ bind_texture_object(struct gl_context *ctx, unsigned unit,
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Light-weight bind texture for internal users
|
||||
*
|
||||
* This is really just \c finish_texture_init plus \c bind_texture_object.
|
||||
* This is intended to be used by internal Mesa functions that use
|
||||
* \c _mesa_CreateTexture and need to bind textures (e.g., meta).
|
||||
*/
|
||||
void
|
||||
_mesa_bind_texture(struct gl_context *ctx, GLenum target,
|
||||
struct gl_texture_object *tex_obj)
|
||||
{
|
||||
const GLint targetIndex = _mesa_tex_target_to_index(ctx, target);
|
||||
|
||||
assert(targetIndex >= 0 && targetIndex < NUM_TEXTURE_TARGETS);
|
||||
|
||||
if (tex_obj->Target == 0)
|
||||
finish_texture_init(ctx, target, tex_obj, targetIndex);
|
||||
|
||||
assert(tex_obj->Target == target);
|
||||
assert(tex_obj->TargetIndex == targetIndex);
|
||||
|
||||
bind_texture_object(ctx, ctx->Texture.CurrentUnit, tex_obj);
|
||||
}
|
||||
|
||||
/**
|
||||
* Implement glBindTexture(). Do error checking, look-up or create a new
|
||||
@@ -1764,7 +1787,6 @@ bind_texture(struct gl_context *ctx, GLenum target, GLuint texName,
|
||||
bind_texture_object(ctx, ctx->Texture.CurrentUnit, newTexObj);
|
||||
}
|
||||
|
||||
|
||||
void GLAPIENTRY
|
||||
_mesa_BindTexture_no_error(GLenum target, GLuint texName)
|
||||
{
|
||||
|
||||
@@ -175,7 +175,9 @@ extern void
|
||||
_mesa_delete_nameless_texture(struct gl_context *ctx,
|
||||
struct gl_texture_object *texObj);
|
||||
|
||||
|
||||
extern void
|
||||
_mesa_bind_texture(struct gl_context *ctx, GLenum target,
|
||||
struct gl_texture_object *tex_obj);
|
||||
/*@}*/
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user