Mesa (master): st/mesa: check for zero-size image in st_TestProxyTexImage()

Brian Paul brianp at kemper.freedesktop.org
Mon Sep 24 14:08:05 UTC 2012


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

Author: Brian Paul <brianp at vmware.com>
Date:   Fri Sep 21 08:09:01 2012 -0600

st/mesa: check for zero-size image in st_TestProxyTexImage()

Fixes divide by zero issue in llvmpipe driver.

Reviewed-by: José Fonseca <jfonseca at vmware.com>

---

 src/mesa/state_tracker/st_cb_texture.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/src/mesa/state_tracker/st_cb_texture.c b/src/mesa/state_tracker/st_cb_texture.c
index 4f4fe77..5634a3e 100644
--- a/src/mesa/state_tracker/st_cb_texture.c
+++ b/src/mesa/state_tracker/st_cb_texture.c
@@ -1379,6 +1379,11 @@ st_TestProxyTexImage(struct gl_context *ctx, GLenum target,
    struct st_context *st = st_context(ctx);
    struct pipe_context *pipe = st->pipe;
 
+   if (width == 0 || height == 0 || depth == 0) {
+      /* zero-sized images are legal, and always fit! */
+      return GL_TRUE;
+   }
+
    if (pipe->screen->can_create_resource) {
       /* Ask the gallium driver if the texture is too large */
       struct gl_texture_object *texObj =




More information about the mesa-commit mailing list