summaryrefslogtreecommitdiff
path: root/src/evergreen_exa.c
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2011-02-11 03:12:43 -0500
committerAlex Deucher <alexdeucher@gmail.com>2011-02-11 03:12:43 -0500
commit92ffce1892d24a98d789aad57a4230cadb0c812a (patch)
tree099235cecbbe70f93d4f534db2b275684b25a8e1 /src/evergreen_exa.c
parent39104c6e8461cf49c1bb03a18858ad75a9d98b46 (diff)
EXA/r6xx+: properly account for height alignment in copy temp buffer
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Diffstat (limited to 'src/evergreen_exa.c')
-rw-r--r--src/evergreen_exa.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/evergreen_exa.c b/src/evergreen_exa.c
index 07e38195..04903eaf 100644
--- a/src/evergreen_exa.c
+++ b/src/evergreen_exa.c
@@ -459,7 +459,9 @@ EVERGREENPrepareCopy(PixmapPtr pSrc, PixmapPtr pDst,
return FALSE;
if (accel_state->same_surface == TRUE) {
- unsigned long size = pDst->drawable.height * accel_state->dst_obj.pitch * pDst->drawable.bitsPerPixel/8;
+ unsigned height = RADEON_ALIGN(pDst->drawable.height,
+ drmmode_get_height_align(pScrn, accel_state->dst_obj.tiling_flags));
+ unsigned long size = height * accel_state->dst_obj.pitch * pDst->drawable.bitsPerPixel/8;
if (accel_state->copy_area_bo) {
radeon_bo_unref(accel_state->copy_area_bo);