Makefile | 2 bin/mklib | 8 configs/default | 2 configure.ac | 3 debian/changelog | 37 + debian/patches/06_kfreebsd-ftbfs.diff | 6 debian/patches/10-hurd-configure-tweaks.diff | 6 debian/patches/100_no_abi_tag.patch | 18 debian/patches/101_ubuntu_hidden_glname.patch | 10 debian/patches/115_llvm_dynamic_linking.diff | 6 debian/patches/116_use_shared_galliumcore.diff | 100 +- debian/patches/117_intel_fix_hiz_null_dereference.patch | 49 - debian/patches/117_nullptr_check_in_query_version.patch | 25 debian/patches/118_fix_rendering_from_textures.patch | 226 ------ debian/patches/118_glsl_initialize_samplers.patch | 53 + debian/patches/13-llvm-config-pick-a-version.diff | 6 debian/patches/series | 4 docs/relnotes-8.0.2.html | 4 docs/relnotes-8.0.3.html | 317 +++++++++ include/pci_ids/i965_pci_ids.h | 1 src/egl/main/eglimage.c | 2 src/gallium/auxiliary/util/u_double_list.h | 15 src/gallium/auxiliary/util/u_linkage.h | 9 src/gallium/drivers/llvmpipe/lp_rast.c | 4 src/gallium/drivers/nvfx/nvfx_fragprog.c | 3 src/gallium/drivers/r300/compiler/radeon_program_alu.c | 73 +- src/gallium/drivers/r300/r300_blit.c | 9 src/gallium/drivers/r300/r300_context.c | 12 src/gallium/drivers/r300/r300_context.h | 3 src/gallium/drivers/r300/r300_emit.c | 24 src/gallium/drivers/r300/r300_render.c | 14 src/gallium/drivers/r300/r300_screen.c | 1 src/gallium/drivers/r300/r300_state.c | 57 - src/gallium/drivers/r300/r300_vs.c | 16 src/gallium/drivers/r300/r300_vs.h | 5 src/gallium/drivers/r300/r300_vs_draw.c | 100 +- src/gallium/drivers/svga/include/svga_types.h | 4 src/gallium/state_trackers/dri/sw/drisw.c | 6 src/gallium/state_trackers/vega/text.c | 4 src/gallium/targets/egl-static/egl_st.c | 3 src/glsl/Android.mk | 1 src/glsl/ast_to_hir.cpp | 548 +++++++--------- src/glsl/ir_constant_expression.cpp | 18 src/glsl/link_uniforms.cpp | 3 src/glsl/linker.cpp | 4 src/glsl/loop_unroll.cpp | 15 src/glsl/strtod.c | 3 src/glx/apple/Makefile | 1 src/glx/apple/apple_glx.c | 25 src/glx/apple/apple_glx.h | 3 src/glx/apple/apple_glx_context.c | 2 src/glx/apple/apple_glx_drawable.c | 29 src/glx/apple/apple_glx_log.c | 128 +++ src/glx/apple/apple_glx_log.h | 57 + src/glx/apple/apple_glx_surface.c | 8 src/glx/compsize.c | 1 src/glx/drisw_glx.c | 11 src/mapi/glapi/glapi_gentable.c | 2 src/mesa/drivers/dri/common/drirc | 6 src/mesa/drivers/dri/i915/i830_state.c | 16 src/mesa/drivers/dri/i915/i830_vtbl.c | 7 src/mesa/drivers/dri/i915/i915_context.c | 2 src/mesa/drivers/dri/i915/i915_context.h | 2 src/mesa/drivers/dri/i915/i915_state.c | 55 + src/mesa/drivers/dri/i915/intel_render.c | 20 src/mesa/drivers/dri/i915/intel_tris.c | 1 src/mesa/drivers/dri/i965/brw_eu.h | 1 src/mesa/drivers/dri/i965/brw_eu_emit.c | 53 + src/mesa/drivers/dri/i965/brw_fs.h | 22 src/mesa/drivers/dri/i965/brw_fs_emit.cpp | 55 + src/mesa/drivers/dri/i965/brw_fs_visitor.cpp | 122 ++- src/mesa/drivers/dri/i965/brw_tex_layout.c | 5 src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp | 4 src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 40 + src/mesa/drivers/dri/i965/gen6_sampler_state.c | 2 src/mesa/drivers/dri/intel/intel_chipset.h | 4 src/mesa/drivers/dri/intel/intel_context.c | 7 src/mesa/drivers/dri/intel/intel_extensions_es.c | 2 src/mesa/drivers/dri/intel/intel_fbo.c | 59 - src/mesa/drivers/dri/intel/intel_fbo.h | 3 src/mesa/drivers/dri/intel/intel_mipmap_tree.c | 26 src/mesa/drivers/dri/intel/intel_pixel_bitmap.c | 4 src/mesa/drivers/dri/intel/intel_regions.c | 7 src/mesa/drivers/dri/intel/intel_tex.c | 2 src/mesa/drivers/dri/intel/intel_tex_image.c | 17 src/mesa/drivers/dri/intel/intel_tex_obj.h | 1 src/mesa/drivers/dri/intel/intel_tex_validate.c | 10 src/mesa/drivers/dri/r200/r200_maos_arrays.c | 2 src/mesa/drivers/dri/radeon/radeon_maos_arrays.c | 2 src/mesa/drivers/windows/gdi/wmesa.c | 97 -- src/mesa/main/api_arrayelt.c | 10 src/mesa/main/api_validate.c | 14 src/mesa/main/attrib.c | 24 src/mesa/main/bufferobj.c | 25 src/mesa/main/dlist.c | 46 + src/mesa/main/extensions.c | 2 src/mesa/main/fbobject.c | 4 src/mesa/main/format_unpack.c | 58 + src/mesa/main/formats.c | 4 src/mesa/main/imports.c | 2 src/mesa/main/light.c | 2 src/mesa/main/mipmap.c | 1 src/mesa/main/readpix.c | 71 +- src/mesa/main/teximage.c | 114 ++- src/mesa/main/uniform_query.cpp | 6 src/mesa/main/varray.c | 1 src/mesa/main/version.h | 4 src/mesa/program/ir_to_mesa.cpp | 2 src/mesa/state_tracker/st_cb_drawpixels.c | 10 src/mesa/state_tracker/st_extensions.c | 2 src/mesa/swrast/s_aaline.c | 1 src/mesa/swrast/s_aatriangle.c | 1 src/mesa/swrast/s_blit.c | 9 src/mesa/swrast/s_context.c | 1 src/mesa/swrast/s_lines.c | 1 src/mesa/swrast/s_texture.c | 21 src/mesa/swrast/s_triangle.c | 1 src/mesa/swrast/swrast.h | 4 src/mesa/vbo/vbo_attrib_tmp.h | 58 - src/mesa/vbo/vbo_exec_api.c | 95 ++ src/mesa/vbo/vbo_exec_array.c | 85 -- src/mesa/vbo/vbo_save_api.c | 57 + src/mesa/vbo/vbo_save_draw.c | 4 123 files changed, 2239 insertions(+), 1263 deletions(-)
New commits: commit 5a8facdd910cd7448091a618393be6ead525dfb8 Author: Bryce Harrington <br...@canonical.com> Date: Wed Jul 18 11:00:21 2012 -0700 Realign changelog with precise-proposed's changelog diff --git a/debian/changelog b/debian/changelog index e155a85..a682350 100644 --- a/debian/changelog +++ b/debian/changelog @@ -35,7 +35,7 @@ mesa (8.0.2-2) unstable; urgency=low -- Cyril Brulebois <k...@debian.org> Tue, 01 May 2012 21:42:35 +0200 -mesa (8.0.2-0ubuntu4) quantal; urgency=low +mesa (8.0.2-0ubuntu3.1) precise-proposed; urgency=low * Add 118_fix_rendering_from_textures.patch: Postpone the setup of the workaround render target miptree until update_renderbuffer time. commit 15f9005b4dd31de49f63478af904f2170adb32a8 Author: Bryce Harrington <br...@canonical.com> Date: Tue Jul 10 19:03:13 2012 -0700 Release 8.0.3-0ubuntu0.1 diff --git a/debian/changelog b/debian/changelog index d2a1376..e155a85 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -mesa (8.0.3-0ubuntu1~precise~1) precise-proposed; urgency=low +mesa (8.0.3-0ubuntu0.1) precise-proposed; urgency=low * New upstream stable release. + Fixes crash in intel_miptree_release() @@ -20,7 +20,7 @@ mesa (8.0.3-0ubuntu1~precise~1) precise-proposed; urgency=low Cherrypick from mesa master. (LP: #981883) - -- Robert Hooker <sarv...@ubuntu.com> Fri, 01 Jun 2012 13:01:35 -0400 + -- Bryce Harrington <br...@ubuntu.com> Tue, 10 Jul 2012 18:45:26 -0700 mesa (8.0.3-1) UNRELEASED; urgency=low commit caf06c836f53ff089e9ff7d36317bf35a7c88e64 Author: Bryce Harrington <br...@canonical.com> Date: Mon Jul 2 17:02:06 2012 -0700 Prep changelog for testing diff --git a/debian/changelog b/debian/changelog index c5f8b6f..d2a1376 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -mesa (8.0.3-0ubuntu1) UNRELEASED; urgency=low +mesa (8.0.3-0ubuntu1~precise~1) precise-proposed; urgency=low * New upstream stable release. + Fixes crash in intel_miptree_release() commit d85ce6e03407be0b50fff34122b67026ab03d2c3 Author: Bryce Harrington <br...@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 <sarv...@ubuntu.com> Fri, 01 Jun 2012 13:01:35 -0400 mesa (8.0.3-1) UNRELEASED; urgency=low commit 26a9ab3e38ab08835f69b67a1524a6845df041ae Author: Bryce Harrington <br...@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.roman...@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.roman...@intel.com> + Reviewed-by: Eric Anholt <e...@anholt.net> + Reviewed-by: Kenneth Graunke <kenn...@whitecape.org> + CC: Vadim Girlin <vadimgir...@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 commit 563c45c06e0fe47dc5608e98627a53f78f1fd6a1 Author: Bryce Harrington <br...@canonical.com> Date: Tue Jun 12 18:36:35 2012 -0700 Add 117_nullptr_check_in_query_version.patch to fix LP: #952896 diff --git a/debian/patches/117_nullptr_check_in_query_version.patch b/debian/patches/117_nullptr_check_in_query_version.patch new file mode 100644 index 0000000..0cafb60 --- /dev/null +++ b/debian/patches/117_nullptr_check_in_query_version.patch @@ -0,0 +1,25 @@ +commit 7062625c601478d108da1c8da7201f023bd35b54 +Author: Bryce Harrington <br...@canonical.com> +Date: Tue Jun 12 17:32:21 2012 -0700 + + Check for NULL return from xcb_glx_query_version_reply() before deref. + + This can get triggered during login when called from + gnome-session-check-accelerated-helper. + + Fixes: https://bugs.launchpad.net/ubuntu/+source/mesa/+bug/968284 + Signed-off-by: Bryce Harrington <br...@canonical.com> + +diff --git a/src/glx/glxext.c b/src/glx/glxext.c +index 12fff22..5da2570 100644 +--- a/src/glx/glxext.c ++++ b/src/glx/glxext.c +@@ -293,6 +293,8 @@ QueryVersion(Display * dpy, int opcode, int *major, int *minor) + GLX_MINOR_VERSION), + NULL); + ++ if (!reply) ++ return GL_FALSE; + if (reply->major_version != GLX_MAJOR_VERSION) { + free(reply); + return GL_FALSE; diff --git a/debian/patches/series b/debian/patches/series index 748f4a1..8c4295e 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -12,3 +12,4 @@ 101_ubuntu_hidden_glname.patch 115_llvm_dynamic_linking.diff 116_use_shared_galliumcore.diff +117_nullptr_check_in_query_version.patch commit c72295a5275780e2fd5c8ed48c1e370d7a2a42ba Author: Robert Hooker <sarv...@ubuntu.com> Date: Wed Jun 6 12:33:27 2012 -0400 Refresh ubuntu patches. diff --git a/debian/changelog b/debian/changelog index 07e1240..ed29ad2 100644 --- a/debian/changelog +++ b/debian/changelog @@ -3,6 +3,7 @@ mesa (8.0.3-0ubuntu1) UNRELEASED; urgency=low * New upstream stable release. * Drop 118_fix_rendering_from_textures.patch and 117_intel_fix_hiz_null_dereference.patch, both included upstream. + * Refresh patches. -- Robert Hooker <sarv...@ubuntu.com> Fri, 01 Jun 2012 13:01:35 -0400 diff --git a/debian/patches/100_no_abi_tag.patch b/debian/patches/100_no_abi_tag.patch index a6ad56a..18e6bb7 100644 --- a/debian/patches/100_no_abi_tag.patch +++ b/debian/patches/100_no_abi_tag.patch @@ -1,7 +1,9 @@ ---- a/src/mapi/glapi/glapi_x86-64.S -+++ b/src/mapi/glapi/glapi_x86-64.S -@@ -30885,18 +30885,6 @@ GL_PREFIX(EGLImageTargetTexture2DOES): - .globl GL_PREFIX(FramebufferTextureLayer) ; .set GL_PREFIX(FramebufferTextureLayer), GL_PREFIX(FramebufferTextureLayerEXT) +Index: mesa/src/mapi/glapi/glapi_x86-64.S +=================================================================== +--- mesa.orig/src/mapi/glapi/glapi_x86-64.S 2012-06-01 13:01:25.255165726 -0400 ++++ mesa/src/mapi/glapi/glapi_x86-64.S 2012-06-01 13:02:45.859167925 -0400 +@@ -37448,18 +37448,6 @@ + .globl GL_PREFIX(TransformFeedbackVaryings) ; .set GL_PREFIX(TransformFeedbackVaryings), GL_PREFIX(TransformFeedbackVaryingsEXT) .globl GL_PREFIX(ProvokingVertex) ; .set GL_PREFIX(ProvokingVertex), GL_PREFIX(ProvokingVertexEXT) -#if defined(GLX_USE_TLS) && defined(__linux__) @@ -19,9 +21,11 @@ #if defined (__ELF__) && defined (__linux__) .section .note.GNU-stack,"",%progbits ---- a/src/mapi/glapi/glapi_x86.S -+++ b/src/mapi/glapi/glapi_x86.S -@@ -1279,18 +1279,6 @@ GLNAME(gl_dispatch_functions_start): +Index: mesa/src/mapi/glapi/glapi_x86.S +=================================================================== +--- mesa.orig/src/mapi/glapi/glapi_x86.S 2012-06-01 13:01:25.259165726 -0400 ++++ mesa/src/mapi/glapi/glapi_x86.S 2012-06-01 13:02:45.863167925 -0400 +@@ -1504,18 +1504,6 @@ ALIGNTEXT16 GLNAME(gl_dispatch_functions_end): diff --git a/debian/patches/101_ubuntu_hidden_glname.patch b/debian/patches/101_ubuntu_hidden_glname.patch index 25a5e66..108e5cd 100644 --- a/debian/patches/101_ubuntu_hidden_glname.patch +++ b/debian/patches/101_ubuntu_hidden_glname.patch @@ -1,12 +1,12 @@ -Index: mesa/src/mesa/x86/glapi_x86.S +Index: mesa/src/mapi/glapi/glapi_x86.S =================================================================== ---- mesa.orig/src/mapi/glapi/glapi_x86.S 2009-06-29 14:43:07.000000000 +0300 -+++ mesa/src/mapi/glapi/glapi_x86.S 2009-06-29 14:45:38.000000000 +0300 -@@ -148,7 +148,6 @@ +--- mesa.orig/src/mapi/glapi/glapi_x86.S 2012-06-01 13:02:45.863167925 -0400 ++++ mesa/src/mapi/glapi/glapi_x86.S 2012-06-01 13:02:46.203167935 -0400 +@@ -147,7 +147,6 @@ ALIGNTEXT16 GLOBL GLNAME(gl_dispatch_functions_start) - HIDDEN(GLNAME(gl_dispatch_functions_start)) GLNAME(gl_dispatch_functions_start): - GL_STUB(NewList, _gloffset_NewList, NewList@8) + GL_STUB(NewList, 0, NewList@8) diff --git a/debian/patches/115_llvm_dynamic_linking.diff b/debian/patches/115_llvm_dynamic_linking.diff index d241a6a..8c4efc0 100644 --- a/debian/patches/115_llvm_dynamic_linking.diff +++ b/debian/patches/115_llvm_dynamic_linking.diff @@ -1,8 +1,8 @@ Index: mesa/configure.ac =================================================================== ---- mesa.orig/configure.ac 2012-01-24 14:48:40.488101770 +0200 -+++ mesa/configure.ac 2012-01-24 14:48:42.364157964 +0200 -@@ -1770,7 +1770,7 @@ +--- mesa.orig/configure.ac 2012-06-01 13:02:45.535167916 -0400 ++++ mesa/configure.ac 2012-06-01 13:02:46.511167943 -0400 +@@ -1767,7 +1767,7 @@ if test "x$LLVM_CONFIG" != xno; then LLVM_VERSION=`$LLVM_CONFIG --version | sed 's/svn.*//g'` LLVM_CFLAGS=`$LLVM_CONFIG --cppflags|sed -e 's/-DNDEBUG\>//g' -e 's/-pedantic//g'` diff --git a/debian/patches/116_use_shared_galliumcore.diff b/debian/patches/116_use_shared_galliumcore.diff index 450ac2c..2ff5902 100644 --- a/debian/patches/116_use_shared_galliumcore.diff +++ b/debian/patches/116_use_shared_galliumcore.diff @@ -1,8 +1,8 @@ -diff --git a/bin/mklib b/bin/mklib -index 2c7ed38..14bca63 100755 ---- a/bin/mklib -+++ b/bin/mklib -@@ -147,6 +147,7 @@ ARCHOPT="" +Index: mesa/bin/mklib +=================================================================== +--- mesa.orig/bin/mklib 2012-06-01 13:01:25.243165726 -0400 ++++ mesa/bin/mklib 2012-06-01 13:02:46.827167952 -0400 +@@ -147,6 +147,7 @@ NOPREFIX=0 EXPORTS="" ID="" @@ -10,7 +10,7 @@ index 2c7ed38..14bca63 100755 # # Parse arguments -@@ -191,6 +192,18 @@ do +@@ -191,6 +192,18 @@ -R*) DEPS="$DEPS $1" ;; @@ -29,7 +29,7 @@ index 2c7ed38..14bca63 100755 -Wl*) DEPS="$DEPS $1" ;; -@@ -271,6 +284,10 @@ if [ $STATIC = 1 ]; then +@@ -271,6 +284,10 @@ OBJECTS=$NEWOBJECTS fi @@ -40,7 +40,7 @@ index 2c7ed38..14bca63 100755 # # Error checking -@@ -284,7 +301,6 @@ if [ "x${OBJECTS}" = "x" ] ; then +@@ -284,7 +301,6 @@ exit 1 fi @@ -48,7 +48,7 @@ index 2c7ed38..14bca63 100755 # # Debugging info # -@@ -343,6 +359,7 @@ case $ARCH in +@@ -345,6 +361,7 @@ fi rm -f ${LIBNAME} @@ -56,11 +56,11 @@ index 2c7ed38..14bca63 100755 # make lib ${LINK} ${OPTS} ${LDFLAGS} -o ${LIBNAME} ${OBJECTS} ${DEPS} # finish up -diff --git a/configs/autoconf.in b/configs/autoconf.in -index 37b7ea5..b479f2b 100644 ---- a/configs/autoconf.in -+++ b/configs/autoconf.in -@@ -121,6 +121,7 @@ DRI_DIRS = @DRI_DIRS@ +Index: mesa/configs/autoconf.in +=================================================================== +--- mesa.orig/configs/autoconf.in 2012-06-01 13:01:25.243165726 -0400 ++++ mesa/configs/autoconf.in 2012-06-01 13:02:46.831167952 -0400 +@@ -124,6 +124,7 @@ DRICORE_GLSL_LIBS = @DRICORE_GLSL_LIBS@ DRICORE_LIBS = @DRICORE_LIBS@ DRICORE_LIB_DEPS = @DRICORE_LIB_DEPS@ @@ -68,12 +68,12 @@ index 37b7ea5..b479f2b 100644 EGL_PLATFORMS = @EGL_PLATFORMS@ EGL_CLIENT_APIS = @EGL_CLIENT_APIS@ -diff --git a/configure.ac b/configure.ac -index 0ea264e..684f5b0 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1036,6 +1036,41 @@ AC_SUBST([GLESv2_PC_LIB_PRIV]) - GLAPI_LIB_DEPS="-lpthread" +Index: mesa/configure.ac +=================================================================== +--- mesa.orig/configure.ac 2012-06-01 13:02:46.511167943 -0400 ++++ mesa/configure.ac 2012-06-01 13:02:46.831167952 -0400 +@@ -1068,6 +1068,41 @@ + GLAPI_LIB_DEPS="-lpthread $SELINUX_LIBS" AC_SUBST([GLAPI_LIB_DEPS]) +dnl Setup default DRI CFLAGS @@ -114,11 +114,11 @@ index 0ea264e..684f5b0 100644 dnl Setup default DRI CFLAGS DRI_CFLAGS='$(CFLAGS)' -diff --git a/src/gallium/Makefile.template b/src/gallium/Makefile.template -index 036c119..3f01d08 100644 ---- a/src/gallium/Makefile.template -+++ b/src/gallium/Makefile.template -@@ -30,7 +30,7 @@ endif +Index: mesa/src/gallium/Makefile.template +=================================================================== +--- mesa.orig/src/gallium/Makefile.template 2012-06-01 13:01:25.247165726 -0400 ++++ mesa/src/gallium/Makefile.template 2012-06-01 13:02:46.831167952 -0400 +@@ -30,7 +30,7 @@ ##### TARGETS ##### @@ -127,7 +127,7 @@ index 036c119..3f01d08 100644 lib$(LIBNAME).a: $(OBJECTS) $(EXTRA_OBJECTS) Makefile $(TOP)/src/gallium/Makefile.template $(MKLIB) -o $(LIBNAME) -static $(OBJECTS) $(EXTRA_OBJECTS) -@@ -58,16 +58,16 @@ install: +@@ -58,16 +58,16 @@ ##### RULES ##### %.s: %.c @@ -148,11 +148,11 @@ index 036c119..3f01d08 100644 sinclude depend -diff --git a/src/gallium/auxiliary/Makefile b/src/gallium/auxiliary/Makefile -index 7dae7bc..9a08acb 100644 ---- a/src/gallium/auxiliary/Makefile -+++ b/src/gallium/auxiliary/Makefile -@@ -213,6 +213,14 @@ endif +Index: mesa/src/gallium/auxiliary/Makefile +=================================================================== +--- mesa.orig/src/gallium/auxiliary/Makefile 2012-06-01 13:01:25.247165726 -0400 ++++ mesa/src/gallium/auxiliary/Makefile 2012-06-01 13:02:46.831167952 -0400 +@@ -18,6 +18,14 @@ include ../Makefile.template @@ -167,18 +167,18 @@ index 7dae7bc..9a08acb 100644 indices/u_indices_gen.c: indices/u_indices_gen.py $(PYTHON2) $< > $@ -@@ -228,4 +236,6 @@ util/u_format_table.c: util/u_format_table.py util/u_format_pack.py util/u_forma +@@ -33,4 +41,6 @@ util/u_half.c: util/u_half.py $(PYTHON2) util/u_half.py > $@ + +default:: $(TOP)/$(LIB_DIR)/libgallium.so # DO NOT DELETE -diff --git a/src/gallium/targets/Makefile.dri b/src/gallium/targets/Makefile.dri -index 857ebfe..bb08ba0 100644 ---- a/src/gallium/targets/Makefile.dri -+++ b/src/gallium/targets/Makefile.dri -@@ -9,7 +9,6 @@ LDFLAGS += -lstdc++ +Index: mesa/src/gallium/targets/Makefile.dri +=================================================================== +--- mesa.orig/src/gallium/targets/Makefile.dri 2012-06-01 13:01:25.251165726 -0400 ++++ mesa/src/gallium/targets/Makefile.dri 2012-06-01 13:02:46.831167952 -0400 +@@ -7,7 +7,6 @@ endif MESA_MODULES = \ @@ -186,7 +186,7 @@ index 857ebfe..bb08ba0 100644 $(GALLIUM_AUXILIARIES) COMMON_GALLIUM_SOURCES = \ -@@ -78,8 +77,8 @@ $(LIBNAME): $(OBJECTS) $(MESA_MODULES) $(PIPE_DRIVERS) Makefile \ +@@ -73,8 +72,8 @@ $(MKLIB) -o $@.tmp -noprefix -linker '$(CXX)' -ldflags '$(LDFLAGS)' \ $(OBJECTS) $(PIPE_DRIVERS) \ -Wl,--start-group $(MESA_MODULES) -Wl,--end-group \ @@ -197,13 +197,13 @@ index 857ebfe..bb08ba0 100644 @rm -f $@.test mv -f $@.tmp $@ -diff --git a/src/mesa/Makefile b/src/mesa/Makefile -index a903a26..c4ab43c 100644 ---- a/src/mesa/Makefile -+++ b/src/mesa/Makefile -@@ -17,6 +17,9 @@ MESA_GALLIUM_OBJECTS := $(addprefix $(MESA_OBJ_DIR)/, $(MESA_GALLIUM_OBJECTS)) - - DRICORE_OBJECTS := $(addprefix $(DRICORE_OBJ_DIR)/, $(MESA_OBJECTS)) +Index: mesa/src/mesa/Makefile +=================================================================== +--- mesa.orig/src/mesa/Makefile 2012-06-01 13:01:25.259165726 -0400 ++++ mesa/src/mesa/Makefile 2012-06-01 13:02:46.831167952 -0400 +@@ -16,6 +16,9 @@ + MESA_OBJECTS := $(addprefix $(MESA_OBJ_DIR)/, $(MESA_OBJECTS)) + MESA_GALLIUM_OBJECTS := $(addprefix $(MESA_OBJ_DIR)/, $(MESA_GALLIUM_OBJECTS)) +DRICORE_OBJECTS := $(addprefix $(DRICORE_OBJ_DIR)/, $(MESA_OBJECTS)) +GALLIUMCORE_OBJECTS := $(addprefix $(DRICORE_OBJ_DIR)/, $(filter-out $(MESA_OBJECTS), $(MESA_GALLIUM_OBJECTS))) @@ -211,17 +211,17 @@ index a903a26..c4ab43c 100644 # define preprocessor flags MESA_CPPFLAGS := $(API_DEFINES) $(DEFINES) -@@ -66,7 +69,7 @@ $(DRICORE_OBJ_DIR)/%.o: %.S +@@ -65,7 +68,7 @@ # Default: build dependencies, then asm_subdirs, GLSL built-in lib, # then convenience libs (.a) and finally the device drivers: -default: $(DEPENDS) asm_subdirs $(MESA_LIBS) $(DRICORE_LIBS) driver_subdirs +default: $(DEPENDS) asm_subdirs $(MESA_LIBS) $(DRICORE_LIBS) libgalliumcore.a driver_subdirs - main/api_exec_es1.c: main/APIspec.xml main/es_generator.py main/APIspecutil.py main/APIspec.py - $(PYTHON2) $(PYTHON_FLAGS) main/es_generator.py -S main/APIspec.xml -V GLES1.1 > $@ -@@ -125,6 +128,10 @@ depend: $(ALL_SOURCES) - @$(MKDEP) $(MKDEP_OPTIONS) -p$(MESA_OBJ_DIR)/ $(MESA_CPPFLAGS) \ + # include glapi_gen.mk for generating glapi headers for GLES + GLAPI := $(TOP)/src/mapi/glapi/gen +@@ -146,6 +149,10 @@ + @$(MKDEP) $(MKDEP_OPTIONS) -a -p$(DRICORE_OBJ_DIR)/ $(MESA_CPPFLAGS) \ $(ALL_SOURCES) > /dev/null 2>/dev/null +# Make archive of subset of core mesa object files for gallium commit 4c38e3c47ef7967fc8a0cfdbc25a7e25885fb4f4 Author: Robert Hooker <sarv...@ubuntu.com> Date: Fri Jun 1 13:02:27 2012 -0400 Drop upstream patches. diff --git a/debian/changelog b/debian/changelog index d8d514a..07e1240 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +mesa (8.0.3-0ubuntu1) UNRELEASED; urgency=low + + * New upstream stable release. + * Drop 118_fix_rendering_from_textures.patch and + 117_intel_fix_hiz_null_dereference.patch, both included upstream. + + -- Robert Hooker <sarv...@ubuntu.com> Fri, 01 Jun 2012 13:01:35 -0400 + mesa (8.0.3-1) UNRELEASED; urgency=low * New upstream stable release (Closes: #673532) diff --git a/debian/patches/117_intel_fix_hiz_null_dereference.patch b/debian/patches/117_intel_fix_hiz_null_dereference.patch deleted file mode 100644 index a8125ab..0000000 --- a/debian/patches/117_intel_fix_hiz_null_dereference.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 9c396be157cb4e8780145769851f99754830b5f6 Mon Sep 17 00:00:00 2001 -From: Dylan Noblesmith <nob...@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/118_fix_rendering_from_textures.patch b/debian/patches/118_fix_rendering_from_textures.patch deleted file mode 100644 index c00bd4f..0000000 --- a/debian/patches/118_fix_rendering_from_textures.patch +++ /dev/null @@ -1,226 +0,0 @@ -commit 93e94cbb48a679b7bf67594adb6f858526b37935 -Author: Eric Anholt <e...@anholt.net> -Date: Fri Feb 10 12:54:25 2012 -0800 - - intel: Fix rendering from textures after RenderTexture(). - - There's a serious trap for drivers: RenderTexture() does not indicate - that the texture is currently bound to the draw buffer, despite - FinishRenderTexture() signaling that the texture is just now being - unbound from the draw buffer. - - We were acting as if RenderTexture() *was* the start of rendering and - that we could make texturing incoherent with the current contents of - the renderbuffer. This caused intel oglconform sRGB - Mipmap.1D_textures to fail, because we got a call to TexImage() and - thus RenderTexture() on a texture bound to a framebuffer that wasn't - the draw buffer, so we skipped validating the new image into the - texture object used for rendering. - - We can't (easily) make RenderTexture() indicate the start of drawing, - because both our driver and gallium are using it as the moment to set - up the renderbuffer wrapper used for things like MapRenderbuffer(). - Instead, postpone the setup of the workaround render target miptree - until update_renderbuffer time, so that we no longer need to skip - validation of miptrees used as render targets. As a bonus, this - should make GL_NV_texture_barrier possible. - - (This also fixes a regression in the gen4 small-mipmap rendering since - 3b38b33c1648b07e75dc4d8340758171e109c598, which switched - set_draw_offset from image->mt to irb->mt but didn't move the irb->mt - replacement up before set_draw_offset). - - Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44961 - NOTE: This is a candidate for the 8.0 branch. - -diff --git a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c -index 51d3a46..97ae489 100644 ---- a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c -+++ b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c -@@ -916,12 +916,48 @@ brw_update_renderbuffer_surface(struct brw_context *brw, - struct gl_context *ctx = &intel->ctx; - struct intel_renderbuffer *irb = intel_renderbuffer(rb); - struct intel_mipmap_tree *mt = irb->mt; -- struct intel_region *region = irb->mt->region; -+ struct intel_region *region; - uint32_t *surf; - uint32_t tile_x, tile_y; - uint32_t format = 0; - gl_format rb_format = intel_rb_format(irb); - -+ if (irb->tex_image && !brw->has_surface_tile_offset) { -+ intel_renderbuffer_tile_offsets(irb, &tile_x, &tile_y); -+ -+ if (tile_x != 0 || tile_y != 0) { -+ /* Original gen4 hardware couldn't draw to a non-tile-aligned -+ * destination in a miptree unless you actually setup your renderbuffer -+ * as a miptree and used the fragile lod/array_index/etc. controls to -+ * select the image. So, instead, we just make a new single-level -+ * miptree and render into that. -+ */ -+ struct intel_context *intel = intel_context(ctx); -+ struct intel_texture_image *intel_image = -+ intel_texture_image(irb->tex_image); -+ struct intel_mipmap_tree *new_mt; -+ int width, height, depth; -+ -+ intel_miptree_get_dimensions_for_image(irb->tex_image, &width, &height, &depth); -+ -+ new_mt = intel_miptree_create(intel, irb->tex_image->TexObject->Target, -+ intel_image->base.Base.TexFormat, -+ intel_image->base.Base.Level, -+ intel_image->base.Base.Level, -+ width, height, depth, -+ true); -+ -+ intel_miptree_copy_teximage(intel, intel_image, new_mt); -+ intel_miptree_reference(&irb->mt, intel_image->mt); -+ intel_renderbuffer_set_draw_offset(irb); -+ intel_miptree_release(&new_mt); -+ -+ mt = irb->mt; -+ } -+ } -+ -+ region = irb->mt->region; -+ - surf = brw_state_batch(brw, AUB_TRACE_SURFACE_STATE, - 6 * 4, 32, &brw->bind.surf_offset[unit]); - -diff --git a/src/mesa/drivers/dri/intel/intel_fbo.c b/src/mesa/drivers/dri/intel/intel_fbo.c -index 185602a..c5097c3 100644 ---- a/src/mesa/drivers/dri/intel/intel_fbo.c -+++ b/src/mesa/drivers/dri/intel/intel_fbo.c -@@ -553,22 +553,6 @@ intel_renderbuffer_tile_offsets(struct intel_renderbuffer *irb, - } - } - --#ifndef I915 --static bool --need_tile_offset_workaround(struct brw_context *brw, -- struct intel_renderbuffer *irb) --{ -- uint32_t tile_x, tile_y; -- -- if (brw->has_surface_tile_offset) -- return false; -- -- intel_renderbuffer_tile_offsets(irb, &tile_x, &tile_y); -- -- return tile_x != 0 || tile_y != 0; --} --#endif -- - /** - * Called by glFramebufferTexture[123]DEXT() (and other places) to - * prepare for rendering into texture memory. This might be called -@@ -626,42 +610,13 @@ intel_render_texture(struct gl_context * ctx, - return; - } - -+ irb->tex_image = image; -+ - DBG("Begin render %s texture tex=%u w=%d h=%d refcount=%d\n", - _mesa_get_format_name(image->TexFormat), - att->Texture->Name, image->Width, image->Height, - irb->Base.Base.RefCount); - -- intel_image->used_as_render_target = true; -- --#ifndef I915 -- if (need_tile_offset_workaround(brw_context(ctx), irb)) { -- /* Original gen4 hardware couldn't draw to a non-tile-aligned -- * destination in a miptree unless you actually setup your -- * renderbuffer as a miptree and used the fragile -- * lod/array_index/etc. controls to select the image. So, -- * instead, we just make a new single-level miptree and render -- * into that. -- */ -- struct intel_context *intel = intel_context(ctx); -- struct intel_mipmap_tree *new_mt; -- int width, height, depth; -- -- intel_miptree_get_dimensions_for_image(image, &width, &height, &depth); -- -- new_mt = intel_miptree_create(intel, image->TexObject->Target, -- intel_image->base.Base.TexFormat, -- intel_image->base.Base.Level, -- intel_image->base.Base.Level, -- width, height, depth, -- true); -- -- intel_miptree_copy_teximage(intel, intel_image, new_mt); -- intel_renderbuffer_set_draw_offset(irb); -- -- intel_miptree_reference(&irb->mt, intel_image->mt); -- intel_miptree_release(&new_mt); -- } --#endif - /* update drawing region, etc */ - intel_draw_buffer(ctx); - } -@@ -678,14 +633,13 @@ intel_finish_render_texture(struct gl_context * ctx, - struct gl_texture_object *tex_obj = att->Texture; - struct gl_texture_image *image = - tex_obj->Image[att->CubeMapFace][att->TextureLevel]; -- struct intel_texture_image *intel_image = intel_texture_image(image); -+ struct intel_renderbuffer *irb = intel_renderbuffer(att->Renderbuffer); - - DBG("Finish render %s texture tex=%u\n", - _mesa_get_format_name(image->TexFormat), att->Texture->Name); - -- /* Flag that this image may now be validated into the object's miptree. */ -- if (intel_image) -- intel_image->used_as_render_target = false; -+ if (irb) -+ irb->tex_image = NULL; - - /* Since we've (probably) rendered to the texture and will (likely) use - * it in the texture domain later on in this batchbuffer, flush the -diff --git a/src/mesa/drivers/dri/intel/intel_fbo.h b/src/mesa/drivers/dri/intel/intel_fbo.h -index a2c1b1a..724f141 100644 ---- a/src/mesa/drivers/dri/intel/intel_fbo.h -+++ b/src/mesa/drivers/dri/intel/intel_fbo.h -@@ -47,6 +47,9 @@ struct intel_renderbuffer - struct intel_mipmap_tree *mt; /**< The renderbuffer storage. */ - drm_intel_bo *map_bo; - -+ /* Current texture image this renderbuffer is attached to. */ -+ struct gl_texture_image *tex_image; -+ - /** - * \name Miptree view - * \{ -diff --git a/src/mesa/drivers/dri/intel/intel_tex_obj.h b/src/mesa/drivers/dri/intel/intel_tex_obj.h -index 8b278ba..d1a5f05 100644 ---- a/src/mesa/drivers/dri/intel/intel_tex_obj.h -+++ b/src/mesa/drivers/dri/intel/intel_tex_obj.h -@@ -65,7 +65,6 @@ struct intel_texture_image - * Else there is no image data. - */ - struct intel_mipmap_tree *mt; -- bool used_as_render_target; - }; - - static INLINE struct intel_texture_object * -diff --git a/src/mesa/drivers/dri/intel/intel_tex_validate.c b/src/mesa/drivers/dri/intel/intel_tex_validate.c -index b96f2a4..a63068b 100644 ---- a/src/mesa/drivers/dri/intel/intel_tex_validate.c -+++ b/src/mesa/drivers/dri/intel/intel_tex_validate.c -@@ -97,14 +97,8 @@ intel_finalize_mipmap_tree(struct intel_context *intel, GLuint unit) - /* skip too small size mipmap */ - if (intelImage == NULL) - break; -- /* Need to import images in main memory or held in other trees. -- * If it's a render target, then its data isn't needed to be in -- * the object tree (otherwise we'd be FBO incomplete), and we need -- * to keep track of the image's MT as needing to be pulled in still, -- * or we'll lose the rendering that's done to it. -- */ -- if (intelObj->mt != intelImage->mt && -- !intelImage->used_as_render_target) { -+ -+ if (intelObj->mt != intelImage->mt) { - intel_miptree_copy_teximage(intel, intelImage, intelObj->mt); - } - } diff --git a/debian/patches/series b/debian/patches/series index 452ecbe..748f4a1 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -12,5 +12,3 @@ 101_ubuntu_hidden_glname.patch 115_llvm_dynamic_linking.diff 116_use_shared_galliumcore.diff -117_intel_fix_hiz_null_dereference.patch -118_fix_rendering_from_textures.patch commit 9564e43d9bc0b21bbdcd44d67ac828d226f6ef61 Author: Robert Hooker <sarv...@ubuntu.com> Date: Mon May 21 18:21:55 2012 -0400 Refresh patches diff --git a/debian/changelog b/debian/changelog index 82219c9..d2774dc 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,8 +1,9 @@ mesa (8.0.3-1) UNRELEASED; urgency=low * New upstream stable release (Closes: #673532) -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/e1sryag-00039h...@vasks.debian.org