[mesa/f14] mesa-7.9-i965-fp-crash.patch: Fix crash in i965's fragment program compiler (#726496)

Adam Jackson ajax at fedoraproject.org
Wed Nov 9 15:59:11 UTC 2011


commit 5aaf557055b2aada4d057941c6e78fc036a69b49
Author: Adam Jackson <ajax at redhat.com>
Date:   Wed Nov 9 10:59:07 2011 -0500

    mesa-7.9-i965-fp-crash.patch: Fix crash in i965's fragment program
    compiler (#726496)

 mesa-7.9-i965-fp-crash.patch |   26 ++++++++++++++++++++++++++
 mesa.spec                    |    8 +++++++-
 2 files changed, 33 insertions(+), 1 deletions(-)
---
diff --git a/mesa-7.9-i965-fp-crash.patch b/mesa-7.9-i965-fp-crash.patch
new file mode 100644
index 0000000..6e0c4df
--- /dev/null
+++ b/mesa-7.9-i965-fp-crash.patch
@@ -0,0 +1,26 @@
+--- a/src/mesa/drivers/dri/i965/brw_wm_glsl.c.orig	2011-07-28 20:09:34.533951464 +0100
++++ a/src/mesa/drivers/dri/i965/brw_wm_glsl.c	2011-07-28 20:10:57.856027779 +0100
+@@ -237,11 +237,12 @@ 
+  * This is called if we run out of GRF registers.  Examine the live intervals
+  * of temp regs in the program and free those which won't be used again.
+  */
++#define REG_ALLOCATE_MAX_PROGRAM_TEMPS ((1<<INST_INDEX_BITS)-1)
+ static void
+ reclaim_temps(struct brw_wm_compile *c)
+ {
+-   GLint intBegin[MAX_PROGRAM_TEMPS];
+-   GLint intEnd[MAX_PROGRAM_TEMPS];
++   GLint intBegin[REG_ALLOCATE_MAX_PROGRAM_TEMPS];
++   GLint intEnd[REG_ALLOCATE_MAX_PROGRAM_TEMPS];
+    int index;
+ 
+    /*printf("Reclaim temps:\n");*/
+@@ -249,7 +250,7 @@ 
+    _mesa_find_temp_intervals(c->prog_instructions, c->nr_fp_insns,
+                              intBegin, intEnd);
+ 
+-   for (index = 0; index < MAX_PROGRAM_TEMPS; index++) {
++   for (index = 0; index < REG_ALLOCATE_MAX_PROGRAM_TEMPS; index++) {
+       if (intEnd[index] != -1 && intEnd[index] < c->cur_inst) {
+          /* program temp[i] can be freed */
+          int component;
diff --git a/mesa.spec b/mesa.spec
index 3d29a5a..c537956 100644
--- a/mesa.spec
+++ b/mesa.spec
@@ -23,7 +23,7 @@
 Summary: Mesa graphics libraries
 Name: mesa
 Version: 7.9
-Release: 6%{?dist}
+Release: 7%{?dist}
 License: MIT
 Group: System Environment/Libraries
 URL: http://www.mesa3d.org
@@ -52,6 +52,7 @@ Patch5: mesa-demos-fix-add-needed.patch
 Patch30: mesa-7.6-hush-vblank-warning.patch
 Patch31: mesa-7.9-i915-no-gen3-arbfs.patch
 Patch32: mesa-7.11-generic-wmb.patch
+Patch33: mesa-7.9-i965-fp-crash.patch
 
 BuildRequires: pkgconfig autoconf automake libtool
 %if %{with_hardware}
@@ -200,6 +201,7 @@ Group: User Interface/X Hardware Support
 %patch30 -p1 -b .vblank-warning
 %patch31 -p1 -b .arbfs
 %patch32 -p1 -b .wmb
+%patch33 -p1 -b .fpcrash
 
 # Hack the demos to use installed data files
 cd ../%{demopkg}
@@ -435,6 +437,10 @@ rm -rf $RPM_BUILD_ROOT
 %{demodir}
 
 %changelog
+* Wed Nov 09 2011 Adam Jackson <ajax at redhat.com> 7.9-7
+- mesa-7.9-i965-fp-crash.patch: Fix crash in i965's fragment program
+  compiler (#726496)
+
 * Thu Sep 15 2011 Adam Jackson <ajax at redhat.com> 7.9-6
 - mesa-7.11-generic-wmb.patch: Add generic write memory barrier macro for
   non-PC arches.


More information about the scm-commits mailing list