From: Michel Dänzer <[email protected]> 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 Signed-off-by: Michel Dänzer <[email protected]> --- v2: Add bugzilla tag src/radeon_kms.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) 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 } -- 2.1.1 _______________________________________________ xorg-driver-ati mailing list [email protected] http://lists.x.org/mailman/listinfo/xorg-driver-ati
