SHA256
1
0
forked from pool/Mesa

Accepting request 78404 from home:StefanBruens:branches:X11:XOrg

cherry pick of http://cgit.freedesktop.org/mesa/mesa/commit/?id=fbc2fcf685d22ec9bc9465e1f731529979497eaa

patch is in Master, but not (yet) in 7.11 branch

OBS-URL: https://build.opensuse.org/request/show/78404
OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/Mesa?expand=0&rev=167
This commit is contained in:
Stefan Dirsch 2011-08-10 08:38:45 +00:00 committed by Git OBS Bridge
parent da98bc047e
commit 7c05ab8d26
3 changed files with 44 additions and 0 deletions

View File

@ -1,3 +1,8 @@
-------------------------------------------------------------------
Tue Aug 9 00:51:28 UTC 2011 - stefan.bruens@rwth-aachen.de
- add fix for bfo #28125 (DRI2 prevents indirect glx)
-------------------------------------------------------------------
Tue Aug 2 13:05:58 UTC 2011 - mhopf@novell.com

View File

@ -49,6 +49,7 @@ Patch9: u_GLX-SWrast-Make-GLX-with-SWrast-enabled-work-on-olde.patch
Patch11: u_Fix-crash-in-swrast-when-setting-a-texture-for-a-pix.patch
# already upstream
Patch13: U_Mesa-7.11-llvm3.patch
Patch14: U_glx-ignore-BadRequest-errors-from-DRI2Connect.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@ -118,6 +119,7 @@ rm -rf docs/README.{VMS,WIN32,OS2}
%patch9 -p1
%patch11 -p1
%patch13 -p0
%patch14 -p1
%build

View File

@ -0,0 +1,37 @@
From fbc2fcf685d22ec9bc9465e1f731529979497eaa Mon Sep 17 00:00:00 2001
From: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>
Date: Thu, 04 Aug 2011 02:06:13 +0000
Subject: glx/dri2: Paper over errors in DRI2Connect when indirect
DRI2 will throw BadRequest for this when the client is not local, but
DRI2 is an implementation detail and not something callers should have
to know about. Silently swallow errors in this case, and just propagate
the failure through DRI2Connect's return code.
Note: This is a candidate for the stable release branches.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=28125
Signed-off-by: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>
---
diff --git a/src/glx/dri2.c b/src/glx/dri2.c
index 229840d..b1b5013 100644
--- a/src/glx/dri2.c
+++ b/src/glx/dri2.c
@@ -190,6 +190,15 @@ DRI2Error(Display *display, xError *err, XExtCodes *codes, int *ret_code)
err->minorCode == X_DRI2DestroyDrawable)
return True;
+ /* If the server is non-local DRI2Connect will raise BadRequest.
+ * Swallow this so that DRI2Connect can signal this in its return code */
+ if (err->majorCode == codes->major_opcode &&
+ err->minorCode == X_DRI2Connect &&
+ err->errorCode == BadRequest) {
+ *ret_code = False;
+ return True;
+ }
+
return False;
}
--
cgit v0.8.3-6-g21f6