- Mesa git master #fd328a (2010-09-11)
- commit-4ebf07a.diff * glx: Don't destroy DRI2 drawables for legacy glx drawables (bfo #30109) OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/Mesa?expand=0&rev=123
This commit is contained in:
parent
2f5c5776f1
commit
8664417a72
@ -1,3 +1,11 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Sep 15 03:54:37 UTC 2010 - sndirsch@novell.com
|
||||
|
||||
- Mesa git master #fd328a (2010-09-11)
|
||||
- commit-4ebf07a.diff
|
||||
* glx: Don't destroy DRI2 drawables for legacy glx drawables
|
||||
(bfo #30109)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Sep 9 12:45:55 UTC 2010 - sndirsch@novell.com
|
||||
|
||||
|
@ -43,7 +43,7 @@ Provides: XFree86-Mesa-64bit = %{version} Mesa-64bit < %{version}
|
||||
%endif
|
||||
#
|
||||
Summary: System for rendering interactive 3-D graphics
|
||||
Source: MesaLib-%{_version}-2dfd348.tar.bz2
|
||||
Source: MesaLib-%{_version}-afd328a.tar.bz2
|
||||
Source1: MesaDemos-%{_version}.tar.bz2
|
||||
Source2: baselibs.conf
|
||||
Source3: README.updates
|
||||
@ -54,6 +54,8 @@ Patch1: dri_driver_dir.diff
|
||||
# to be upstreamed
|
||||
Patch8: egl-buildfix.diff
|
||||
Patch9: Mesa_indirect_old_xserver_compatibility.diff
|
||||
# already upstream
|
||||
Patch10: commit-4ebf07a.diff
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
|
||||
%description
|
||||
@ -145,6 +147,7 @@ sed -i 's/REPLACE/%_lib/g' src/glx/Makefile
|
||||
sed -i 's/REPLACE/%_lib/g' src/egl/drivers/dri2/Makefile
|
||||
%patch8
|
||||
%patch9 -p0
|
||||
%patch10 -p1
|
||||
|
||||
%build
|
||||
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:5067ec55c04cfc5b16d0fcb533c13452bee02fa1e2c6f805c117982d3f8af031
|
||||
size 6160002
|
3
MesaLib-7.8.2-afd328a.tar.bz2
Normal file
3
MesaLib-7.8.2-afd328a.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:32f9a9f0f51318bc4fe9f99a52a6ab5d5a59ecb58c5c313fe672bb056d13be86
|
||||
size 6325581
|
51
commit-4ebf07a.diff
Normal file
51
commit-4ebf07a.diff
Normal file
@ -0,0 +1,51 @@
|
||||
commit 4ebf07a426771b62123e5fcb5a8be0de24037af1
|
||||
Author: Kristian Høgsberg <krh@bitplanet.net>
|
||||
Date: Mon Sep 13 08:39:42 2010 -0400
|
||||
|
||||
glx: Don't destroy DRI2 drawables for legacy glx drawables
|
||||
|
||||
For GLX 1.3 drawables, we can destroy the DRI2 drawable when the GLX
|
||||
drawable is destroyed. However, for legacy drawables, there os no
|
||||
good way of knowing when the application is done with it, so we just
|
||||
let the DRI2 drawable linger on the server. The server will destroy
|
||||
the DRI2 drawable when it destroys the X drawable or the client exits
|
||||
anyway.
|
||||
|
||||
https://bugs.freedesktop.org/show_bug.cgi?id=30109
|
||||
|
||||
diff --git a/src/glx/dri2_glx.c b/src/glx/dri2_glx.c
|
||||
index e38a40c..8247588 100644
|
||||
--- a/src/glx/dri2_glx.c
|
||||
+++ b/src/glx/dri2_glx.c
|
||||
@@ -210,7 +210,17 @@ dri2DestroyDrawable(__GLXDRIdrawable *base)
|
||||
|
||||
__glxHashDelete(pdp->dri2Hash, pdraw->base.xDrawable);
|
||||
(*psc->core->destroyDrawable) (pdraw->driDrawable);
|
||||
- DRI2DestroyDrawable(psc->base.dpy, pdraw->base.xDrawable);
|
||||
+
|
||||
+ /* If it's a GLX 1.3 drawables, we can destroy the DRI2 drawable
|
||||
+ * now, as the application explicitly asked to destroy the GLX
|
||||
+ * drawable. Otherwise, for legacy drawables, we let the DRI2
|
||||
+ * drawable linger on the server, since there's no good way of
|
||||
+ * knowing when the application is done with it. The server will
|
||||
+ * destroy the DRI2 drawable when it destroys the X drawable or the
|
||||
+ * client exits anyway. */
|
||||
+ if (pdraw->base.xDrawable != pdraw->base.drawable)
|
||||
+ DRI2DestroyDrawable(psc->base.dpy, pdraw->base.xDrawable);
|
||||
+
|
||||
Xfree(pdraw);
|
||||
}
|
||||
|
||||
diff --git a/src/mesa/vbo/vbo_exec_array.c b/src/mesa/vbo/vbo_exec_array.c
|
||||
index 1759e57..60b999f 100644
|
||||
--- a/src/mesa/vbo/vbo_exec_array.c
|
||||
+++ b/src/mesa/vbo/vbo_exec_array.c
|
||||
@@ -490,6 +490,8 @@ vbo_exec_DrawArrays(GLenum mode, GLint start, GLsizei count)
|
||||
if (!_mesa_validate_DrawArrays( ctx, mode, start, count ))
|
||||
return;
|
||||
|
||||
+ vbo_exec_FlushVertices_internal( ctx, GL_FALSE );
|
||||
+
|
||||
FLUSH_CURRENT( ctx, 0 );
|
||||
|
||||
if (!_mesa_valid_to_render(ctx, "glDrawArrays")) {
|
@ -12,9 +12,9 @@
|
||||
--- src/glx/Makefile.orig 2010-08-29 00:02:39.000000000 +0200
|
||||
+++ src/glx/Makefile 2010-08-29 04:30:33.000000000 +0200
|
||||
@@ -2,7 +2,7 @@
|
||||
include $(TOP)/configs/current
|
||||
endif
|
||||
|
||||
EXTRA_DEFINES = -DXF86VIDMODE -D_REENTRANT \
|
||||
EXTRA_DEFINES = $(EXTRA_DEFINES_XF86VIDMODE) -D_REENTRANT \
|
||||
- -DDEFAULT_DRIVER_DIR=\"$(DRI_DRIVER_SEARCH_DIR)\"
|
||||
+ -DDEFAULT_DRIVER_DIR=\"/usr/REPLACE/dri/updates:/usr/REPLACE/dri\"
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user