summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFredrik Höglund <[email protected]>2014-01-23 14:02:24 +0100
committerFredrik Höglund <[email protected]>2014-05-02 02:53:25 +0200
commit659d94b256fd6bcf19c8cdf261e2c0bb26e0faf2 (patch)
tree7ec8b1fddaa58d6e1e99aecdbcd4443684d0923f
parentb8ee235e721ffd2503f4e8114d38685d58a0ceae (diff)
mesa: Add a texUnit parameter to dd_function_table::BindTexture
This is for glBindTextures(), since it doesn't change the active texture unit. Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
-rw-r--r--src/mesa/drivers/dri/nouveau/nouveau_texture.c8
-rw-r--r--src/mesa/main/dd.h6
-rw-r--r--src/mesa/main/texobj.c2
3 files changed, 8 insertions, 8 deletions
diff --git a/src/mesa/drivers/dri/nouveau/nouveau_texture.c b/src/mesa/drivers/dri/nouveau/nouveau_texture.c
index ae8dbd41f42..e7d5c0238b6 100644
--- a/src/mesa/drivers/dri/nouveau/nouveau_texture.c
+++ b/src/mesa/drivers/dri/nouveau/nouveau_texture.c
@@ -575,11 +575,11 @@ nouveau_compressed_texsubimage(struct gl_context *ctx, GLuint dims,
}
static void
-nouveau_bind_texture(struct gl_context *ctx, GLenum target,
- struct gl_texture_object *t)
+nouveau_bind_texture(struct gl_context *ctx, GLuint texUnit,
+ GLenum target, struct gl_texture_object *t)
{
- context_dirty_i(ctx, TEX_OBJ, ctx->Texture.CurrentUnit);
- context_dirty_i(ctx, TEX_ENV, ctx->Texture.CurrentUnit);
+ context_dirty_i(ctx, TEX_OBJ, texUnit);
+ context_dirty_i(ctx, TEX_ENV, texUnit);
}
static mesa_format
diff --git a/src/mesa/main/dd.h b/src/mesa/main/dd.h
index 9715241355d..633ea2c3a2e 100644
--- a/src/mesa/main/dd.h
+++ b/src/mesa/main/dd.h
@@ -314,10 +314,10 @@ struct dd_function_table {
/*@{*/
/**
- * Called by glBindTexture().
+ * Called by glBindTexture() and glBindTextures().
*/
- void (*BindTexture)( struct gl_context *ctx, GLenum target,
- struct gl_texture_object *tObj );
+ void (*BindTexture)( struct gl_context *ctx, GLuint texUnit,
+ GLenum target, struct gl_texture_object *tObj );
/**
* Called to allocate a new texture object. Drivers will usually
diff --git a/src/mesa/main/texobj.c b/src/mesa/main/texobj.c
index 221746ffd0e..7c8b789ca39 100644
--- a/src/mesa/main/texobj.c
+++ b/src/mesa/main/texobj.c
@@ -1390,7 +1390,7 @@ _mesa_BindTexture( GLenum target, GLuint texName )
/* Pass BindTexture call to device driver */
if (ctx->Driver.BindTexture)
- ctx->Driver.BindTexture(ctx, target, newTexObj);
+ ctx->Driver.BindTexture(ctx, ctx->Texture.CurrentUnit, target, newTexObj);
}