xf86-video-ati: Branch 'master'

Michel Dänzer daenzer at kemper.freedesktop.org
Wed Oct 22 23:05:17 PDT 2014


 src/radeon_kms.c |   14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

New commits:
commit c74de9fec13fac2c836bb2a07ae6f90e1d61e667
Author: Michel Dänzer <michel.daenzer at amd.com>
Date:   Wed Aug 6 11:08:00 2014 +0900

    PRIME: Don't advertise offload capabilities when acceleration is disabled
    
    Xorg tends to crash if the user tries to actually use the offload
    capabilities with acceleration disabled.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=57200
    Reviewed-by: Alex Deucher <alexander.deucher at amd.com>

diff --git a/src/radeon_kms.c b/src/radeon_kms.c
index 4666988..b6d11e8 100644
--- a/src/radeon_kms.c
+++ b/src/radeon_kms.c
@@ -778,10 +778,16 @@ static void RADEONSetupCapabilities(ScrnInfoPtr pScrn)
     pScrn->capabilities = 0;
     ret = drmGetCap(info->dri2.drm_fd, DRM_CAP_PRIME, &value);
     if (ret == 0) {
-	if (value & DRM_PRIME_CAP_EXPORT)
-	    pScrn->capabilities |= RR_Capability_SourceOutput | RR_Capability_SinkOffload;
-	if (value & DRM_PRIME_CAP_IMPORT)
-	    pScrn->capabilities |= RR_Capability_SourceOffload | RR_Capability_SinkOutput;
+	if (value & DRM_PRIME_CAP_EXPORT) {
+	    pScrn->capabilities |= RR_Capability_SourceOutput;
+	    if (!info->r600_shadow_fb && info->dri2.available)
+		pScrn->capabilities |= RR_Capability_SinkOffload;
+	}
+	if (value & DRM_PRIME_CAP_IMPORT) {
+	    pScrn->capabilities |= RR_Capability_SinkOutput;
+	    if (!info->r600_shadow_fb && info->dri2.available)
+		pScrn->capabilities |= RR_Capability_SourceOffload;
+	}
     }
 #endif
 }


More information about the xorg-commit mailing list