mesa: Store the target index in gl_texture_object

This will be used by glBindTextures() so we don't have to look it up
for each texture.

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:
Fredrik Höglund 2013-11-12 17:23:05 +01:00
parent d55e5a323b
commit 6bf8ac846a
2 changed files with 4 additions and 0 deletions

View File

@ -1195,6 +1195,8 @@ struct gl_texture_object
GLuint Name; /**< the user-visible texture object ID */
GLchar *Label; /**< GL_KHR_debug */
GLenum Target; /**< GL_TEXTURE_1D, GL_TEXTURE_2D, etc. */
gl_texture_index TargetIndex; /**< The gl_texture_unit::CurrentTex index.
Only valid when Target is valid. */
struct gl_sampler_object Sampler;

View File

@ -260,6 +260,7 @@ _mesa_copy_texture_object( struct gl_texture_object *dest,
const struct gl_texture_object *src )
{
dest->Target = src->Target;
dest->TargetIndex = src->TargetIndex;
dest->Name = src->Name;
dest->Priority = src->Priority;
dest->Sampler.BorderColor.f[0] = src->Sampler.BorderColor.f[0];
@ -1327,6 +1328,7 @@ _mesa_BindTexture( GLenum target, GLuint texName )
mtx_unlock(&ctx->Shared->Mutex);
}
newTexObj->Target = target;
newTexObj->TargetIndex = targetIndex;
}
assert(valid_texture_object(newTexObj));