[PATCH] PRIME: Don't advertise offload capabilities when acceleration is disabled
Michel Dänzer
michel at daenzer.net
Tue Aug 5 19:42:12 PDT 2014
From: Michel Dänzer <michel.daenzer at amd.com>
Xorg tends to crash if the user tries to actually use the offload
capabilities with acceleration disabled.
Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
---
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 00d1ce5..ebdbe0c 100644
--- a/src/radeon_kms.c
+++ b/src/radeon_kms.c
@@ -791,10 +791,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.0.1
More information about the xorg-driver-ati
mailing list