--- 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 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev