From: Brian Date: Wed, 10 Oct 2007 17:04:48 +0000 (-0600) Subject: fix width/height padding that caused failed assertion upon window resize X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=500e3af175cf8ef66bad23ae3b9e440670421ecd;p=mesa.git fix width/height padding that caused failed assertion upon window resize --- diff --git a/src/mesa/state_tracker/st_cb_fbo.c b/src/mesa/state_tracker/st_cb_fbo.c index 5b4afbd1196..4a21ff53712 100644 --- a/src/mesa/state_tracker/st_cb_fbo.c +++ b/src/mesa/state_tracker/st_cb_fbo.c @@ -64,6 +64,7 @@ st_renderbuffer_alloc_storage(GLcontext * ctx, struct gl_renderbuffer *rb, const struct pipe_format_info *info = st_get_format_info(pipeFormat); GLuint cpp; GLbitfield flags = PIPE_SURFACE_FLAG_RENDER; /* want to render to surface */ + GLuint width2, height2; assert(info); if (!info) @@ -100,10 +101,10 @@ st_renderbuffer_alloc_storage(GLcontext * ctx, struct gl_renderbuffer *rb, } /* Softpipe operates on quads, so pad dimensions to multiples of 2 */ - width += width & 1; - height += height & 1; + width2 = (width + 1) & ~1; + height2 = (height + 1) & ~1; - strb->surface->region = pipe->region_alloc(pipe, cpp, width, height, flags); + strb->surface->region = pipe->region_alloc(pipe, cpp, width2, height2, flags); if (!strb->surface->region) return GL_FALSE; /* out of memory, try s/w buffer? */