|
|
82b592 |
From d69bf823d4f7acefe7b0fac592525c07b7c68521 Mon Sep 17 00:00:00 2001
|
|
|
82b592 |
From: Adam Jackson <ajax@redhat.com>
|
|
|
82b592 |
Date: Mon, 23 May 2016 14:09:58 -0400
|
|
|
82b592 |
Subject: [PATCH] dix: Enable indirect GLX by default, add xorg.conf option
|
|
|
82b592 |
|
|
|
82b592 |
Signed-off-by: Adam Jackson <ajax@redhat.com>
|
|
|
82b592 |
---
|
|
|
82b592 |
hw/xfree86/common/xf86Config.c | 9 +++++++++
|
|
|
82b592 |
hw/xfree86/common/xf86Init.c | 4 ++++
|
|
|
82b592 |
hw/xfree86/common/xf86Privstr.h | 1 +
|
|
|
82b592 |
hw/xfree86/man/xorg.conf.man | 4 ++++
|
|
|
82b592 |
os/utils.c | 2 +-
|
|
|
82b592 |
5 files changed, 19 insertions(+), 1 deletion(-)
|
|
|
82b592 |
|
|
|
82b592 |
diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c
|
|
|
82b592 |
index 5f7d13b..2f829e3 100644
|
|
|
82b592 |
--- a/hw/xfree86/common/xf86Config.c
|
|
|
82b592 |
+++ b/hw/xfree86/common/xf86Config.c
|
|
|
82b592 |
@@ -698,6 +698,7 @@ typedef enum {
|
|
|
82b592 |
FLAG_USE_SIGIO,
|
|
|
82b592 |
FLAG_AUTO_ADD_GPU,
|
|
|
82b592 |
FLAG_MAX_CLIENTS,
|
|
|
82b592 |
+ FLAG_IGLX,
|
|
|
82b592 |
} FlagValues;
|
|
|
82b592 |
|
|
|
82b592 |
/**
|
|
|
82b592 |
@@ -759,6 +760,8 @@ static OptionInfoRec FlagOptions[] = {
|
|
|
82b592 |
{0}, FALSE},
|
|
|
82b592 |
{FLAG_MAX_CLIENTS, "MaxClients", OPTV_INTEGER,
|
|
|
82b592 |
{0}, FALSE },
|
|
|
82b592 |
+ {FLAG_IGLX, "IndirectGLX", OPTV_BOOLEAN,
|
|
|
82b592 |
+ {0}, FALSE},
|
|
|
82b592 |
{-1, NULL, OPTV_NONE,
|
|
|
82b592 |
{0}, FALSE},
|
|
|
82b592 |
};
|
|
|
82b592 |
@@ -941,6 +944,12 @@ configServerFlags(XF86ConfFlagsPtr flagsconf, XF86OptionPtr layoutopts)
|
|
|
82b592 |
xf86Info.aiglx = value;
|
|
|
82b592 |
xf86Info.aiglxFrom = X_CONFIG;
|
|
|
82b592 |
}
|
|
|
82b592 |
+ if (xf86Info.iglxFrom != X_CMDLINE) {
|
|
|
82b592 |
+ if (xf86GetOptValBool(FlagOptions, FLAG_IGLX, &value)) {
|
|
|
82b592 |
+ enableIndirectGLX = value;
|
|
|
82b592 |
+ xf86Info.iglxFrom = X_CONFIG;
|
|
|
82b592 |
+ }
|
|
|
82b592 |
+ }
|
|
|
82b592 |
#endif
|
|
|
82b592 |
|
|
|
82b592 |
/* if we're not hotplugging, force some input devices to exist */
|
|
|
82b592 |
diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c
|
|
|
82b592 |
index 70048c5..f53660d 100644
|
|
|
82b592 |
--- a/hw/xfree86/common/xf86Init.c
|
|
|
82b592 |
+++ b/hw/xfree86/common/xf86Init.c
|
|
|
82b592 |
@@ -1468,6 +1468,10 @@ ddxProcessArgument(int argc, char **argv, int i)
|
|
|
82b592 |
xf86Info.ShareVTs = TRUE;
|
|
|
82b592 |
return 1;
|
|
|
82b592 |
}
|
|
|
82b592 |
+ if (!strcmp(argv[i], "-iglx") || !strcmp(argv[i], "+iglx")) {
|
|
|
82b592 |
+ xf86Info.iglxFrom = X_CMDLINE;
|
|
|
82b592 |
+ return 0;
|
|
|
82b592 |
+ }
|
|
|
82b592 |
|
|
|
82b592 |
/* OS-specific processing */
|
|
|
82b592 |
return xf86ProcessArgument(argc, argv, i);
|
|
|
82b592 |
diff --git a/hw/xfree86/common/xf86Privstr.h b/hw/xfree86/common/xf86Privstr.h
|
|
|
82b592 |
index cffa14d..75d86e6 100644
|
|
|
82b592 |
--- a/hw/xfree86/common/xf86Privstr.h
|
|
|
82b592 |
+++ b/hw/xfree86/common/xf86Privstr.h
|
|
|
82b592 |
@@ -89,6 +89,7 @@ typedef struct {
|
|
|
82b592 |
MessageType randRFrom;
|
|
|
82b592 |
Bool aiglx;
|
|
|
82b592 |
MessageType aiglxFrom;
|
|
|
82b592 |
+ MessageType iglxFrom;
|
|
|
82b592 |
XF86_GlxVisuals glxVisuals;
|
|
|
82b592 |
MessageType glxVisualsFrom;
|
|
|
82b592 |
|
|
|
82b592 |
diff --git a/hw/xfree86/man/xorg.conf.man b/hw/xfree86/man/xorg.conf.man
|
|
|
82b592 |
index 9157fc9..d788d90 100644
|
|
|
82b592 |
--- a/hw/xfree86/man/xorg.conf.man
|
|
|
82b592 |
+++ b/hw/xfree86/man/xorg.conf.man
|
|
|
82b592 |
@@ -644,6 +644,10 @@ Default is disabled.
|
|
|
82b592 |
.BI "Option \*qAIGLX\*q \*q" boolean \*q
|
|
|
82b592 |
enable or disable AIGLX. AIGLX is enabled by default.
|
|
|
82b592 |
.TP 7
|
|
|
82b592 |
+.BI "Option \*qIndirectGLX\*q \*q" boolean \*q
|
|
|
82b592 |
+enable or disable indirect GLX contexts. Indirect GLX contexts are enabled by
|
|
|
82b592 |
+default.
|
|
|
82b592 |
+.TP 7
|
|
|
82b592 |
.BI "Option \*qDRI2\*q \*q" boolean \*q
|
|
|
82b592 |
enable or disable DRI2. DRI2 is disabled by default.
|
|
|
82b592 |
.TP 7
|
|
|
82b592 |
diff --git a/os/utils.c b/os/utils.c
|
|
|
82b592 |
index b518add..5c1f1e4 100644
|
|
|
82b592 |
--- a/os/utils.c
|
|
|
82b592 |
+++ b/os/utils.c
|
|
|
82b592 |
@@ -194,7 +194,7 @@ Bool noGEExtension = FALSE;
|
|
|
82b592 |
|
|
|
82b592 |
Bool CoreDump;
|
|
|
82b592 |
|
|
|
82b592 |
-Bool enableIndirectGLX = FALSE;
|
|
|
82b592 |
+Bool enableIndirectGLX = TRUE;
|
|
|
82b592 |
|
|
|
82b592 |
#ifdef PANORAMIX
|
|
|
82b592 |
Bool PanoramiXExtensionDisabledHack = FALSE;
|
|
|
82b592 |
--
|
|
|
82b592 |
2.7.0
|
|
|
82b592 |
|