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

Author: Brian Paul <[email protected]>
Date:   Mon Jun 24 14:59:53 2013 -0600

svga: use new svga_define_texture_level() helper

To get array bounds checking.

Reviewed-by: Jose Fonseca <[email protected]>

---

 src/gallium/drivers/svga/svga_resource_texture.c |    4 ++--
 src/gallium/drivers/svga/svga_resource_texture.h |   13 +++++++++++++
 2 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/svga/svga_resource_texture.c 
b/src/gallium/drivers/svga/svga_resource_texture.c
index fd07ea1..4950930 100644
--- a/src/gallium/drivers/svga/svga_resource_texture.c
+++ b/src/gallium/drivers/svga/svga_resource_texture.c
@@ -364,9 +364,9 @@ svga_texture_transfer_unmap(struct pipe_context *pipe,
       ss->texture_timestamp++;
       svga_age_texture_view(tex, transfer->level);
       if (transfer->resource->target == PIPE_TEXTURE_CUBE)
-         tex->defined[transfer->box.z][transfer->level] = TRUE;
+         svga_define_texture_level(tex, transfer->box.z, transfer->level);
       else
-         tex->defined[0][transfer->level] = TRUE;
+         svga_define_texture_level(tex, 0, transfer->level);
    }
 
    FREE(st->swbuf);
diff --git a/src/gallium/drivers/svga/svga_resource_texture.h 
b/src/gallium/drivers/svga/svga_resource_texture.h
index 58646f7..7e2e613 100644
--- a/src/gallium/drivers/svga/svga_resource_texture.h
+++ b/src/gallium/drivers/svga/svga_resource_texture.h
@@ -130,6 +130,19 @@ svga_age_texture_view(struct svga_texture *tex, unsigned 
level)
 }
 
 
+/**
+ * Mark the given texture face/level as being defined.
+ */
+static INLINE void
+svga_define_texture_level(struct svga_texture *tex,
+                          unsigned face,unsigned level)
+{
+   assert(face < Elements(tex->defined));
+   assert(level < Elements(tex->defined[0]));
+   tex->defined[face][level] = TRUE;
+}
+
+
 struct pipe_resource *
 svga_texture_create(struct pipe_screen *screen,
                     const struct pipe_resource *template);

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to