On 01/21/2014 03:35 PM, Fredrik Höglund wrote:
This will be used by glBindTextures() so we don't have to look it up
for each texture.
---
  src/mesa/main/mtypes.h |    1 +
  src/mesa/main/texobj.c |    2 ++
  2 files changed, 3 insertions(+)

diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
index c396609..2fe47c4 100644
--- a/src/mesa/main/mtypes.h
+++ b/src/mesa/main/mtypes.h
@@ -1194,6 +1194,7 @@ 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. */
+   GLuint TargetIndex;         /**< The gl_texture_unit::CurrentTex index */

Could this be "gl_texture_index TargetIndex;"?



     struct gl_sampler_object Sampler;

diff --git a/src/mesa/main/texobj.c b/src/mesa/main/texobj.c
index 3c64c437..4d97275 100644
--- a/src/mesa/main/texobj.c
+++ b/src/mesa/main/texobj.c
@@ -259,6 +259,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];
@@ -1318,6 +1319,7 @@ _mesa_BindTexture( GLenum target, GLuint texName )
           _glthread_UNLOCK_MUTEX(ctx->Shared->Mutex);
        }
        newTexObj->Target = target;
+      newTexObj->TargetIndex = targetIndex;
     }

     assert(valid_texture_object(newTexObj));



So the memset() in _mesa_initialize_texture_object() would implicitly set TargetIndex = TEXTURE_2D_MULTISAMPLE_INDEX (zero). Is that going to cause any trouble?

-Brian

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to