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 | Name:           mesa | ||||||
| Summary:        Mesa graphics libraries | Summary:        Mesa graphics libraries | ||||||
| Version:        17.1.0 | Version:        17.1.1 | ||||||
| Release:        1%{?rctag:.%{rctag}}%{?dist} | Release:        1%{?rctag:.%{rctag}}%{?dist} | ||||||
| 
 | 
 | ||||||
| License:        MIT | License:        MIT | ||||||
| @ -83,8 +83,6 @@ Patch4:         0004-bigendian-assert.patch | |||||||
| # non-upstreamed ones | # non-upstreamed ones | ||||||
| Patch13:        glvnd-fix-gl-dot-pc.patch | Patch13:        glvnd-fix-gl-dot-pc.patch | ||||||
| Patch14:        0001-Fix-linkage-against-shared-glapi.patch | Patch14:        0001-Fix-linkage-against-shared-glapi.patch | ||||||
| # submitted upstream |  | ||||||
| Patch16:        0001-glxglvnddispatch-Add-missing-dispatch-for-GetDriverC.patch |  | ||||||
| 
 | 
 | ||||||
| BuildRequires:  gcc | BuildRequires:  gcc | ||||||
| BuildRequires:  gcc-c++ | BuildRequires:  gcc-c++ | ||||||
| @ -684,6 +682,9 @@ popd | |||||||
| %endif | %endif | ||||||
| 
 | 
 | ||||||
| %changelog | %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 | * Thu May 11 2017 Dave Airlie <airlied@redhat.com> - 17.1.0-1 | ||||||
| - Update to 17.1.0 | - 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