Don't pad renderbuffers to multiple of two pixels anymore.
This was only needed to avoid out-of-bounds memory accesses with the 2x2 quad_read/write() functions which no longer exist.
This commit is contained in:
@@ -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? */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user