radeon: align FBO pitch
authorDave Airlie <airlied@linux.ie>
Sat, 21 Mar 2009 08:16:21 +0000 (18:16 +1000)
committerDave Airlie <airlied@linux.ie>
Sat, 21 Mar 2009 08:16:21 +0000 (18:16 +1000)
src/mesa/drivers/dri/radeon/radeon_fbo.c

index 110afb7450767a596ea307ee255caabed9337e03..2125a651833fee63491c64cb5450ced427fc74b3 100644 (file)
@@ -179,10 +179,13 @@ radeon_alloc_renderbuffer_storage(GLcontext * ctx, struct gl_renderbuffer *rb,
                                              width, height);
    }
    else {
-     /* TODO Alloc a BO */
      uint32_t size = width * height * cpp;
+     uint32_t pitch = ((cpp * width + 63) & ~63) / cpp;
 
-     rrb->pitch = width * cpp;
+     fprintf(stderr,"Allocating %d x %d radeon RBO (pitch %d)\n", width,
+         height, pitch);
+
+     rrb->pitch = pitch * cpp;
      rrb->cpp = cpp;
      rrb->bo = radeon_bo_open(radeon->radeonScreen->bom,
                              0,
@@ -190,7 +193,6 @@ radeon_alloc_renderbuffer_storage(GLcontext * ctx, struct gl_renderbuffer *rb,
                              0,
                              RADEON_GEM_DOMAIN_VRAM,
                              0);
-     //     rrb->bo = radeon_bo_open();
      rb->Width = width;
      rb->Height = height;
        return GL_TRUE;