xf86-video-qxl: update to 0.1.6.

This commit is contained in:
Andrew Benson 2023-01-26 17:19:58 -06:00
parent ac2d9889e0
commit 229d62d461
3 changed files with 4 additions and 190 deletions

View File

@ -1,100 +0,0 @@
From 4b083ede3c4a827a84295ff223e34ee3c2e581b2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zolt=C3=A1n=20B=C3=B6sz=C3=B6rm=C3=A9nyi?=
<zboszor@gmail.com>
Date: Sat, 28 Aug 2021 15:38:40 +0200
Subject: [PATCH] Fix a build error with Xorg master
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Use xf86ReturnOptValBool() in get_bool_option() instead of
options[option_index].value.bool to fix a compiler error with
current Xorg xserver master branch.
Also use xf86GetOptValInteger() in get_int_option() and
xf86GetOptValString() in get_str_option() for consistency.
The change causes a slight performance drop during option parsing
because the passed-in index_value is no longer used as an index
into the options array.
Instead, it's used as a token now for the standard option getter
functions which works since the index_value to the get_*_option()
functions are identical to the value of options[n].token in the
passed-in OptionInfoRec array.
Also rename "int option_index" to "int token" for clarity in all
three functions.
Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
---
src/qxl_option_helpers.c | 13 +++++++------
src/qxl_option_helpers.h | 6 +++---
2 files changed, 10 insertions(+), 9 deletions(-)
diff --git a/src/qxl_option_helpers.c b/src/qxl_option_helpers.c
index 2aba677..7707b7c 100644
--- a/src/qxl_option_helpers.c
+++ b/src/qxl_option_helpers.c
@@ -10,31 +10,32 @@
#include "qxl_option_helpers.h"
-int get_int_option(OptionInfoPtr options, int option_index,
+int get_int_option(OptionInfoPtr options, int token,
const char *env_name)
{
+ int value;
if (env_name && getenv(env_name)) {
return atoi(getenv(env_name));
}
- return options[option_index].value.num;
+ return xf86GetOptValInteger(options, token, &value) ? value : 0;
}
-const char *get_str_option(OptionInfoPtr options, int option_index,
+const char *get_str_option(OptionInfoPtr options, int token,
const char *env_name)
{
if (getenv(env_name)) {
return getenv(env_name);
}
- return options[option_index].value.str;
+ return xf86GetOptValString(options, token);
}
-int get_bool_option(OptionInfoPtr options, int option_index,
+int get_bool_option(OptionInfoPtr options, int token,
const char *env_name)
{
const char* value = getenv(env_name);
if (!value) {
- return options[option_index].value.bool;
+ return xf86ReturnOptValBool(options, token, FALSE);
}
if (strcmp(value, "0") == 0 ||
strcasecmp(value, "off") == 0 ||
diff --git a/src/qxl_option_helpers.h b/src/qxl_option_helpers.h
index 7c54c72..66d0a17 100644
--- a/src/qxl_option_helpers.h
+++ b/src/qxl_option_helpers.h
@@ -4,13 +4,13 @@
#include <xf86Crtc.h>
#include <xf86Opt.h>
-int get_int_option(OptionInfoPtr options, int option_index,
+int get_int_option(OptionInfoPtr options, int token,
const char *env_name);
-const char *get_str_option(OptionInfoPtr options, int option_index,
+const char *get_str_option(OptionInfoPtr options, int token,
const char *env_name);
-int get_bool_option(OptionInfoPtr options, int option_index,
+int get_bool_option(OptionInfoPtr options, int token,
const char *env_name);
#endif // OPTION_HELPERS_H
--
GitLab

View File

@ -1,86 +0,0 @@
https://gitlab.freedesktop.org/xorg/driver/xf86-video-qxl/-/merge_requests/9
From fe3acdf9503b836111fb20c4839a25562d0484f7 Mon Sep 17 00:00:00 2001
From: Joachim Breuer <git@jmbreuer.net>
Date: Tue, 12 Apr 2022 19:32:40 +0200
Subject: [PATCH 1/3] fix pScrn->modes == NULL in xf86InitViewport()
track pScrn->modes along with qxl->x_modes
---
src/qxl_ums_mode.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/qxl_ums_mode.c b/src/qxl_ums_mode.c
index e4a7edc..5e5f668 100644
--- a/src/qxl_ums_mode.c
+++ b/src/qxl_ums_mode.c
@@ -65,7 +65,7 @@ qxl_add_mode (qxl_screen_t *qxl, ScrnInfoPtr pScrn, int width, int height, int t
DisplayModePtr mode;
mode = screen_create_mode (pScrn, width, height, type);
- qxl->x_modes = xf86ModesAdd (qxl->x_modes, mode);
+ pScrn->modes = qxl->x_modes = xf86ModesAdd (qxl->x_modes, mode);
return mode;
}
--
GitLab
From 9d0ddb12cb74a04ccd007ad884137a4fdaf39b44 Mon Sep 17 00:00:00 2001
From: Joachim Breuer <git@jmbreuer.net>
Date: Tue, 12 Apr 2022 19:33:45 +0200
Subject: [PATCH 2/3] Initialize pScrn->{width, height} from primary
... instead of pScrn->currentMode, the latter is not initialized
in xorg-server-21.1.3
---
src/qxl_driver.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/qxl_driver.c b/src/qxl_driver.c
index 80d021b..009e79a 100644
--- a/src/qxl_driver.c
+++ b/src/qxl_driver.c
@@ -807,8 +807,8 @@ qxl_screen_init (SCREEN_INIT_ARGS_DECL)
CHECK_POINT ();
- pScreen->width = pScrn->currentMode->HDisplay;
- pScreen->height = pScrn->currentMode->VDisplay;
+ pScreen->width = qxl->primary_mode.x_res;
+ pScreen->height = qxl->primary_mode.y_res;
if (!xf86CrtcScreenInit (pScreen))
return FALSE;
--
GitLab
From ca70ff93dd8bbf35104d0f48b23a81aebf58bfac Mon Sep 17 00:00:00 2001
From: Joachim Breuer <git@jmbreuer.net>
Date: Tue, 12 Apr 2022 19:35:21 +0200
Subject: [PATCH 3/3] Default to one head if there is no NUM_HEADS option
---
src/qxl_driver.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/qxl_driver.c b/src/qxl_driver.c
index 009e79a..2c38e2d 100644
--- a/src/qxl_driver.c
+++ b/src/qxl_driver.c
@@ -1005,6 +1005,10 @@ qxl_pre_init_common(ScrnInfoPtr pScrn)
get_bool_option (qxl->options, OPTION_DEBUG_RENDER_FALLBACKS, "QXL_DEBUG_RENDER_FALLBACKS");
qxl->num_heads =
get_int_option (qxl->options, OPTION_NUM_HEADS, "QXL_NUM_HEADS");
+ if (qxl->num_heads == 0) {
+ xf86DrvMsg (scrnIndex, X_INFO, "QXL_NUM_HEADS not configured, defaulting to 1\n");
+ qxl->num_heads = 1;
+ }
qxl->deferred_fps = get_int_option(qxl->options, OPTION_SPICE_DEFERRED_FPS, "XSPICE_DEFERRED_FPS");
if (qxl->deferred_fps > 0)
--
GitLab

View File

@ -1,7 +1,7 @@
# Template file for 'xf86-video-qxl'
pkgname=xf86-video-qxl
version=0.1.5
revision=4
version=0.1.6
revision=1
build_style=gnu-configure
hostmakedepends="automake m4 xorg-util-macros libtool pkg-config"
makedepends="xorg-server-devel spice-protocol xorgproto"
@ -10,8 +10,8 @@ short_desc="Xorg QXL video driver"
maintainer="Andrew Benson <abenson+void@gmail.com>"
license="MIT"
homepage="https://www.x.org"
distfiles="$XORG_SITE/driver/${pkgname}-${version}.tar.bz2"
checksum=b18682e04503c6326f7bf7190f3ee50a3d4d69758a2a3cc9af102a6b3f114c92
distfiles="$XORG_SITE/driver/${pkgname}-${version}.tar.xz"
checksum=2ad39558db47a8fcc036e290e0b084671e58d43344a57b279abd870c4c67965f
lib32disabled=yes
LDFLAGS="-Wl,-z,lazy"