[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