xf86-video-ati: Branch 'master'

Alex Deucher agd5f at kemper.freedesktop.org
Fri Feb 11 00:15:22 PST 2011


 src/evergreen_exa.c |    4 +++-
 src/r600_exa.c      |    4 +++-
 2 files changed, 6 insertions(+), 2 deletions(-)

New commits:
commit 92ffce1892d24a98d789aad57a4230cadb0c812a
Author: Alex Deucher <alexdeucher at gmail.com>
Date:   Fri Feb 11 03:12:43 2011 -0500

    EXA/r6xx+: properly account for height alignment in copy temp buffer
    
    Signed-off-by: Alex Deucher <alexdeucher at gmail.com>

diff --git a/src/evergreen_exa.c b/src/evergreen_exa.c
index 07e3819..04903ea 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);
diff --git a/src/r600_exa.c b/src/r600_exa.c
index 1103c35..661b9d0 100644
--- a/src/r600_exa.c
+++ b/src/r600_exa.c
@@ -597,7 +597,9 @@ R600PrepareCopy(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 defined(XF86DRM_MODE)
 	if (info->cs) {


More information about the xorg-commit mailing list