17.1.1
This commit is contained in:
		
							parent
							
								
									f8017a8979
								
							
						
					
					
						commit
						0f297014f0
					
				| @ -1,88 +0,0 @@ | ||||
| From efa4f2ebc1e788c3f1cfcf3842058cf838171653 Mon Sep 17 00:00:00 2001 | ||||
| From: Hans de Goede <hdegoede@redhat.com> | ||||
| Date: Mon, 20 Mar 2017 08:41:26 +0100 | ||||
| Subject: [PATCH] glxglvnddispatch: Add missing dispatch for GetDriverConfig | ||||
| 
 | ||||
| Together with some fixes to xdriinfo this fixes xdriinfo not working | ||||
| with glvnd. | ||||
| 
 | ||||
| Since apps (xdriinfo) expect GetDriverConfig to work without going to | ||||
| need through the dance to setup a glxcontext (which is a reasonable | ||||
| expectation IMHO), the dispatch for this ends up significantly different | ||||
| then any other dispatch function. | ||||
| 
 | ||||
| This patch gets the job done, but I'm not really happy with how this | ||||
| patch turned out, suggestions for a better fix are welcome. | ||||
| 
 | ||||
| Cc: Kyle Brenneman <kbrenneman@nvidia.com> | ||||
| Signed-off-by: Hans de Goede <hdegoede@redhat.com> | ||||
| ---
 | ||||
|  src/glx/g_glxglvnddispatchfuncs.c   | 18 ++++++++++++++++++ | ||||
|  src/glx/g_glxglvnddispatchindices.h |  1 + | ||||
|  2 files changed, 19 insertions(+) | ||||
| 
 | ||||
| diff --git a/src/glx/g_glxglvnddispatchfuncs.c b/src/glx/g_glxglvnddispatchfuncs.c
 | ||||
| index b5e3398..040cdf8 100644
 | ||||
| --- a/src/glx/g_glxglvnddispatchfuncs.c
 | ||||
| +++ b/src/glx/g_glxglvnddispatchfuncs.c
 | ||||
| @@ -4,6 +4,7 @@
 | ||||
|   */ | ||||
|  #include <stdlib.h> | ||||
|   | ||||
| +#include "glxclient.h"
 | ||||
