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

mesa: Changes to 'ubuntu'



 debian/changelog                                  |   15 ++++++
 debian/patches/118_glsl_initialize_samplers.patch |   53 ++++++++++++++++++++++
 debian/patches/series                             |    1 
 3 files changed, 69 insertions(+)

New commits:
commit d85ce6e03407be0b50fff34122b67026ab03d2c3
Author: Bryce Harrington <bryce@canonical.com>
Date:   Tue Jun 12 19:30:57 2012 -0700

    Update changelog for 8.0.3-0ubuntu1.
    
    mesa (8.0.3-0ubuntu1) UNRELEASED; urgency=low
    
      * New upstream stable release.
        + Fixes crash in intel_miptree_release()
          (LP: #952896)
        + Fixes slow WebGL in firefox
          (LP: #988343)
    
      [ Bryce Harrington ]
      * Add 117_nullptr_check_in_query_version.patch: Fix null pointer
        deref in QueryVersion() during login.
        (LP: #968284)
      * Add 118_glsl_initialize_samplers.patch: Initialize samplers to 0, as
        required by the spec.  Fixes rendering corruption in MapsGL labels.
        Cherrypick from mesa master.
        (LP: #981883)

diff --git a/debian/changelog b/debian/changelog
index ed29ad2..c5f8b6f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,10 +1,25 @@
 mesa (8.0.3-0ubuntu1) UNRELEASED; urgency=low
 
   * New upstream stable release.
+    + Fixes crash in intel_miptree_release()
+      (LP: #952896)
+    + Fixes slow WebGL in firefox
+      (LP: #988343)
+
+  [ Robert Hooker ]
   * Drop 118_fix_rendering_from_textures.patch and
     117_intel_fix_hiz_null_dereference.patch, both included upstream.
   * Refresh patches.
 
+  [ Bryce Harrington ]
+  * Add 117_nullptr_check_in_query_version.patch: Fix null pointer
+    deref in QueryVersion() during login.
+    (LP: #968284)
+  * Add 118_glsl_initialize_samplers.patch: Initialize samplers to 0, as
+    required by the spec.  Fixes rendering corruption in MapsGL labels.
+    Cherrypick from mesa master.
+    (LP: #981883)
+
  -- Robert Hooker <sarvatt@ubuntu.com>  Fri, 01 Jun 2012 13:01:35 -0400
 
 mesa (8.0.3-1) UNRELEASED; urgency=low

commit 26a9ab3e38ab08835f69b67a1524a6845df041ae
Author: Bryce Harrington <bryce@canonical.com>
Date:   Tue Jun 12 19:30:11 2012 -0700

    Add 118_glsl_initialize_samplers.patch to fix LP #981883

diff --git a/debian/patches/118_glsl_initialize_samplers.patch b/debian/patches/118_glsl_initialize_samplers.patch
new file mode 100644
index 0000000..6083148
--- /dev/null
+++ b/debian/patches/118_glsl_initialize_samplers.patch
@@ -0,0 +1,53 @@
+commit b610881317a7775a7ffe5f032099d8b2dc45eff0
+Author: Ian Romanick <ian.d.romanick@intel.com>
+Date:   Tue Apr 10 10:40:11 2012 -0700
+
+    glsl: Initialize samplers to 0, propagate sampler values to the gl_program
+    
+    The spec requires that samplers be initialized to 0.  Since this
+    differs from the 1-to-1 mapping of samplers to texture units assumed
+    by ARB assembly shaders (and the gl_program structure), be sure to
+    propagate this date from the gl_shader_program to the gl_program.
+    
+    Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
+    Reviewed-by: Eric Anholt <eric@anholt.net>
+    Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
+    CC: Vadim Girlin <vadimgirlin@gmail.com>
+    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=49088
+
+diff --git a/src/glsl/link_uniforms.cpp b/src/glsl/link_uniforms.cpp
+index 81a995e..92e2a1f 100644
+--- a/src/glsl/link_uniforms.cpp
++++ b/src/glsl/link_uniforms.cpp
+@@ -329,9 +329,16 @@ link_assign_uniform_locations(struct gl_shader_program *prog)
+       prog->UniformHash = new string_to_uint_map;
+    }
+ 
+-   for (unsigned i = 0; i < Elements(prog->SamplerUnits); i++) {
+-      prog->SamplerUnits[i] = i;
+-   }
++   /* Uniforms that lack an initializer in the shader code have an initial
++    * value of zero.  This includes sampler uniforms.
++    *
++    * Page 24 (page 30 of the PDF) of the GLSL 1.20 spec says:
++    *
++    *     "The link time initial value is either the value of the variable's
++    *     initializer, if present, or 0 if no initializer is present. Sampler
++    *     types cannot have initializers."
++    */
++   memset(prog->SamplerUnits, 0, sizeof(prog->SamplerUnits));
+ 
+    /* First pass: Count the uniform resources used by the user-defined
+     * uniforms.  While this happens, each active uniform will have an index
+diff --git a/src/mesa/main/uniforms.c b/src/mesa/main/uniforms.c
+index be1e172..e6604b1 100644
+--- a/src/mesa/main/uniforms.c
++++ b/src/mesa/main/uniforms.c
+@@ -65,6 +65,7 @@ _mesa_update_shader_textures_used(struct gl_shader_program *shProg,
+ {
+    GLuint s;
+ 
++   memcpy(prog->SamplerUnits, shProg->SamplerUnits, sizeof(prog->SamplerUnits));
+    memset(prog->TexturesUsed, 0, sizeof(prog->TexturesUsed));
+ 
+    for (s = 0; s < MAX_SAMPLERS; s++) {
diff --git a/debian/patches/series b/debian/patches/series
index 8c4295e..8cf2c56 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -13,3 +13,4 @@
 115_llvm_dynamic_linking.diff
 116_use_shared_galliumcore.diff
 117_nullptr_check_in_query_version.patch
+118_glsl_initialize_samplers.patch


Reply to: