xf86-video-ati: Branch 'master' - 2 commits

Alex Deucher agd5f at kemper.freedesktop.org
Thu Aug 22 07:34:49 PDT 2013


 src/drmmode_display.c |    3 +++
 src/radeon_glamor.c   |    6 ++++++
 src/radeon_kms.c      |    3 +++
 3 files changed, 12 insertions(+)

New commits:
commit 8927d33f76ee12bc618fecfc59fc7ff1fcedcd5e
Author: Mark Kettenis <kettenis at openbsd.org>
Date:   Thu Aug 22 10:32:46 2013 -0400

    Fix shadowfb on big-endian machines
    
    For shadowfb, the framebuffer needs to have the RADEON_TILING_SURFACE
    flag set, otherwise the appropriate byte swapping won't happen.
    
    See https://bugs.freedesktop.org/show_bug.cgi?id=66663
    
    Signed-off-by: Mark Kettenis <kettenis at openbsd.org>
    Signed-off-by: Alex Deucher <alexander.deucher at amd.com>

diff --git a/src/drmmode_display.c b/src/drmmode_display.c
index 1df104d..921b7ba 100644
--- a/src/drmmode_display.c
+++ b/src/drmmode_display.c
@@ -1590,6 +1590,9 @@ drmmode_xf86crtc_resize (ScrnInfoPtr scrn, int width, int height)
 	    tiling_flags |= RADEON_TILING_SWAP_16BIT;
 	    break;
 	}
+	if (info->ChipFamily < CHIP_FAMILY_R600 &&
+	    info->r600_shadow_fb && tiling_flags)
+	    tiling_flags |= RADEON_TILING_SURFACE;
 #endif
 	if (tiling_flags)
 	    radeon_bo_set_tiling(info->front_bo, tiling_flags, pitch);
diff --git a/src/radeon_kms.c b/src/radeon_kms.c
index edc3b04..82e88d4 100644
--- a/src/radeon_kms.c
+++ b/src/radeon_kms.c
@@ -1585,6 +1585,9 @@ static Bool radeon_setup_kernel_mem(ScreenPtr pScreen)
 	    tiling_flags |= RADEON_TILING_SWAP_16BIT;
 	    break;
 	}
+	if (info->ChipFamily < CHIP_FAMILY_R600 &&
+	    info->r600_shadow_fb && tiling_flags)
+	    tiling_flags |= RADEON_TILING_SURFACE;
 #endif
 	if (tiling_flags)
             radeon_bo_set_tiling(info->front_bo, tiling_flags, pitch);
commit fa83d3d1636c315bc43dd622d407eb058e3ef976
Author: Alex Deucher <alexander.deucher at amd.com>
Date:   Tue Aug 20 09:29:23 2013 -0400

    radeon: disallow glamor on pre-R600 asics
    
    I'm not sure they can handle the shaders properly, especially
    only older parts like r300.
    
    This will avoid display corruption problems reported by people
    using glamor on older asics by falling back to EXA if they try
    and enable glamor.
    
    Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
    Reviewed-by: Michel Dänzer <michel.daenzer at amd.com>

diff --git a/src/radeon_glamor.c b/src/radeon_glamor.c
index d527900..7f00d5b 100644
--- a/src/radeon_glamor.c
+++ b/src/radeon_glamor.c
@@ -93,6 +93,12 @@ radeon_glamor_pre_init(ScrnInfoPtr scrn)
 	if (s && strcasecmp(s, "glamor") != 0)
 		return FALSE;
 
+	if (info->ChipFamily < CHIP_FAMILY_R600) {
+		xf86DrvMsg(scrn->scrnIndex, s ? X_ERROR : X_WARNING,
+			   "glamor requires R600 or newer GPU, disabling.\n");
+		return FALSE;
+	}
+
 	if (scrn->depth < 24) {
 		xf86DrvMsg(scrn->scrnIndex, s ? X_ERROR : X_WARNING,
 			   "glamor requires depth >= 24, disabling.\n");


More information about the xorg-commit mailing list