|  #include "glxglvnd.h" | ||||
|  #include "glxglvnddispatchfuncs.h" | ||||
|  #include "g_glxglvnddispatchindices.h" | ||||
| @@ -50,6 +51,7 @@ const char * const __glXDispatchTableStrings[DI_LAST_INDEX] = {
 | ||||
|      __ATTRIB(GetCurrentDisplayEXT), | ||||
|      // glXGetCurrentDrawable implemented by libglvnd | ||||
|      // glXGetCurrentReadDrawable implemented by libglvnd | ||||
| +    __ATTRIB(GetDriverConfig),
 | ||||
|      // glXGetFBConfigAttrib implemented by libglvnd | ||||
|      __ATTRIB(GetFBConfigAttribSGIX), | ||||
|      __ATTRIB(GetFBConfigFromVisualSGIX), | ||||
| @@ -334,6 +336,21 @@ static Display *dispatch_GetCurrentDisplayEXT(void)
 | ||||
|   | ||||
|   | ||||
|   | ||||
| +static const char *dispatch_GetDriverConfig(const char *driverName)
 | ||||
| +{
 | ||||
| +    /*
 | ||||
| +     * The options are constant for a given driverName, so we do not need
 | ||||
| +     * a context (and apps expect to be able to call this without one).
 | ||||
| +     */
 | ||||
| +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
 | ||||
| +    return glXGetDriverConfig(driverName);
 | ||||
| +#else
 | ||||
| +    return NULL;
 | ||||
| +#endif
 | ||||
| +}
 | ||||
| +
 | ||||
| +
 | ||||
| +
 | ||||
|  static int dispatch_GetFBConfigAttribSGIX(Display *dpy, GLXFBConfigSGIX config, | ||||
|                                            int attribute, int *value_return) | ||||
|  { | ||||
| @@ -939,6 +956,7 @@ const void * const __glXDispatchFunctions[DI_LAST_INDEX + 1] = {
 | ||||
|      __ATTRIB(DestroyGLXPbufferSGIX), | ||||
|      __ATTRIB(GetContextIDEXT), | ||||
|      __ATTRIB(GetCurrentDisplayEXT), | ||||
| +    __ATTRIB(GetDriverConfig),
 | ||||
|      __ATTRIB(GetFBConfigAttribSGIX), | ||||
|      __ATTRIB(GetFBConfigFromVisualSGIX), | ||||
|      __ATTRIB(GetMscRateOML), | ||||
| diff --git a/src/glx/g_glxglvnddispatchindices.h b/src/glx/g_glxglvnddispatchindices.h
 | ||||
| index 05a2c8c..3ba50a7 100644
 | ||||
| --- a/src/glx/g_glxglvnddispatchindices.h
 | ||||
| +++ b/src/glx/g_glxglvnddispatchindices.h
 | ||||
| @@ -39,6 +39,7 @@ typedef enum __GLXdispatchIndex {
 | ||||
|      DI_GetCurrentDisplayEXT, | ||||
|      // GetCurrentDrawable implemented by libglvnd | ||||
|      // GetCurrentReadDrawable implemented by libglvnd | ||||
| +    DI_GetDriverConfig,
 | ||||
|      // GetFBConfigAttrib implemented by libglvnd | ||||
|      DI_GetFBConfigAttribSGIX, | ||||
|      DI_GetFBConfigFromVisualSGIX, | ||||
| -- 
 | ||||
| 2.9.3 | ||||
| 
 | ||||
| @ -58,7 +58,7 @@ | ||||
| 
 | ||||
| Name:           mesa | ||||
| Summary:        Mesa graphics libraries | ||||
| Version:        17.1.0 | ||||
| Version:        17.1.1 | ||||
| Release:        1%{?rctag:.%{rctag}}%{?dist} | ||||
| 
 | ||||
| License:        MIT | ||||
| @ -83,8 +83,6 @@ Patch4:         0004-bigendian-assert.patch | ||||
| # non-upstreamed ones | ||||
| Patch13:        glvnd-fix-gl-dot-pc.patch | ||||
| Patch14:        0001-Fix-linkage-against-shared-glapi.patch | ||||
| # submitted upstream | ||||
| Patch16:        0001-glxglvnddispatch-Add-missing-dispatch-for-GetDriverC.patch | ||||
| 
 | ||||
| BuildRequires:  gcc | ||||
| BuildRequires:  gcc-c++ | ||||
| @ -684,6 +682,9 @@ popd | ||||
| %endif | ||||
| 
 | ||||
| %changelog | ||||
| * Thu May 25 2017 Peter Robinson <pbrobinson@fedoraproject.org> 17.1.1-1 | ||||
| - Update to 17.1.1 | ||||
| 
 | ||||
| * Thu May 11 2017 Dave Airlie <airlied@redhat.com> - 17.1.0-1 | ||||
| - Update to 17.1.0 | ||||
| 
 | ||||
|  | ||||
							
								
								
									
										2
									
								
								sources
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								sources
									
									
									
									
									
								
							| @ -1 +1 @@ | ||||
| SHA512 (mesa-17.1.0.tar.xz) = 9730e989ec2731e9b1df7515104d585af3fb7234f40fa13e8974910784db24c25e06d0c546af85de6a9c562212b6784932510c607f5f4b8061194a6429a64af3 | ||||
| SHA512 (mesa-17.1.1.tar.xz) = 4679b8c1a957e515e9f7a6658f2264d4c458379a37fa8f64c9ef03e817857a683fc527a8172d3ae68ca5ebc84a1a78264e18807704c5130c95efdf0431502bc7 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user