Compare commits

...
Sign in to create a new pull request.

3 commits

Author SHA1 Message Date
Adam Jackson
b143056e8e miinitext test 2017-11-07 15:15:04 -05:00
Adam Jackson
a97ca48fea Test of GLX_EXT_no_config_context 2017-11-07 11:15:17 -05:00
Adam Jackson
4f3a355e77 Initial pre-1.20 import 2017-11-06 13:07:49 -05:00
5 changed files with 589 additions and 36 deletions

View file

@ -0,0 +1,101 @@
From 13004bed8ce5ab9de6650d371d073daf693bde63 Mon Sep 17 00:00:00 2001
From: Adam Jackson <ajax@redhat.com>
Date: Thu, 21 Sep 2017 12:26:50 -0400
Subject: [PATCH xserver 1/2] glx: Fix glXQueryContext for GLX_FBCONFIG_ID and
GLX_RENDER_TYPE (v2)
Just never filled in, oops. Seems to have gone unnoticed because
normally glXQueryContext simply returns the values filled in by the
client library when the context was created. The only path by which you
normally get to a GLXQueryContext request is glXImportContext, and then
only if the context is already indirect.
However, that's a statement about Mesa's libGL (and anything else that
inherited that bit of the SGI SI more or less intact). Nothing prevents
a mischeivous client from issuing that request of a direct context, and
if they did we'd be in trouble because we never bothered to preserve the
associated fbconfig in the context state, so we'd crash looking up
GLX_VISUAL_ID_EXT. So let's fix that too.
v2: Fixed missing preservation of the config in DRI2 (Eric Anholt)
Signed-off-by: Adam Jackson <ajax@redhat.com>
---
glx/glxcmds.c | 7 ++++++-
glx/glxdri2.c | 1 +
glx/glxdriswrast.c | 1 +
hw/xquartz/GL/indirect.c | 2 +-
4 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/glx/glxcmds.c b/glx/glxcmds.c
index 241abc6a5..8681ef13f 100644
--- a/glx/glxcmds.c
+++ b/glx/glxcmds.c
@@ -215,6 +215,7 @@ __glXdirectContextCreate(__GLXscreen * screen,
if (context == NULL)
return NULL;
+ context->config = modes;
context->destroy = __glXdirectContextDestroy;
context->loseCurrent = __glXdirectContextLoseCurrent;
@@ -1718,7 +1719,7 @@ DoQueryContext(__GLXclientState * cl, GLXContextID gcId)
ClientPtr client = cl->client;
__GLXcontext *ctx;
xGLXQueryContextInfoEXTReply reply;
- int nProps = 3;
+ int nProps = 5;
int sendBuf[nProps * 2];
int nReplyBytes;
int err;
@@ -1740,6 +1741,10 @@ DoQueryContext(__GLXclientState * cl, GLXContextID gcId)
sendBuf[3] = (int) (ctx->config->visualID);
sendBuf[4] = GLX_SCREEN_EXT;
sendBuf[5] = (int) (ctx->pGlxScreen->pScreen->myNum);
+ sendBuf[6] = GLX_FBCONFIG_ID;
+ sendBuf[7] = (int) (ctx->config->fbconfigID);
+ sendBuf[8] = GLX_RENDER_TYPE;
+ sendBuf[9] = (int) (ctx->config->renderType);
if (client->swapped) {
int length = reply.length;
diff --git a/glx/glxdri2.c b/glx/glxdri2.c
index 8f5aab0c2..2c542bfdf 100644
--- a/glx/glxdri2.c
+++ b/glx/glxdri2.c
@@ -552,6 +552,7 @@ __glXDRIscreenCreateContext(__GLXscreen * baseScreen,
return NULL;
}
+ context->base.config = glxConfig;
context->base.destroy = __glXDRIcontextDestroy;
context->base.makeCurrent = __glXDRIcontextMakeCurrent;
context->base.loseCurrent = __glXDRIcontextLoseCurrent;
diff --git a/glx/glxdriswrast.c b/glx/glxdriswrast.c
index 5b1f3d1fc..c000d6cfb 100644
--- a/glx/glxdriswrast.c
+++ b/glx/glxdriswrast.c
@@ -231,6 +231,7 @@ __glXDRIscreenCreateContext(__GLXscreen * baseScreen,
if (context == NULL)
return NULL;
+ context->base.config = glxConfig;
context->base.destroy = __glXDRIcontextDestroy;
context->base.makeCurrent = __glXDRIcontextMakeCurrent;
context->base.loseCurrent = __glXDRIcontextLoseCurrent;
diff --git a/hw/xquartz/GL/indirect.c b/hw/xquartz/GL/indirect.c
index 2d88ef284..6738946ff 100644
--- a/hw/xquartz/GL/indirect.c
+++ b/hw/xquartz/GL/indirect.c
@@ -156,7 +156,7 @@ __glXAquaScreenCreateContext(__GLXscreen *screen,
memset(context, 0, sizeof *context);
context->base.pGlxScreen = screen;
-
+ context->base.config = conf;
context->base.destroy = __glXAquaContextDestroy;
context->base.makeCurrent = __glXAquaContextMakeCurrent;
context->base.loseCurrent = __glXAquaContextLoseCurrent;
--
2.14.3

View file

@ -0,0 +1,261 @@
From 81fdf57d56c36c80274aa82a94b77a4e88f4ce50 Mon Sep 17 00:00:00 2001
From: Adam Jackson <ajax@redhat.com>
Date: Wed, 13 Sep 2017 15:12:34 -0400
Subject: [PATCH xserver] miinitext: General cleanup
This really just wants to be the list of disable booleans and
initialization functions, and nothing else. Stop including the protocol
headers from extinit.h, remove a stray mention of xgl, and move an
XInput declaration to a better place.
Signed-off-by: Adam Jackson <ajax@redhat.com>
---
glx/glxcmds.c | 1 +
hw/xfree86/drivers/modesetting/driver.h | 1 +
include/extinit.h | 21 --------------------
include/inputstr.h | 4 ++++
mi/miinitext.c | 34 +++++++++++++++------------------
5 files changed, 21 insertions(+), 40 deletions(-)
diff --git a/glx/glxcmds.c b/glx/glxcmds.c
index 241abc6a5..d6c917653 100644
--- a/glx/glxcmds.c
+++ b/glx/glxcmds.c
@@ -37,6 +37,7 @@
#include "glxserver.h"
#include <GL/glxtokens.h>
+#include <X11/extensions/presenttokens.h>
#include <unpack.h>
#include <pixmapstr.h>
#include <windowstr.h>
diff --git a/hw/xfree86/drivers/modesetting/driver.h b/hw/xfree86/drivers/modesetting/driver.h
index 7ea500f5c..0082348b4 100644
--- a/hw/xfree86/drivers/modesetting/driver.h
+++ b/hw/xfree86/drivers/modesetting/driver.h
@@ -32,6 +32,7 @@
#include <xf86drm.h>
#include <xf86Crtc.h>
#include <damage.h>
+#include <X11/extensions/dpmsconst.h>
#ifdef GLAMOR_HAS_GBM
#define GLAMOR_FOR_XORG 1
diff --git a/include/extinit.h b/include/extinit.h
index 4ad4fcac0..67e300d18 100644
--- a/include/extinit.h
+++ b/include/extinit.h
@@ -69,7 +69,6 @@ extern void DbeExtensionInit(void);
#endif
#if defined(DPMSExtension)
-#include <X11/extensions/dpmsconst.h>
extern _X_EXPORT Bool noDPMSExtension;
extern void DPMSExtensionInit(void);
#endif
@@ -82,7 +81,6 @@ extern _X_EXPORT Bool noGlxExtension;
#endif
#ifdef PANORAMIX
-#include <X11/extensions/panoramiXproto.h>
extern _X_EXPORT Bool noPanoramiXExtension;
extern void PanoramiXExtensionInit(void);
#endif
@@ -100,23 +98,18 @@ extern _X_EXPORT Bool noRenderExtension;
extern void RenderExtensionInit(void);
#if defined(RES)
-#include <X11/extensions/XResproto.h>
extern _X_EXPORT Bool noResExtension;
extern void ResExtensionInit(void);
#endif
#if defined(SCREENSAVER)
-#include <X11/extensions/saver.h>
extern _X_EXPORT Bool noScreenSaverExtension;
extern void ScreenSaverExtensionInit(void);
#endif
-#include <X11/extensions/shapeproto.h>
extern void ShapeExtensionInit(void);
#ifdef MITSHM
-#include <X11/extensions/shm.h>
-#include <X11/extensions/shmproto.h>
extern _X_EXPORT Bool noMITShmExtension;
extern void ShmExtensionInit(void);
#endif
@@ -126,14 +119,11 @@ extern void SyncExtensionInit(void);
extern void XCMiscExtensionInit(void);
#ifdef XCSECURITY
-#include <X11/extensions/secur.h>
-#include "securitysrv.h"
extern _X_EXPORT Bool noSecurityExtension;
extern void SecurityExtensionInit(void);
#endif
#ifdef XF86BIGFONT
-#include <X11/extensions/xf86bigfproto.h>
extern _X_EXPORT Bool noXFree86BigfontExtension;
extern void XFree86BigfontExtensionInit(void);
#endif
@@ -144,40 +134,29 @@ extern _X_EXPORT Bool noXFixesExtension;
extern void XFixesExtensionInit(void);
extern void XInputExtensionInit(void);
-extern _X_EXPORT void AssignTypeAndName(DeviceIntPtr dev,
- Atom type,
- const char *name);
-#include <X11/extensions/XKB.h>
extern void XkbExtensionInit(void);
#if defined(XSELINUX)
-#include "xselinux.h"
extern _X_EXPORT Bool noSELinuxExtension;
extern void SELinuxExtensionInit(void);
#endif
#ifdef XTEST
-#include <X11/extensions/xtestconst.h>
-#include <X11/extensions/xtestproto.h>
extern void XTestExtensionInit(void);
#endif
#if defined(XV)
-#include <X11/extensions/Xv.h>
-#include <X11/extensions/XvMC.h>
extern _X_EXPORT Bool noXvExtension;
extern void XvExtensionInit(void);
extern void XvMCExtensionInit(void);
#endif
#if defined(DRI3)
-#include <X11/extensions/dri3proto.h>
extern void dri3_extension_init(void);
#endif
#if defined(PRESENT)
-#include <X11/extensions/presentproto.h>
#include "presentext.h"
#endif
diff --git a/include/inputstr.h b/include/inputstr.h
index 568f5f991..466b58845 100644
--- a/include/inputstr.h
+++ b/include/inputstr.h
@@ -57,6 +57,10 @@ SOFTWARE.
#include "geext.h"
#include "privates.h"
+extern _X_EXPORT void AssignTypeAndName(DeviceIntPtr dev,
+ Atom type,
+ const char *name);
+
#define BitIsOn(ptr, bit) (!!(((const BYTE *) (ptr))[(bit)>>3] & (1 << ((bit) & 7))))
#define SetBit(ptr, bit) (((BYTE *) (ptr))[(bit)>>3] |= (1 << ((bit) & 7)))
#define ClearBit(ptr, bit) (((BYTE *)(ptr))[(bit)>>3] &= ~(1 << ((bit) & 7)))
diff --git a/mi/miinitext.c b/mi/miinitext.c
index 9e6578d4a..ce9325e29 100644
--- a/mi/miinitext.c
+++ b/mi/miinitext.c
@@ -97,10 +97,6 @@ SOFTWARE.
#undef DPMSExtension
#endif
-#ifdef HAVE_XGL_CONFIG_H
-#include <xgl-config.h>
-#endif
-
#include "misc.h"
#include "extension.h"
#include "extinit.h"
@@ -140,7 +136,7 @@ static ExtensionToggle ExtensionToggleList[] = {
{"MIT-SCREEN-SAVER", &noScreenSaverExtension},
#endif
#ifdef MITSHM
- {SHMNAME, &noMITShmExtension},
+ {"MIT-SHM", &noMITShmExtension},
#endif
#ifdef RANDR
{"RANDR", &noRRExtension},
@@ -237,21 +233,21 @@ static const ExtensionModule staticExtensions[] = {
{GEExtensionInit, "Generic Event Extension", &noGEExtension},
{ShapeExtensionInit, "SHAPE", NULL},
#ifdef MITSHM
- {ShmExtensionInit, SHMNAME, &noMITShmExtension},
+ {ShmExtensionInit, "MIT-SHM", &noMITShmExtension},
#endif
{XInputExtensionInit, "XInputExtension", NULL},
#ifdef XTEST
- {XTestExtensionInit, XTestExtensionName, &noTestExtensions},
+ {XTestExtensionInit, "XTEST", &noTestExtensions},
#endif
{BigReqExtensionInit, "BIG-REQUESTS", NULL},
{SyncExtensionInit, "SYNC", NULL},
- {XkbExtensionInit, XkbName, NULL},
+ {XkbExtensionInit, "XKEYBOARD", NULL},
{XCMiscExtensionInit, "XC-MISC", NULL},
#ifdef XCSECURITY
- {SecurityExtensionInit, SECURITY_EXTENSION_NAME, &noSecurityExtension},
+ {SecurityExtensionInit, "SECURITY", &noSecurityExtension},
#endif
#ifdef PANORAMIX
- {PanoramiXExtensionInit, PANORAMIX_PROTOCOL_NAME, &noPanoramiXExtension},
+ {PanoramiXExtensionInit, "XINERAMA", &noPanoramiXExtension},
#endif
#ifdef INXQUARTZ
/* PseudoramiXExtensionInit must be done before RRExtensionInit, or
@@ -262,7 +258,7 @@ static const ExtensionModule staticExtensions[] = {
/* must be before Render to layer DisplayCursor correctly */
{XFixesExtensionInit, "XFIXES", &noXFixesExtension},
#ifdef XF86BIGFONT
- {XFree86BigfontExtensionInit, XF86BIGFONTNAME, &noXFree86BigfontExtension},
+ {XFree86BigfontExtensionInit, "XFree86-Bigfont", &noXFree86BigfontExtension},
#endif
{RenderExtensionInit, "RENDER", &noRenderExtension},
#ifdef RANDR
@@ -275,7 +271,7 @@ static const ExtensionModule staticExtensions[] = {
{DamageExtensionInit, "DAMAGE", &noDamageExtension},
#endif
#ifdef SCREENSAVER
- {ScreenSaverExtensionInit, ScreenSaverName, &noScreenSaverExtension},
+ {ScreenSaverExtensionInit, "MIT-SCREEN-SAVER", &noScreenSaverExtension},
#endif
#ifdef DBE
{DbeExtensionInit, "DOUBLE-BUFFER", &noDbeExtension},
@@ -284,23 +280,23 @@ static const ExtensionModule staticExtensions[] = {
{RecordExtensionInit, "RECORD", &noTestExtensions},
#endif
#ifdef DPMSExtension
- {DPMSExtensionInit, DPMSExtensionName, &noDPMSExtension},
+ {DPMSExtensionInit, "DPMS", &noDPMSExtension},
#endif
#ifdef PRESENT
- {present_extension_init, PRESENT_NAME, NULL},
+ {present_extension_init, "Present", NULL},
#endif
#ifdef DRI3
- {dri3_extension_init, DRI3_NAME, NULL},
+ {dri3_extension_init, "DRI3", NULL},
#endif
#ifdef RES
- {ResExtensionInit, XRES_NAME, &noResExtension},
+ {ResExtensionInit, "X-Resource", &noResExtension},
#endif
#ifdef XV
- {XvExtensionInit, XvName, &noXvExtension},
- {XvMCExtensionInit, XvMCName, &noXvExtension},
+ {XvExtensionInit, "XVideo", &noXvExtension},
+ {XvMCExtensionInit, "XVideo-MotionCompensation", &noXvExtension},
#endif
#ifdef XSELINUX
- {SELinuxExtensionInit, SELINUX_EXTENSION_NAME, &noSELinuxExtension},
+ {SELinuxExtensionInit, "SELinux", &noSELinuxExtension},
#endif
};
--
2.14.3

View file

@ -0,0 +1,203 @@
From 5c9749499e866b5eb0558b063b817f35bbd92cfa Mon Sep 17 00:00:00 2001
From: Adam Jackson <ajax@redhat.com>
Date: Thu, 21 Sep 2017 12:45:04 -0400
Subject: [PATCH xserver 2/2] glx: Implement GLX_EXT_no_config_context (v2)
Only enabled for the DRI backends at the moment. In principle WGL/CGL
could support this - it's sort of implied by GL 3.0 support - but in
practice I don't know that it would actually work.
This is currently a draft extension, under review at:
https://github.com/KhronosGroup/OpenGL-Registry/pull/102
v2: Require that the two screen numbers match, per v4 of spec.
Signed-off-by: Adam Jackson <ajax@redhat.com>
---
glx/createcontext.c | 20 +++++++++++++++++---
glx/extension_string.c | 1 +
glx/extension_string.h | 1 +
glx/glxcmds.c | 6 +++---
glx/glxdri2.c | 13 +++++++------
glx/glxdriswrast.c | 8 ++++++--
6 files changed, 35 insertions(+), 14 deletions(-)
diff --git a/glx/createcontext.c b/glx/createcontext.c
index 1216f9412..76316db67 100644
--- a/glx/createcontext.c
+++ b/glx/createcontext.c
@@ -93,7 +93,7 @@ __glXDisp_CreateContextAttribsARB(__GLXclientState * cl, GLbyte * pc)
__GLXcontext *ctx = NULL;
__GLXcontext *shareCtx = NULL;
__GLXscreen *glxScreen;
- __GLXconfig *config;
+ __GLXconfig *config = NULL;
int err;
/* The GLX_ARB_create_context_robustness spec says:
@@ -136,8 +136,10 @@ __glXDisp_CreateContextAttribsARB(__GLXclientState * cl, GLbyte * pc)
if (!validGlxScreen(client, req->screen, &glxScreen, &err))
return __glXError(GLXBadFBConfig);
- if (!validGlxFBConfig(client, glxScreen, req->fbconfig, &config, &err))
- return __glXError(GLXBadFBConfig);
+ if (req->fbconfig) {
+ if (!validGlxFBConfig(client, glxScreen, req->fbconfig, &config, &err))
+ return __glXError(GLXBadFBConfig);
+ }
/* Validate the context with which the new context should share resources.
*/
@@ -182,6 +184,9 @@ __glXDisp_CreateContextAttribsARB(__GLXclientState * cl, GLbyte * pc)
break;
case GLX_RENDER_TYPE:
+ /* Not valid for GLX_EXT_no_config_context */
+ if (!req->fbconfig)
+ return BadValue;
render_type = attribs[2 * i + 1];
break;
@@ -206,6 +211,15 @@ __glXDisp_CreateContextAttribsARB(__GLXclientState * cl, GLbyte * pc)
break;
#endif
+ case GLX_SCREEN:
+ /* Only valid for GLX_EXT_no_config_context */
+ if (req->fbconfig)
+ return BadValue;
+ /* Must match the value in the request header */
+ if (attribs[2 * i + 1] != req->screen)
+ return BadValue;
+ break;
+
default:
if (!req->isDirect)
return BadValue;
diff --git a/glx/extension_string.c b/glx/extension_string.c
index d1da4815c..102f9dd42 100644
--- a/glx/extension_string.c
+++ b/glx/extension_string.c
@@ -86,6 +86,7 @@ static const struct extension_info known_glx_extensions[] = {
{ GLX(EXT_framebuffer_sRGB), VER(0,0), N, },
{ GLX(EXT_import_context), VER(0,0), Y, },
{ GLX(EXT_libglvnd), VER(0,0), N, },
+ { GLX(EXT_no_config_context), VER(0,0), N, },
{ GLX(EXT_stereo_tree), VER(0,0), N, },
{ GLX(EXT_texture_from_pixmap), VER(0,0), N, },
{ GLX(EXT_visual_info), VER(0,0), Y, },
diff --git a/glx/extension_string.h b/glx/extension_string.h
index a10d7108a..f049f5840 100644
--- a/glx/extension_string.h
+++ b/glx/extension_string.h
@@ -48,6 +48,7 @@ enum {
EXT_fbconfig_packed_float_bit,
EXT_import_context_bit,
EXT_libglvnd_bit,
+ EXT_no_config_context_bit,
EXT_stereo_tree_bit,
EXT_texture_from_pixmap_bit,
EXT_visual_info_bit,
diff --git a/glx/glxcmds.c b/glx/glxcmds.c
index 8681ef13f..324558b6e 100644
--- a/glx/glxcmds.c
+++ b/glx/glxcmds.c
@@ -1738,13 +1738,13 @@ DoQueryContext(__GLXclientState * cl, GLXContextID gcId)
sendBuf[0] = GLX_SHARE_CONTEXT_EXT;
sendBuf[1] = (int) (ctx->share_id);
sendBuf[2] = GLX_VISUAL_ID_EXT;
- sendBuf[3] = (int) (ctx->config->visualID);
+ sendBuf[3] = (int) (ctx->config ? ctx->config->visualID : 0);
sendBuf[4] = GLX_SCREEN_EXT;
sendBuf[5] = (int) (ctx->pGlxScreen->pScreen->myNum);
sendBuf[6] = GLX_FBCONFIG_ID;
- sendBuf[7] = (int) (ctx->config->fbconfigID);
+ sendBuf[7] = (int) (ctx->config ? ctx->config->fbconfigID : 0);
sendBuf[8] = GLX_RENDER_TYPE;
- sendBuf[9] = (int) (ctx->config->renderType);
+ sendBuf[9] = (int) (ctx->config ? ctx->config->renderType : GLX_DONT_CARE);
if (client->swapped) {
int length = reply.length;
diff --git a/glx/glxdri2.c b/glx/glxdri2.c
index 2c542bfdf..2e24b56e6 100644
--- a/glx/glxdri2.c
+++ b/glx/glxdri2.c
@@ -441,6 +441,7 @@ create_driver_context(__GLXDRIcontext * context,
int *error)
{
context->driContext = NULL;
+ const __DRIconfig *driConfig = config ? config->driConfig : NULL;
if (screen->dri2->base.version >= 3) {
uint32_t ctx_attribs[4 * 2];
@@ -483,10 +484,8 @@ create_driver_context(__GLXDRIcontext * context,
}
context->driContext =
- (*screen->dri2->createContextAttribs)(screen->driScreen,
- api,
- config->driConfig,
- driShare,
+ (*screen->dri2->createContextAttribs)(screen->driScreen, api,
+ driConfig, driShare,
num_ctx_attribs / 2,
ctx_attribs,
&dri_err,
@@ -522,8 +521,7 @@ create_driver_context(__GLXDRIcontext * context,
}
context->driContext =
- (*screen->dri2->createNewContext) (screen->driScreen,
- config->driConfig,
+ (*screen->dri2->createNewContext) (screen->driScreen, driConfig,
driShare, context);
}
@@ -831,6 +829,9 @@ initializeExtensions(__GLXscreen * screen)
__glXEnableExtension(screen->glx_enable_bits, "GLX_MESA_copy_sub_buffer");
LogMessage(X_INFO, "AIGLX: enabled GLX_MESA_copy_sub_buffer\n");
+ __glXEnableExtension(screen->glx_enable_bits, "GLX_EXT_no_config_context");
+ LogMessage(X_INFO, "AIGLX: enabled GLX_EXT_no_config_context\n");
+
if (dri->dri2->base.version >= 3) {
__glXEnableExtension(screen->glx_enable_bits,
"GLX_ARB_create_context");
diff --git a/glx/glxdriswrast.c b/glx/glxdriswrast.c
index c000d6cfb..adc97df93 100644
--- a/glx/glxdriswrast.c
+++ b/glx/glxdriswrast.c
@@ -211,6 +211,7 @@ __glXDRIscreenCreateContext(__GLXscreen * baseScreen,
__GLXDRIscreen *screen = (__GLXDRIscreen *) baseScreen;
__GLXDRIcontext *context, *shareContext;
__GLXDRIconfig *config = (__GLXDRIconfig *) glxConfig;
+ const __DRIconfig *driConfig = config ? config->driConfig : NULL;
const __DRIcoreExtension *core = screen->core;
__DRIcontext *driShare;
@@ -240,8 +241,8 @@ __glXDRIscreenCreateContext(__GLXscreen * baseScreen,
context->base.releaseTexImage = __glXDRIreleaseTexImage;
context->driContext =
- (*core->createNewContext) (screen->driScreen,
- config->driConfig, driShare, context);
+ (*core->createNewContext) (screen->driScreen, driConfig, driShare,
+ context);
return &context->base;
}
@@ -352,6 +353,9 @@ initializeExtensions(__GLXscreen * screen)
__glXEnableExtension(screen->glx_enable_bits, "GLX_MESA_copy_sub_buffer");
LogMessage(X_INFO, "IGLX: enabled GLX_MESA_copy_sub_buffer\n");
+ __glXEnableExtension(screen->glx_enable_bits, "GLX_EXT_no_config_context");
+ LogMessage(X_INFO, "IGLX: enabled GLX_EXT_no_config_context\n");
+
if (dri->swrast->base.version >= 3) {
__glXEnableExtension(screen->glx_enable_bits,
"GLX_ARB_create_context");
--
2.14.3

View file

@ -1 +1,2 @@
SHA512 (xorg-server-1.19.5.tar.bz2) = 928dea5850b98cd815004cfa133eca23cfa9521920c934c68a92787f2cae13cca1534eee772a4fb74b8ae8cb92662b5d68b95b834c8aa8ec57cd57cb4e5dd45c
SHA512 (xserver-1.19.99.1.tar.xz) = d442022e64d1321879827f601e2606c82cac32d2926840dbb7b19cdd3ef67518de9fdbebb47be4779beaa95cb9c8cd86d4ee1221ff0a4cc8835e57b2e5a54185

View file

@ -19,7 +19,7 @@
# source because rpm is a terrible language.
%global ansic_major 0
%global ansic_minor 4
%global videodrv_major 23
%global videodrv_major 24
%global videodrv_minor 0
%global xinput_major 24
%global xinput_minor 1
@ -44,8 +44,8 @@
Summary: X.Org X11 X server
Name: xorg-x11-server
Version: 1.19.5
Release: 1%{?gitdate:.%{gitdate}}%{dist}
Version: 1.19.99.1
Release: 0.3%{?gitdate:.%{gitdate}}%{dist}
URL: http://www.x.org
License: MIT
Group: User Interface/X
@ -59,7 +59,7 @@ Source0: xorg-server-%{gitdate}.tar.xz
Source1: make-git-snapshot.sh
Source2: commitid
%else
Source0: https://www.x.org/pub/individual/xserver/%{pkgname}-%{version}.tar.bz2
Source0: https://www.x.org/pub/individual/xserver/xserver-%{version}.tar.xz
Source1: gitignore
%endif
@ -77,47 +77,25 @@ Source31: xserver-sdk-abi-requires.git
# maintainer convenience script
Source40: driver-abi-rebuild.sh
# Various fixes pending upstream
Patch2: 0005-xfree86-Remove-redundant-ServerIsNotSeat0-check-from.patch
Patch3: 0006-xfree86-Make-adding-unclaimed-devices-as-GPU-devices.patch
Patch4: 0007-xfree86-Try-harder-to-find-atleast-1-non-GPU-Screen.patch
# Patches for better integration with the nvidia driver, pending upstream
Patch11: 0001-xfree86-Free-devlist-returned-by-xf86MatchDevice.patch
Patch12: 0002-xfree86-Make-OutputClassMatches-take-a-xf86_platform.patch
Patch13: 0003-xfree86-Add-options-support-for-OutputClass-Options.patch
Patch14: 0004-xfree86-xf86platformProbe-split-finding-pci-info-and.patch
Patch15: 0005-xfree86-Allow-overriding-primary-GPU-detection-from-.patch
Patch16: 0006-xfree86-Add-ModulePath-support-for-OutputClass-confi.patch
# Backport tablet support for Xwayland - *NOT* in server-1.19-branch
Patch9901: 0001-xwayland-Depend-on-wayland-protocols-to-build-tablet.patch
Patch9902: 0002-xwayland-Bind-to-wp_tablet_manager-if-available-and-.patch
Patch9903: 0003-xwayland-Listen-for-wp_tablet_seat-events.patch
Patch9904: 0004-xwayland-Handle-wp_tablet-events.patch
Patch9905: 0005-xwayland-Handle-tablet_tool-events.patch
Patch9906: 0006-xwayland-handle-button-events-after-motion-events.patch
Patch9907: 0007-xwayland-Refactor-cursor-management-into-xwl_cursor.patch
Patch9908: 0008-xwayland-update-cursor-on-tablet-tools-in-proximity.patch
Patch9909: 0009-xwayland-add-tablet-pad-support.patch
Patch9910: 0010-xwayland-Unconditionally-initialize-lists-in-init_ta.patch
Patch9911: 0011-xwayland-Correct-off-by-one-error-in-tablet-button-n.patch
Patch9912: 0012-xwayland-Implement-tablet_tool_wheel-for-scrolling.patch
# From Debian use intel ddx driver only for gen4 and older chipsets
%if 0%{?fedora} > 25 || 0%{?rhel} > 7
Patch20: 06_use-intel-only-on-pre-gen4.diff
%endif
# Submitted upstream
Patch21: 0001-xf86-dri2-Use-va_gl-as-vdpau_driver-for-Intel-i965-G.patch
# Submitted upstream XXX ajax fix this
# Patch21: 0001-xf86-dri2-Use-va_gl-as-vdpau_driver-for-Intel-i965-G.patch
#Patch6044: xserver-1.6.99-hush-prerelease-warning.patch
Patch7025: 0001-Always-install-vbe-and-int10-sdk-headers.patch
# XXX ajax
# Patch7025: 0001-Always-install-vbe-and-int10-sdk-headers.patch
# Submitted upstream, but not going anywhere
Patch7027: xserver-autobind-hotplug.patch
# Patch7027: xserver-autobind-hotplug.patch
Patch100: 0001-glx-Fix-glXQueryContext-for-GLX_FBCONFIG_ID-and-GLX_.patch
Patch101: 0002-glx-Implement-GLX_EXT_no_config_context-v2.patch
Patch102: 0001-miinitext-General-cleanup.patch
# because the display-managers are not ready yet, do not upstream
Patch10000: 0001-Fedora-hack-Make-the-suid-root-wrapper-always-start-.patch
@ -359,7 +337,7 @@ Xserver source code needed to build VNC server (Xvnc)
%prep
%autosetup -N -n %{pkgname}-%{?gitdate:%{gitdate}}%{!?gitdate:%{version}}
%autosetup -N -n xserver-%{?gitdate:%{gitdate}}%{!?gitdate:%{version}}
rm -rf .git
cp %{SOURCE1} .gitignore
# ick
@ -617,6 +595,15 @@ find %{inst_srcdir}/hw/xfree86 -name \*.c -delete
%changelog
* Tue Nov 07 2017 Adam Jackson <ajax@redhat.com> - 1.19.99.1-0.3
- miinitext test
* Tue Nov 07 2017 Adam Jackson <ajax@redhat.com> - 1.19.99.1-0.2
- Test of GLX_EXT_no_config_context
* Mon Nov 06 2017 Adam Jackson <ajax@redhat.com> - 1.19.99.1-0.1
- Initial pre-1.20 import
* Thu Oct 12 2017 Adam Jackson <ajax@redhat.com> - 1.19.5-1
- xserver 1.19.5