mesa: Changes to 'ubuntu'
debian/changelog | 7 ++
debian/patches/117_intel_fix_hiz_null_dereference.patch | 49 ++++++++++++++++
debian/patches/series | 1
3 files changed, 57 insertions(+)
New commits:
commit dc58112603dd6fc1076fe758fb0a5f18d5182439
Author: Robert Hooker <sarvatt@ubuntu.com>
Date: Thu Mar 22 15:25:11 2012 -0400
Add patch to fix compiz segfaults on intel
diff --git a/debian/changelog b/debian/changelog
index 24b356d..2dd099d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+mesa (8.0.2-0ubuntu2) UNRELEASED; urgency=low
+
+ * Add 117_intel_fix_hiz_null_dereference.patch fixing a null deference
+ when processing HiZ buffers (LP: #926379)
+
+ -- Robert Hooker <sarvatt@ubuntu.com> Thu, 22 Mar 2012 15:16:25 -0400
+
mesa (8.0.2-0ubuntu1) precise; urgency=low
[ Robert Hooker ]
diff --git a/debian/patches/117_intel_fix_hiz_null_dereference.patch b/debian/patches/117_intel_fix_hiz_null_dereference.patch
new file mode 100644
index 0000000..a8125ab
--- /dev/null
+++ b/debian/patches/117_intel_fix_hiz_null_dereference.patch
@@ -0,0 +1,49 @@
+From 9c396be157cb4e8780145769851f99754830b5f6 Mon Sep 17 00:00:00 2001
+From: Dylan Noblesmith <nobled@dreamwidth.org>
+Date: Fri, 16 Mar 2012 18:38:49 +0000
+Subject: [PATCH] intel: fix null dereference processing HiZ buffer
+
+Or technically, a near-null dereference.
+
+https://bugs.freedesktop.org/show_bug.cgi?id=46303
+https://bugs.freedesktop.org/show_bug.cgi?id=46739
+
+NOTE: This is a candidate for the 8.0 branch.
+---
+ src/mesa/drivers/dri/intel/intel_context.c | 6 ++++++
+ 1 files changed, 6 insertions(+), 0 deletions(-)
+
+diff --git a/src/mesa/drivers/dri/intel/intel_context.c b/src/mesa/drivers/dri/intel/intel_context.c
+index ffd9536..7f94976 100644
+--- a/src/mesa/drivers/dri/intel/intel_context.c
++++ b/src/mesa/drivers/dri/intel/intel_context.c
+@@ -1223,6 +1223,10 @@ intel_process_dri2_buffer_with_separate_stencil(struct intel_context *intel,
+ if (!rb)
+ return;
+
++ /* Check if we failed to allocate the depth miptree earlier. */
++ if (buffer->attachment == __DRI_BUFFER_HIZ && rb->mt == NULL)
++ return;
++
+ /* If the renderbuffer's and DRIbuffer's regions match, then continue. */
+ if ((buffer->attachment != __DRI_BUFFER_HIZ &&
+ rb->mt &&
+@@ -1264,6 +1268,7 @@ intel_process_dri2_buffer_with_separate_stencil(struct intel_context *intel,
+ * due to failure to allocate new storage.
+ */
+ if (buffer->attachment == __DRI_BUFFER_HIZ) {
++ assert(rb->mt);
+ intel_miptree_release(&rb->mt->hiz_mt);
+ } else {
+ intel_miptree_release(&rb->mt);
+@@ -1289,6 +1294,7 @@ intel_process_dri2_buffer_with_separate_stencil(struct intel_context *intel,
+
+ /* Associate buffer with new storage. */
+ if (buffer->attachment == __DRI_BUFFER_HIZ) {
++ assert(rb->mt);
+ rb->mt->hiz_mt = mt;
+ } else {
+ rb->mt = mt;
+--
+1.7.4.1
+
diff --git a/debian/patches/series b/debian/patches/series
index 50aa029..600de25 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -13,3 +13,4 @@
113_fix_tls.diff
115_llvm_dynamic_linking.diff
116_use_shared_galliumcore.diff
+117_intel_fix_hiz_null_dereference.patch
Reply to: