Hello community, here is the log from the commit of package Mesa checked in at Sun Apr 20 20:35:25 CEST 2008. -------- --- Mesa/Mesa.changes 2008-04-10 12:59:23.000000000 +0200 +++ Mesa/Mesa.changes 2008-04-15 02:20:02.930011000 +0200 @@ -1,0 +2,9 @@ +Mon Apr 14 23:56:57 CEST 2008 - sndirsch@suse.de + +- unichrome-context.diff + * Do not clear the current context before attempting to use it. + (bnc #285496) +- no longer need to use LIBGL_ALWAYS_INDIRECT=1 on via hardware + (bnc #285496) + +------------------------------------------------------------------- Old: ---- via.csh via.sh New: ---- unichrome-context.diff ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ Mesa.spec ++++++ --- /var/tmp/diff_new_pack.Z32552/_old 2008-04-20 20:34:19.000000000 +0200 +++ /var/tmp/diff_new_pack.Z32552/_new 2008-04-20 20:34:19.000000000 +0200 @@ -20,20 +20,19 @@ Obsoletes: xorg-x11-Mesa AutoReqProv: on Version: 7.0.3 -Release: 23 +Release: 25 Summary: Mesa is a 3-D graphics library with an API which is very similar to that of OpenGL Source: MesaLib-%{version}.tar.bz2 Source1: MesaDemos-%{version}.tar.bz2 Source3: README.updates Source4: manual-pages.tar.bz2 -Source5: via.csh -Source6: via.sh Patch0: disable-sis_dri.diff Patch1: dri_driver_dir.diff Patch2: i915-crossbar.diff Patch4: libIndirectGL.diff Patch5: static.diff Patch6: link-shared.diff +Patch7: unichrome-context.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -123,6 +122,7 @@ %ifarch %ix86 x86_64 ppc %patch6 %endif +%patch7 -p1 %build @@ -201,12 +201,6 @@ install -m 644 $RPM_SOURCE_DIR/README.updates \ $RPM_BUILD_ROOT/usr/%{_lib}/dri/updates %endif -%if %suse_version > 1010 -%ifnarch s390 s390x ppc64 -mkdir -p $RPM_BUILD_ROOT/etc/profile.d -install -m 644 $RPM_SOURCE_DIR/via.{sh,csh} $RPM_BUILD_ROOT/etc/profile.d -%endif -%endif %clean rm -rf $RPM_BUILD_ROOT @@ -218,11 +212,6 @@ %files %defattr(-,root,root) %doc docs/README* docs/COPYING -%if %suse_version > 1010 -%ifnarch s390 s390x ppc64 -/etc/profile.d/via.* -%endif -%endif /usr/include/GL/gl.h /usr/include/GL/glext.h /usr/include/GL/glx.h @@ -271,6 +260,12 @@ /usr/%{_lib}/libMesaGL.a %changelog +* Tue Apr 15 2008 sndirsch@suse.de +- unichrome-context.diff + * Do not clear the current context before attempting to use it. + (bnc #285496) +- no longer need to use LIBGL_ALWAYS_INDIRECT=1 on via hardware + (bnc #285496) * Thu Apr 10 2008 ro@suse.de - added baselibs.conf file to build xxbit packages for multilib support ++++++ unichrome-context.diff ++++++
From c75a717af6aee750f673ff1809faf69e8fe2527a Mon Sep 17 00:00:00 2001 From: Luc Verhaegen
Date: Mon, 14 Apr 2008 22:51:36 +0200 Subject: [PATCH] unichrome: Do not clear the current context before attempting to use it.
Beautified from Gabriel Mansi's (gabriel.mansi@gmail.com) original patch, available from http://rudin.suse.de:8888/attachment.cgi?id=181709 --- src/mesa/drivers/dri/unichrome/via_context.c | 56 +++++++++++++------------ 1 files changed, 29 insertions(+), 27 deletions(-) diff --git a/src/mesa/drivers/dri/unichrome/via_context.c b/src/mesa/drivers/dri/unichrome/via_context.c index 1d5b1e0..d489d80 100644 --- a/src/mesa/drivers/dri/unichrome/via_context.c +++ b/src/mesa/drivers/dri/unichrome/via_context.c @@ -686,46 +686,48 @@ void viaDestroyContext(__DRIcontextPrivate *driContextPriv) { GET_CURRENT_CONTEXT(ctx); - struct via_context *vmesa = + struct via_context *vmesa = (struct via_context *)driContextPriv->driverPrivate; struct via_context *current = ctx ? VIA_CONTEXT(ctx) : NULL; + assert(vmesa); /* should never be null */ + if (vmesa->driDrawable) { + viaWaitIdle(vmesa, GL_FALSE); + + if (vmesa->doPageFlip) { + LOCK_HARDWARE(vmesa); + if (vmesa->pfCurrentOffset != 0) { + fprintf(stderr, "%s - reset pf\n", __FUNCTION__); + viaResetPageFlippingLocked(vmesa); + } + UNLOCK_HARDWARE(vmesa); + } + } + /* check if we're deleting the currently bound context */ if (vmesa == current) { VIA_FLUSH_DMA(vmesa); _mesa_make_current(NULL, NULL, NULL); } - if (vmesa) { - viaWaitIdle(vmesa, GL_FALSE); - if (vmesa->doPageFlip) { - LOCK_HARDWARE(vmesa); - if (vmesa->pfCurrentOffset != 0) { - fprintf(stderr, "%s - reset pf\n", __FUNCTION__); - viaResetPageFlippingLocked(vmesa); - } - UNLOCK_HARDWARE(vmesa); - } - - _swsetup_DestroyContext(vmesa->glCtx); - _tnl_DestroyContext(vmesa->glCtx); - _vbo_DestroyContext(vmesa->glCtx); - _swrast_DestroyContext(vmesa->glCtx); - /* free the Mesa context */ - _mesa_destroy_context(vmesa->glCtx); - /* release our data */ - FreeBuffer(vmesa); + _swsetup_DestroyContext(vmesa->glCtx); + _tnl_DestroyContext(vmesa->glCtx); + _vbo_DestroyContext(vmesa->glCtx); + _swrast_DestroyContext(vmesa->glCtx); + /* free the Mesa context */ + _mesa_destroy_context(vmesa->glCtx); + /* release our data */ + FreeBuffer(vmesa); - assert (is_empty_list(&vmesa->tex_image_list[VIA_MEM_AGP])); - assert (is_empty_list(&vmesa->tex_image_list[VIA_MEM_VIDEO])); - assert (is_empty_list(&vmesa->tex_image_list[VIA_MEM_SYSTEM])); - assert (is_empty_list(&vmesa->freed_tex_buffers)); + assert (is_empty_list(&vmesa->tex_image_list[VIA_MEM_AGP])); + assert (is_empty_list(&vmesa->tex_image_list[VIA_MEM_VIDEO])); + assert (is_empty_list(&vmesa->tex_image_list[VIA_MEM_SYSTEM])); + assert (is_empty_list(&vmesa->freed_tex_buffers)); - driDestroyOptionCache(&vmesa->optionCache); + driDestroyOptionCache(&vmesa->optionCache); - FREE(vmesa); - } + FREE(vmesa); } -- 1.4.3.4 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org