From 55b96274ff29613ddcac016ede7694afb96eeafab4051ed82596869e1e9c306d Mon Sep 17 00:00:00 2001 From: OBS User unknown Date: Fri, 14 Mar 2008 16:51:34 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/Mesa?expand=0&rev=31 --- Mesa.changes | 10 ++++++++++ Mesa.spec | 13 +++++++++++-- commit-185320a.diff | 32 ++++++++++++++++++++++++++++++++ 3 files changed, 53 insertions(+), 2 deletions(-) create mode 100644 commit-185320a.diff diff --git a/Mesa.changes b/Mesa.changes index 5edf0a6..9e724bf 100644 --- a/Mesa.changes +++ b/Mesa.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Thu Mar 13 12:43:53 CET 2008 - sndirsch@suse.de + +- commit-185320a.diff + Only call ProgramStringNotify if program parsing succeeded. + Wine intentionally tries some out-of-spec programs to test + strictness, and calling ProgramStringNotify on the results + of a failed program parse resulted in crashes in the 965 + driver. (bfo #13492) + ------------------------------------------------------------------- Fri Feb 22 04:02:54 CET 2008 - sndirsch@suse.de diff --git a/Mesa.spec b/Mesa.spec index d155f53..d3e74fb 100644 --- a/Mesa.spec +++ b/Mesa.spec @@ -20,8 +20,8 @@ Provides: xorg-x11-Mesa Obsoletes: xorg-x11-Mesa AutoReqProv: on Version: 7.0.3 -Release: 10 -Summary: Mesa is a 3-D graphics library with an API which is very similar to that of OpenGL.* +Release: 14 +Summary: Mesa is a 3-D graphics library with an API which is very similar to that of OpenGL Source: MesaLib-%{version}-rc2.tar.bz2 Source1: MesaDemos-%{version}-rc2.tar.bz2 Source3: README.updates @@ -34,6 +34,7 @@ Patch2: i915-crossbar.diff Patch4: libIndirectGL.diff Patch5: static.diff Patch6: link-shared.diff +Patch7: commit-185320a.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -121,6 +122,7 @@ rm -rf src/glw/ %ifarch %ix86 x86_64 ppc %patch6 %endif +%patch7 -p1 %build @@ -269,6 +271,13 @@ rm -rf $RPM_BUILD_ROOT /usr/%{_lib}/libMesaGL.a %changelog +* Thu Mar 13 2008 sndirsch@suse.de +- commit-185320a.diff + Only call ProgramStringNotify if program parsing succeeded. + Wine intentionally tries some out-of-spec programs to test + strictness, and calling ProgramStringNotify on the results + of a failed program parse resulted in crashes in the 965 + driver. (bfo #13492) * Fri Feb 22 2008 sndirsch@suse.de - update to Mesa bugfix release 7.0.3 RC2 * Fixed GLX indirect vertex array rendering bug (14197) diff --git a/commit-185320a.diff b/commit-185320a.diff new file mode 100644 index 0000000..a115da3 --- /dev/null +++ b/commit-185320a.diff @@ -0,0 +1,32 @@ +commit 185320ae13163995ea61e38104ab5aeaeb28d8e5 +Author: Eric Anholt +Date: Tue Jan 15 15:08:34 2008 -0800 + + Bug #13492: Only call ProgramStringNotify if program parsing succeeded. + + Wine intentionally tries some out-of-spec programs to test strictness, and + calling ProgramStringNotify on the results of a failed program parse resulted + in crashes in the 965 driver. + +diff --git a/src/mesa/shader/arbprogram.c b/src/mesa/shader/arbprogram.c +index a293dd2..1656dc9 100644 +--- a/src/mesa/shader/arbprogram.c ++++ b/src/mesa/shader/arbprogram.c +@@ -229,7 +229,7 @@ _mesa_ProgramStringARB(GLenum target, GLenum format, GLsizei len, + struct gl_vertex_program *prog = ctx->VertexProgram.Current; + _mesa_parse_arb_vertex_program(ctx, target, string, len, prog); + +- if (ctx->Driver.ProgramStringNotify) ++ if (ctx->Program.ErrorPos == -1 && ctx->Driver.ProgramStringNotify) + ctx->Driver.ProgramStringNotify( ctx, target, &prog->Base ); + } + else if (target == GL_FRAGMENT_PROGRAM_ARB +@@ -237,7 +237,7 @@ _mesa_ProgramStringARB(GLenum target, GLenum format, GLsizei len, + struct gl_fragment_program *prog = ctx->FragmentProgram.Current; + _mesa_parse_arb_fragment_program(ctx, target, string, len, prog); + +- if (ctx->Driver.ProgramStringNotify) ++ if (ctx->Program.ErrorPos == -1 && ctx->Driver.ProgramStringNotify) + ctx->Driver.ProgramStringNotify( ctx, target, &prog->Base ); + } + else {