[Mesa-dev] [PATCH 03/16] mesa: Add _mesa_bind_texture method
Ian Romanick
idr at freedesktop.org
Tue Dec 19 00:14:01 UTC 2017
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,
}
}
+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);
/*@}*/
/**
--
2.9.5
More information about the mesa-dev
mailing list