xf86-video-amdgpu: Branch 'master' - 3 commits
Michel Dänzer
daenzer at kemper.freedesktop.org
Tue Feb 16 07:34:42 UTC 2016
src/amdgpu_kms.c | 30 ++++++++++++++----------------
src/drmmode_display.c | 2 +-
2 files changed, 15 insertions(+), 17 deletions(-)
New commits:
commit a36bbfd98b96426bbe0be3923c64da7ec0e565d0
Author: Michel Dänzer <michel.daenzer at amd.com>
Date: Mon Feb 15 18:41:51 2016 +0900
HAS_DIRTYTRACKING_ROTATION also supports multiple CRTCs
(ported from radeon commit ff9a6b6f079a8419f4e6fadfee778060618bf735)
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
diff --git a/src/drmmode_display.c b/src/drmmode_display.c
index 40a134c..896b9d2 100644
--- a/src/drmmode_display.c
+++ b/src/drmmode_display.c
@@ -905,7 +905,7 @@ static Bool drmmode_set_scanout_pixmap(xf86CrtcPtr crtc, PixmapPtr ppix)
if (max_height < iter->mode.VDisplay)
max_height = iter->mode.VDisplay;
}
-#ifndef HAS_DIRTYTRACKING2
+#if !defined(HAS_DIRTYTRACKING_ROTATION) && !defined(HAS_DIRTYTRACKING2)
if (iter != crtc) {
ErrorF
("Cannot do multiple crtcs without X server dirty tracking 2 interface\n");
commit a37746ffceaed83e48e48fb05439be7e020dd2ea
Author: Michel Dänzer <michel.daenzer at amd.com>
Date: Mon Feb 15 18:35:54 2016 +0900
Load fb module before glamoregl/shadow modules
Fixes unresolved symbols on some systems.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93105
(ported from radeon commit 78fbca095ae9887a2d3de48bb07975e2d1126e68)
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
diff --git a/src/amdgpu_kms.c b/src/amdgpu_kms.c
index c466362..7bbef32 100644
--- a/src/amdgpu_kms.c
+++ b/src/amdgpu_kms.c
@@ -798,6 +798,10 @@ Bool AMDGPUPreInit_KMS(ScrnInfoPtr pScrn, int flags)
goto fail;
}
+ /* Get ScreenInit function */
+ if (!xf86LoadSubModule(pScrn, "fb"))
+ return FALSE;
+
if (!AMDGPUPreInitAccel_KMS(pScrn))
goto fail;
@@ -883,10 +887,6 @@ Bool AMDGPUPreInit_KMS(ScrnInfoPtr pScrn, int flags)
/* Set display resolution */
xf86SetDpi(pScrn, 0, 0);
- /* Get ScreenInit function */
- if (!xf86LoadSubModule(pScrn, "fb"))
- return FALSE;
-
if (!xf86SetGamma(pScrn, zeros))
return FALSE;
commit 59c0a6807110eca829c6708e16585a38f39a5c17
Author: Michel Dänzer <michel.daenzer at amd.com>
Date: Mon Feb 15 18:28:13 2016 +0900
Don't advertise any PRIME offloading capabilities without acceleration
Acceleration is required even for display offloading. Trying to enable
display offloading without acceleration resulted in a crash.
(ported from radeon commit b19417e2fddf4df725951aea5ad5e9558338f59e)
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
diff --git a/src/amdgpu_kms.c b/src/amdgpu_kms.c
index b9e4eb7..c466362 100644
--- a/src/amdgpu_kms.c
+++ b/src/amdgpu_kms.c
@@ -678,25 +678,23 @@ static Bool amdgpu_get_tile_config(ScrnInfoPtr pScrn)
static void AMDGPUSetupCapabilities(ScrnInfoPtr pScrn)
{
#ifdef AMDGPU_PIXMAP_SHARING
+ AMDGPUInfoPtr info = AMDGPUPTR(pScrn);
AMDGPUEntPtr pAMDGPUEnt = AMDGPUEntPriv(pScrn);
uint64_t value;
int ret;
pScrn->capabilities = 0;
+
+ /* PRIME offloading requires acceleration */
+ if (!info->use_glamor)
+ return;
+
ret = drmGetCap(pAMDGPUEnt->fd, DRM_CAP_PRIME, &value);
if (ret == 0) {
- AMDGPUInfoPtr info = AMDGPUPTR(pScrn);
-
- if (value & DRM_PRIME_CAP_EXPORT) {
- pScrn->capabilities |= RR_Capability_SourceOutput;
- if (info->use_glamor && info->dri2.available)
- pScrn->capabilities |= RR_Capability_SinkOffload;
- }
- if (value & DRM_PRIME_CAP_IMPORT) {
- pScrn->capabilities |= RR_Capability_SinkOutput;
- if (info->use_glamor && info->dri2.available)
- pScrn->capabilities |= RR_Capability_SourceOffload;
- }
+ if (value & DRM_PRIME_CAP_EXPORT)
+ pScrn->capabilities |= RR_Capability_SourceOutput | RR_Capability_SinkOffload;
+ if (value & DRM_PRIME_CAP_IMPORT)
+ pScrn->capabilities |= RR_Capability_SinkOutput | RR_Capability_SourceOffload;
}
#endif
}
More information about the xorg-commit
mailing list