Don't pad renderbuffers to multiple of two pixels anymore.
authorBrian <brian.paul@tungstengraphics.com>
Tue, 23 Oct 2007 14:30:36 +0000 (08:30 -0600)
committerBrian <brian.paul@tungstengraphics.com>
Tue, 23 Oct 2007 14:30:36 +0000 (08:30 -0600)
This was only needed to avoid out-of-bounds memory accesses with the
2x2 quad_read/write() functions which no longer exist.

src/mesa/state_tracker/st_cb_fbo.c

index 64a64fd6b9c88c24c3e1d6d6d32ab307e56a0cc6..94e286feabee698b24c70e24fe35ed849426e099 100644 (file)
@@ -64,7 +64,6 @@ 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)
@@ -99,11 +98,7 @@ st_renderbuffer_alloc_storage(GLcontext * ctx, struct gl_renderbuffer *rb,
       pipe->region_release(pipe, &strb->surface->region);
    }
 
-   /* Softpipe operates on quads, so pad dimensions to multiples of 2 */
-   width2 = (width + 1) & ~1;
-   height2 = (height + 1) & ~1;
-
-   strb->surface->region = pipe->region_alloc(pipe, cpp, width2, height2, flags);
+   strb->surface->region = pipe->region_alloc(pipe, cpp, width, height, flags);
    if (!strb->surface->region)
       return GL_FALSE; /* out of memory, try s/w buffer? */