Mesa (master): mesa: Add a texUnit parameter to dd_function_table:: BindTexture

Fredrik Höglund fredrik at kemper.freedesktop.org
Fri May 2 01:21:26 UTC 2014


Module: Mesa
Branch: master
Commit: 659d94b256fd6bcf19c8cdf261e2c0bb26e0faf2
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=659d94b256fd6bcf19c8cdf261e2c0bb26e0faf2

Author: Fredrik Höglund <fredrik at kde.org>
Date:   Thu Jan 23 14:02:24 2014 +0100

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 <brianp at vmware.com>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

---

 src/mesa/drivers/dri/nouveau/nouveau_texture.c |    8 ++++----
 src/mesa/main/dd.h                             |    6 +++---
 src/mesa/main/texobj.c                         |    2 +-
 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 ae8dbd4..e7d5c02 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 9715241..633ea2c 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 221746f..7c8b789 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);
 }
 
 




More information about the mesa-commit mailing list