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: