[Mesa-dev] [PATCH 18/18] mesa: small texture targetIndex tidy up
Timothy Arceri
tarceri at itsqueeze.com
Thu May 4 07:41:43 UTC 2017
---
src/mesa/main/texobj.c | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/src/mesa/main/texobj.c b/src/mesa/main/texobj.c
index af9baa9..868e4eb 100644
--- a/src/mesa/main/texobj.c
+++ b/src/mesa/main/texobj.c
@@ -322,27 +322,27 @@ _mesa_initialize_texture_object( struct gl_context *ctx,
obj->ImageFormatCompatibilityType = GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE;
}
/**
* Some texture initialization can't be finished until we know which
* target it's getting bound to (GL_TEXTURE_1D/2D/etc).
*/
static void
finish_texture_init(struct gl_context *ctx, GLenum target,
- struct gl_texture_object *obj)
+ struct gl_texture_object *obj, int targetIndex)
{
GLenum filter = GL_LINEAR;
assert(obj->Target == 0);
obj->Target = target;
- obj->TargetIndex = _mesa_tex_target_to_index(ctx, target);
+ obj->TargetIndex = targetIndex;
assert(obj->TargetIndex < NUM_TEXTURE_TARGETS);
switch (target) {
case GL_TEXTURE_2D_MULTISAMPLE:
case GL_TEXTURE_2D_MULTISAMPLE_ARRAY:
filter = GL_NEAREST;
/* fallthrough */
case GL_TEXTURE_RECTANGLE_NV:
case GL_TEXTURE_EXTERNAL_OES:
@@ -1642,27 +1642,26 @@ bind_texture(struct gl_context *ctx,
* texture object, then bind it in the current texture unit.
*
* \param target texture target.
* \param texName texture name.
*/
void GLAPIENTRY
_mesa_BindTexture( GLenum target, GLuint texName )
{
GET_CURRENT_CONTEXT(ctx);
struct gl_texture_object *newTexObj = NULL;
- GLint targetIndex;
if (MESA_VERBOSE & (VERBOSE_API|VERBOSE_TEXTURE))
_mesa_debug(ctx, "glBindTexture %s %d\n",
_mesa_enum_to_string(target), (GLint) texName);
- targetIndex = _mesa_tex_target_to_index(ctx, target);
+ int targetIndex = _mesa_tex_target_to_index(ctx, target);
if (targetIndex < 0) {
_mesa_error(ctx, GL_INVALID_ENUM, "glBindTexture(target = %s)",
_mesa_enum_to_string(target));
return;
}
assert(targetIndex < NUM_TEXTURE_TARGETS);
/*
* Get pointer to new texture object (newTexObj)
*/
@@ -1677,21 +1676,21 @@ _mesa_BindTexture( GLenum target, GLuint texName )
/* error checking */
if (newTexObj->Target != 0 && newTexObj->Target != target) {
/* The named texture object's target doesn't match the
* given target
*/
_mesa_error( ctx, GL_INVALID_OPERATION,
"glBindTexture(target mismatch)" );
return;
}
if (newTexObj->Target == 0) {
- finish_texture_init(ctx, target, newTexObj);
+ finish_texture_init(ctx, target, newTexObj, targetIndex);
}
}
else {
if (ctx->API == API_OPENGL_CORE) {
_mesa_error(ctx, GL_INVALID_OPERATION,
"glBindTexture(non-gen name)");
return;
}
/* if this is a new texture id, allocate a texture object now */
--
2.9.3
More information about the mesa-dev
mailing list