summaryrefslogtreecommitdiff
path: root/pcr/xf86-video-qxl/0002-kms-initialize-primary-surface-to-screen-virtual-siz.patch
diff options
context:
space:
mode:
Diffstat (limited to 'pcr/xf86-video-qxl/0002-kms-initialize-primary-surface-to-screen-virtual-siz.patch')
-rw-r--r--pcr/xf86-video-qxl/0002-kms-initialize-primary-surface-to-screen-virtual-siz.patch34
1 files changed, 34 insertions, 0 deletions
diff --git a/pcr/xf86-video-qxl/0002-kms-initialize-primary-surface-to-screen-virtual-siz.patch b/pcr/xf86-video-qxl/0002-kms-initialize-primary-surface-to-screen-virtual-siz.patch
new file mode 100644
index 000000000..2a41c94fe
--- /dev/null
+++ b/pcr/xf86-video-qxl/0002-kms-initialize-primary-surface-to-screen-virtual-siz.patch
@@ -0,0 +1,34 @@
+From 16ac8fa8fac56a01050ffa9f0978ae04b1a1efa4 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com>
+Date: Wed, 13 May 2015 18:12:26 +0200
+Subject: [PATCH 1/3] kms: initialize primary surface to screen virtual size
+
+The pScrn->virtualX/Y are set after drmmode_pre_init(), use that
+resolution instead of hard-coded 1024x768.
+
+This fixes rendering glitches when restarting X server with
+different primary size than actual monitor modes.
+
+Signed-off-by: Christian Hesse <mail@eworm.de>
+---
+ src/qxl_kms.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/qxl_kms.c b/src/qxl_kms.c
+index c31c62d..b6952f3 100644
+--- a/src/qxl_kms.c
++++ b/src/qxl_kms.c
+@@ -164,8 +164,8 @@ Bool qxl_pre_init_kms(ScrnInfoPtr pScrn, int flags)
+ if (drmmode_pre_init(pScrn, &qxl->drmmode, pScrn->bitsPerPixel / 8) == FALSE)
+ goto out;
+
+- qxl->virtual_x = 1024;
+- qxl->virtual_y = 768;
++ qxl->virtual_x = pScrn->virtualX;
++ qxl->virtual_y = pScrn->virtualY;
+
+ pScrn->display->virtualX = qxl->virtual_x;
+ pScrn->display->virtualY = qxl->virtual_y;
+--
+2.6.2
+