[Mesa-dev] [PATCH 03/16] mesa: Add _mesa_bind_texture method

Tapani Pälli tapani.palli at intel.com
Tue Dec 19 11:39:12 UTC 2017



On 12/19/2017 02:14 AM, Ian Romanick wrote:
> From: Ian Romanick <ian.d.romanick at intel.com>
> 
> Light-weight glBindTexture for internal use.
> 
> Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
> ---
>   src/mesa/main/texobj.c | 17 ++++++++++++++++-
>   src/mesa/main/texobj.h |  4 +++-
>   2 files changed, 19 insertions(+), 2 deletions(-)
> 
> diff --git a/src/mesa/main/texobj.c b/src/mesa/main/texobj.c
> index db40598..cd9f43c 100644
> --- a/src/mesa/main/texobj.c
> +++ b/src/mesa/main/texobj.c
> @@ -1692,6 +1692,22 @@ bind_texture_object(struct gl_context *ctx, unsigned unit,
>      }
>   }

This could have some documentation block that says when it is used and 
what are the differences with bind_texture?

> +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 +1780,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)
>   {
> diff --git a/src/mesa/main/texobj.h b/src/mesa/main/texobj.h
> index 8dea853..f2d78ac 100644
> --- a/src/mesa/main/texobj.h
> +++ b/src/mesa/main/texobj.h
> @@ -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);
>   /*@}*/
>   
>   /**
> 


More information about the mesa-dev mailing list