llvmpipe: fix handling of 0 x 0 framebuffer size
authorBrian Paul <brianp@vmware.com>
Mon, 18 Feb 2013 17:11:54 +0000 (10:11 -0700)
committerBrian Paul <brianp@vmware.com>
Tue, 19 Feb 2013 14:19:19 +0000 (07:19 -0700)
Bump up the size to 1 x 1.  This fixes a number of potential failure
points in the code.

See also http://bugs.freedesktop.org/show_bug.cgi?id=61012

src/gallium/drivers/llvmpipe/lp_texture.c

index 2e9c6bfe1cacbe1a97970f3f3352c741c3c2163a..ce756c528976ae8fe64f0cada37efeed515ed1d2 100644 (file)
@@ -240,8 +240,8 @@ llvmpipe_displaytarget_layout(struct llvmpipe_screen *screen,
    /* Round up the surface size to a multiple of the tile size to
     * avoid tile clipping.
     */
-   const unsigned width = align(lpr->base.width0, TILE_SIZE);
-   const unsigned height = align(lpr->base.height0, TILE_SIZE);
+   const unsigned width = MAX2(1, align(lpr->base.width0, TILE_SIZE));
+   const unsigned height = MAX2(1, align(lpr->base.height0, TILE_SIZE));
    const unsigned width_t = width / TILE_SIZE;
    const unsigned height_t = height / TILE_SIZE;