Mesa (master): r300g: refuse to create a texture with size 0

Marek Olšák mareko at kemper.freedesktop.org
Mon May 3 18:42:39 UTC 2010


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

Author: Marek Olšák <maraeo at gmail.com>
Date:   Mon May  3 19:14:31 2010 +0200

r300g: refuse to create a texture with size 0

---

 src/gallium/drivers/r300/r300_texture.c |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/src/gallium/drivers/r300/r300_texture.c b/src/gallium/drivers/r300/r300_texture.c
index 3e3cf33..506fb73 100644
--- a/src/gallium/drivers/r300/r300_texture.c
+++ b/src/gallium/drivers/r300/r300_texture.c
@@ -924,6 +924,17 @@ struct pipe_resource* r300_texture_create(struct pipe_screen* screen,
         return NULL;
     }
 
+    /* Refuse to create a texture with size 0. */
+    if (!base->width0 ||
+        (!base->height0 && (base->target == PIPE_TEXTURE_2D ||
+                            base->target == PIPE_TEXTURE_CUBE)) ||
+        (!base->depth0 && base->target == PIPE_TEXTURE_3D)) {
+        fprintf(stderr, "r300: texture_create: "
+                "Got invalid texture dimensions: %ix%ix%i\n",
+                base->width0, base->height0, base->depth0);
+        return NULL;
+    }
+
     tex->b.b = *base;
     tex->b.vtbl = &r300_texture_vtbl;
     pipe_reference_init(&tex->b.b.reference, 1);




More information about the mesa-commit mailing list