diff --git a/0001-glx-Fix-glXQueryContext-for-GLX_FBCONFIG_ID-and-GLX_.patch b/0001-glx-Fix-glXQueryContext-for-GLX_FBCONFIG_ID-and-GLX_.patch new file mode 100644 index 0000000..ee5f239 --- /dev/null +++ b/0001-glx-Fix-glXQueryContext-for-GLX_FBCONFIG_ID-and-GLX_.patch @@ -0,0 +1,101 @@ +From 13004bed8ce5ab9de6650d371d073daf693bde63 Mon Sep 17 00:00:00 2001 +From: Adam Jackson +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 +--- + 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 + diff --git a/0001-miinitext-General-cleanup.patch b/0001-miinitext-General-cleanup.patch new file mode 100644 index 0000000..52714c7 --- /dev/null +++ b/0001-miinitext-General-cleanup.patch @@ -0,0 +1,261 @@ +From 81fdf57d56c36c80274aa82a94b77a4e88f4ce50 Mon Sep 17 00:00:00 2001 +From: Adam Jackson +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 +--- + 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 ++#include + #include + #include + #include +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 + #include + #include ++#include + + #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 + extern _X_EXPORT Bool noDPMSExtension; + extern void DPMSExtensionInit(void); + #endif +@@ -82,7 +81,6 @@ extern _X_EXPORT Bool noGlxExtension; + #endif + + #ifdef PANORAMIX +-#include + 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 + extern _X_EXPORT Bool noResExtension; + extern void ResExtensionInit(void); + #endif + + #if defined(SCREENSAVER) +-#include + extern _X_EXPORT Bool noScreenSaverExtension; + extern void ScreenSaverExtensionInit(void); + #endif + +-#include + extern void ShapeExtensionInit(void); + + #ifdef MITSHM +-#include +-#include + 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 +-#include "securitysrv.h" + extern _X_EXPORT Bool noSecurityExtension; + extern void SecurityExtensionInit(void); + #endif + + #ifdef XF86BIGFONT +-#include + 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 + extern void XkbExtensionInit(void); + + #if defined(XSELINUX) +-#include "xselinux.h" + extern _X_EXPORT Bool noSELinuxExtension; + extern void SELinuxExtensionInit(void); + #endif + + #ifdef XTEST +-#include +-#include + extern void XTestExtensionInit(void); + #endif + + #if defined(XV) +-#include +-#include + extern _X_EXPORT Bool noXvExtension; + extern void XvExtensionInit(void); + extern void XvMCExtensionInit(void); + #endif + + #if defined(DRI3) +-#include + extern void dri3_extension_init(void); + #endif + + #if defined(PRESENT) +-#include + #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 +-#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 + diff --git a/0002-glx-Implement-GLX_EXT_no_config_context-v2.patch b/0002-glx-Implement-GLX_EXT_no_config_context-v2.patch new file mode 100644 index 0000000..58f598d --- /dev/null +++ b/0002-glx-Implement-GLX_EXT_no_config_context-v2.patch @@ -0,0 +1,203 @@ +From 5c9749499e866b5eb0558b063b817f35bbd92cfa Mon Sep 17 00:00:00 2001 +From: Adam Jackson +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 +--- + 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 + diff --git a/sources b/sources index 1192868..e3744f5 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ SHA512 (xorg-server-1.19.5.tar.bz2) = 928dea5850b98cd815004cfa133eca23cfa9521920c934c68a92787f2cae13cca1534eee772a4fb74b8ae8cb92662b5d68b95b834c8aa8ec57cd57cb4e5dd45c +SHA512 (xserver-1.19.99.1.tar.xz) = d442022e64d1321879827f601e2606c82cac32d2926840dbb7b19cdd3ef67518de9fdbebb47be4779beaa95cb9c8cd86d4ee1221ff0a4cc8835e57b2e5a54185 diff --git a/xorg-x11-server.spec b/xorg-x11-server.spec index a62ad4f..2d73ae6 100644 --- a/xorg-x11-server.spec +++ b/xorg-x11-server.spec @@ -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 - 1.19.99.1-0.3 +- miinitext test + +* Tue Nov 07 2017 Adam Jackson - 1.19.99.1-0.2 +- Test of GLX_EXT_no_config_context + +* Mon Nov 06 2017 Adam Jackson - 1.19.99.1-0.1 +- Initial pre-1.20 import + * Thu Oct 12 2017 Adam Jackson - 1.19.5-1 - xserver 1.19.5