[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

mesa: Changes to 'ubuntu'



 debian/changelog                         |    6 +++
 debian/patches/118-remove-assertion.diff |   53 +++++++++++++++++++++++++++++++
 debian/patches/series                    |    1 
 3 files changed, 60 insertions(+)

New commits:
commit 6c81233f1c5d6f54ba9c27d8377e473ec06e8cc6
Author: Timo Aaltonen <tjaalton@ubuntu.com>
Date:   Mon Aug 27 21:14:56 2012 +0300

    Added 118-remove-assertion.diff from upstream (LP: #1042293).

diff --git a/debian/changelog b/debian/changelog
index f8567a2..9c4c89e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+mesa (9.0~git20120821.c1114c61-0ubuntu2) quantal; urgency=low
+
+  * Added 118-remove-assertion.diff from upstream (LP: #1042293).
+
+ -- Timo Aaltonen <tjaalton@ubuntu.com>  Mon, 27 Aug 2012 21:12:44 +0300
+
 mesa (9.0~git20120821.c1114c61-0ubuntu1) quantal; urgency=low
 
   * Merge from unreleased debian git.
diff --git a/debian/patches/118-remove-assertion.diff b/debian/patches/118-remove-assertion.diff
new file mode 100644
index 0000000..14feeed
--- /dev/null
+++ b/debian/patches/118-remove-assertion.diff
@@ -0,0 +1,53 @@
+commit 4b8b6f385e855ecb6da0b7dea56e70e69d1517b9
+Author: Paul Berry <stereotype441@gmail.com>
+Date:   Wed Aug 22 08:01:58 2012 -0700
+
+    i965/HiZ: remove assertion from intel_resolve_map_set().
+    
+    There are three possible resolve map states for each (level, layer) of
+    a depth miptree: "needs HiZ resolve", "needs depth resolve", and
+    "needs neither".  When HiZ was first implemented on i965, any attempt
+    to directly transition between "needs HiZ resolve" and "needs depth
+    resolve" without passing through the "needs neither" state would have
+    been a bug indicating that a necessary resolve hadn't been performed.
+    Accordingly, intel_resolve_map_set() contained an assertion to verify
+    that no such direct transition happened.
+    
+    However, now that we support fast depth clears, there is a valid
+    transition from the "needs HiZ resolve" to the "needs depth resolve"
+    state.  When doing a fast depth clear, the old state of the buffer is
+    irrelevant, since we are completely replacing it with the clear value,
+    so it is not necessary to do any resolves before clearing--we can
+    transition, if necessary, directly from the "needs HiZ resolve" state
+    to the "needs depth resolve" state.
+    
+    To avoid spurious assertions in this valid case, this patch just
+    removes the assertion.
+    
+    Reviewed-by: Eric Anholt <eric@anholt.net>
+    Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
+
+diff --git a/src/mesa/drivers/dri/intel/intel_resolve_map.c b/src/mesa/drivers/dri/intel/intel_resolve_map.c
+index 471988d..04b5c94 100644
+--- a/src/mesa/drivers/dri/intel/intel_resolve_map.c
++++ b/src/mesa/drivers/dri/intel/intel_resolve_map.c
+@@ -29,8 +29,8 @@
+ /**
+  * \brief Set that the miptree slice at (level, layer) needs a resolve.
+  *
+- * \pre If a map element already exists with the given key, then
+- *      the new and existing element value must be identical.
++ * If a map element already exists with the given key, then the value is
++ * changed to the given value of \c need.
+  */
+ void
+ intel_resolve_map_set(struct intel_resolve_map *head,
+@@ -43,7 +43,7 @@ intel_resolve_map_set(struct intel_resolve_map *head,
+ 
+    while (*tail) {
+       if ((*tail)->level == level && (*tail)->layer == layer) {
+-	 assert((*tail)->need == need);
++         (*tail)->need = need;
+ 	 return;
+       }
+       prev = *tail;
diff --git a/debian/patches/series b/debian/patches/series
index 1d3510c..478b752 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -13,3 +13,4 @@
 100_no_abi_tag.patch
 101_ubuntu_hidden_glname.patch
 #117-static-gallium.patch
+118-remove-assertion.diff


Reply to: