xserver-xorg-video-amdgpu: Changes to 'debian-unstable'
configure.ac | 2 +-
debian/changelog | 6 ++++++
src/amdgpu_kms.c | 33 ++++++++++++++++-----------------
src/amdgpu_sync.c | 7 +++++++
src/drmmode_display.c | 8 ++++++--
5 files changed, 36 insertions(+), 20 deletions(-)
New commits:
commit 47619e626e26c5de7ffd755416d948b97b593977
Author: Timo Aaltonen <tjaalton@debian.org>
Date: Mon Feb 22 06:44:44 2016 +0200
release to unstable
diff --git a/debian/changelog b/debian/changelog
index e574634..430b90d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+xserver-xorg-video-amdgpu (1.0.1-1) unstable; urgency=medium
+
+ * New upstream release.
+
+ -- Timo Aaltonen <tjaalton@debian.org> Mon, 22 Feb 2016 06:36:08 +0200
+
xserver-xorg-video-amdgpu (1.0.0-1) unstable; urgency=medium
[ Andreas Boll ]
commit d68b3073a9627a81b047e9bdd4b5569359df898d
Author: Michel Dänzer <michel.daenzer@amd.com>
Date: Fri Feb 19 11:53:02 2016 +0900
Bump version for 1.0.1 release
diff --git a/configure.ac b/configure.ac
index 1849a78..bbd06d1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,7 @@
# Initialize Autoconf
AC_PREREQ([2.60])
AC_INIT([xf86-video-amdgpu],
- [1.0.0],
+ [1.0.1],
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
[xf86-video-amdgpu])
commit c25a48b68695af71dddbdb6d239b2d0ec386db9c
Author: Michel Dänzer <michel.daenzer@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@amd.com>
(cherry picked from commit a36bbfd98b96426bbe0be3923c64da7ec0e565d0)
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 a05ea868f940b9649ead2333108d69619b9003bf
Author: Michel Dänzer <michel.daenzer@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@amd.com>
(cherry picked from commit a37746ffceaed83e48e48fb05439be7e020dd2ea)
diff --git a/src/amdgpu_kms.c b/src/amdgpu_kms.c
index c257941..dcecf86 100644
--- a/src/amdgpu_kms.c
+++ b/src/amdgpu_kms.c
@@ -783,6 +783,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;
@@ -868,10 +872,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 7729b29b0a76c3e2eacfcb02abcbe115948b2937
Author: Michel Dänzer <michel.daenzer@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@amd.com>
(cherry picked from commit 59c0a6807110eca829c6708e16585a38f39a5c17)
diff --git a/src/amdgpu_kms.c b/src/amdgpu_kms.c
index 75d35c1..c257941 100644
--- a/src/amdgpu_kms.c
+++ b/src/amdgpu_kms.c
@@ -663,25 +663,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
}
commit 65ee496c0567ea6aaf947a6098fbf925d2f6b14b
Author: Michel Dänzer <michel.daenzer@amd.com>
Date: Tue Jan 26 16:12:28 2016 +0900
Only map front buffer if glamor acceleration is disabled (v2)
Otherwise the front buffer may not be accessible by the CPU, because Mesa
sets the AMDGPU_GEM_CREATE_NO_CPU_ACCESS flag for tiled buffers, because
accessing tiled buffers with the CPU makes little sense.
v2: Also handle Option "AccelMethod" "none"
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit a3eac85d812ecc605436e6bd5b9ee7ebf307e3d3)
diff --git a/src/amdgpu_kms.c b/src/amdgpu_kms.c
index 3993591..75d35c1 100644
--- a/src/amdgpu_kms.c
+++ b/src/amdgpu_kms.c
@@ -1415,7 +1415,8 @@ static Bool amdgpu_setup_kernel_mem(ScreenPtr pScreen)
return FALSE;
}
- if (amdgpu_bo_map(pScrn, info->front_buffer)) {
+ if (!info->use_glamor &&
+ amdgpu_bo_map(pScrn, info->front_buffer) != 0) {
ErrorF("Failed to map front buffer memory\n");
return FALSE;
}
diff --git a/src/drmmode_display.c b/src/drmmode_display.c
index 3f015f9..40a134c 100644
--- a/src/drmmode_display.c
+++ b/src/drmmode_display.c
@@ -1741,7 +1741,7 @@ static Bool drmmode_xf86crtc_resize(ScrnInfoPtr scrn, int width, int height)
goto fail;
}
- if (amdgpu_bo_map(scrn, info->front_buffer)) {
+ if (!info->use_glamor && amdgpu_bo_map(scrn, info->front_buffer) != 0) {
xf86DrvMsg(scrn->scrnIndex, X_ERROR,
"Failed to map front buffer memory\n");
goto fail;
commit 076c7b60f2b3700dfc7d94af78b368c00d216532
Author: Mykola Lysenko <Mykola.Lysenko@amd.com>
Date: Wed Jan 13 14:03:55 2016 +0800
Initialize drmmode_crtc dpms_mode to DPMSModeOff
This disables query of disabled pipes for drmWaitVBlank on X start
Signed-off-by: Mykola Lysenko <Mykola.Lysenko@amd.com>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
(cherry picked from commit 4eb9cedca080b30c57ded349a397620ee7d0cd46)
diff --git a/src/drmmode_display.c b/src/drmmode_display.c
index 05c3418..3f015f9 100644
--- a/src/drmmode_display.c
+++ b/src/drmmode_display.c
@@ -993,6 +993,7 @@ drmmode_crtc_init(ScrnInfoPtr pScrn, drmmode_ptr drmmode, drmModeResPtr mode_res
drmmode_crtc->mode_crtc =
drmModeGetCrtc(pAMDGPUEnt->fd, mode_res->crtcs[num]);
drmmode_crtc->drmmode = drmmode;
+ drmmode_crtc->dpms_mode = DPMSModeOff;
crtc->driver_private = drmmode_crtc;
drmmode_crtc_hw_id(crtc);
commit a17aca22ef308a58b1759179677b78846da6f4a5
Author: Michel Dänzer <michel.daenzer@amd.com>
Date: Thu Dec 10 18:08:12 2015 +0900
sync: Check if miSyncShmScreenInit symbol is resolved at runtime
It may be disabled in the Xorg build, either explicitly or because the
xshmfence library isn't available.
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit 1d0b0c1794e65e581a48aa9fb19679d928d82a5d)
diff --git a/src/amdgpu_sync.c b/src/amdgpu_sync.c
index baade0e..e92f658 100644
--- a/src/amdgpu_sync.c
+++ b/src/amdgpu_sync.c
@@ -87,6 +87,13 @@ amdgpu_sync_init(ScreenPtr screen)
AMDGPUInfoPtr info = AMDGPUPTR(scrn);
SyncScreenFuncsPtr screen_funcs;
+ if (!xf86LoaderCheckSymbol("miSyncShmScreenInit")) {
+ xf86DrvMsg(scrn->scrnIndex, X_WARNING,
+ "SYNC extension fences disabled because "
+ "miSyncShmScreenInit symbol unresolved\n");
+ return FALSE;
+ }
+
if (!miSyncShmScreenInit(screen)) {
xf86DrvMsg(scrn->scrnIndex, X_WARNING,
"SYNC extension fences disabled because "
commit ff99645f7ea09fbf3ebe8ae68b8f0d5d2d9b29c9
Author: Mykola Lysenko <Mykola.Lysenko@amd.com>
Date: Wed Dec 23 11:58:47 2015 -0500
Check for NULL koutput in drmmode_output_dpms
This situation happens whit start of usage of DRM DP MST framework,
when connectors created and destroyed dynamically.
Signed-off-by: Mykola Lysenko <Mykola.Lysenko@amd.com>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
(cherry picked from commit f4107f67f147e2500582fc36cf0f0f76bc1ef098)
diff --git a/src/drmmode_display.c b/src/drmmode_display.c
index 2761513..05c3418 100644
--- a/src/drmmode_display.c
+++ b/src/drmmode_display.c
@@ -1117,6 +1117,9 @@ static void drmmode_output_dpms(xf86OutputPtr output, int mode)
drmModeConnectorPtr koutput = drmmode_output->mode_output;
AMDGPUEntPtr pAMDGPUEnt = AMDGPUEntPriv(output->scrn);
+ if (!koutput)
+ return;
+
if (mode != DPMSModeOn && crtc)
drmmode_do_crtc_dpms(crtc, mode);
Reply to: