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

mesa: Changes to 'debian-unstable'



 Makefile                                               |    2 
 bin/mklib                                              |    8 
 configs/default                                        |    2 
 configure.ac                                           |    3 
 debian/changelog                                       |    6 
 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 
 111 files changed, 2050 insertions(+), 912 deletions(-)

New commits:
commit 5ef1abddd3f484e9e54996f13482279e1149f955
Author: Robert Hooker <sarvatt@ubuntu.com>
Date:   Mon May 21 16:13:23 2012 -0400

    Bump changelog

diff --git a/debian/changelog b/debian/changelog
index a978941..82219c9 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+mesa (8.0.3-1) UNRELEASED; urgency=low
+
+  * New upstream stable release (Closes: #673532)
+
+ -- Robert Hooker <sarvatt@ubuntu.com>  Mon, 21 May 2012 16:03:26 -0400
+
 mesa (8.0.2-2) unstable; urgency=low
 
   * Upload to unstable.

commit 1659d87afe72bf6a6536c6154e684b72a0fb72e1
Author: Ian Romanick <ian.d.romanick@intel.com>
Date:   Fri May 18 15:46:48 2012 -0700

    docs: Add 8.0.3 release notes
    
    Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>

diff --git a/docs/relnotes-8.0.3.html b/docs/relnotes-8.0.3.html
new file mode 100644
index 0000000..4e81da4
--- /dev/null
+++ b/docs/relnotes-8.0.3.html
@@ -0,0 +1,317 @@
+<HTML>
+
+<head>
+<TITLE>Mesa Release Notes</TITLE>
+<link rel="stylesheet" type="text/css" href="mesa.css">
+<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+</head>
+
+<BODY>
+
+<body bgcolor="#eeeeee">
+
+<H1>Mesa 8.0.3 Release Notes / May 18, 2012</H1>
+
+<p>
+Mesa 8.0.3 is a bug fix release which fixes bugs found since the 8.0.2 release.
+</p>
+<p>
+Mesa 8.0.3 implements the OpenGL 3.0 API, but the version reported by
+glGetString(GL_VERSION) depends on the particular driver being used.
+Some drivers don't support all the features required in OpenGL 3.0.
+</p>
+<p>
+See the <a href="install.html">Compiling/Installing page</a> for prerequisites
+for DRI hardware acceleration.
+</p>
+
+
+<h2>MD5 checksums</h2>
+<pre>
+TBD.
+</pre>
+
+<h2>New features</h2>
+<p>None.</p>
+
+<h2>Bug fixes</h2>
+
+<p>This list is likely incomplete.</p>
+
+<ul>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=28138";>Bug 28138</a> - [G45] Regnum Online, sparkling in in-game rendering</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30102";>Bug 30102</a> - glean depthStencil test fails BadLength with indirect non-swrast rendering</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=40361";>Bug 40361</a> - Glitches on X3100 after upgrade to 7.11</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=41152";>Bug 41152</a> - [glsl] Shader backend in Regnum Online does not work</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=41216";>Bug 41216</a> - [bisected pineview]oglc filtercubemin(basic.sizedRGBA) fails</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=41372";>Bug 41372</a> - i830_state.c PBO crash</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=41495";>Bug 41495</a> - i830: intel_get_vb_max / intel_batchbuffer_space mismatch.</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=44701";>Bug 44701</a> - Regnum online textures flickering</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=44961";>Bug 44961</a> - [bisected i965] oglc sRGB(Mipmap.1D_textures) regressed</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=44970";>Bug 44970</a> - [i965]oglc max_values(negative.textureSize.textureCube) segfaults</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=45214";>Bug 45214</a> - Textures disappearing or missing in RegnumOnline OpenGL game</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=45558";>Bug 45558</a> - cannot render on a drawable of size equal the max framebuffer size</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=45921";>Bug 45921</a> - [r300g, bisected] Multiple piglit regressions after glsl_to_tgsi changes</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=46303";>Bug 46303</a> - [SNB] segfault in intel_miptree_release()</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=46739";>Bug 46739</a> - [snb-m-gt2+] compiz crashed with SIGSEGV in intel_miptree_release()</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=46834";>Bug 46834</a> - small performance when playing flightgear (swrast fallback through GTT mapping)</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=47126";>Bug 47126</a> - tests/fbo/fbo-array.c:109: create_array_fbo: Assertion `glGetError() == 0' failed.</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=48218";>Bug 48218</a> - brw_fs_schedule_instructions.cpp segfault due to accessing not allocated last_mrf_write[16]</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=48545";>Bug 48545</a> - LLVMpipe glReadPixels Firefox hits the slow path (WebGL rendering)</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=49124";>Bug 49124</a> - swrast/s_texfetch.c:1156: set_fetch_functions: Assertion `texImage-&gt;FetchTexel' failed.</li>
+
+<!-- <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=";>Bug </a> - </li> -->
+
+</ul>
+
+
+<h2>Changes</h2>
+<p>The full set of changes can be viewed by using the following GIT command:</p>
+
+<pre>
+  git log mesa-8.0.2..mesa-8.0.3
+</pre>
+
+<p>Alban Browaeys (1):
+<ul>
+  <li>dri/i915: Fix off-by-one in i830 clip region size.</li>
+</ul></p>
+
+<p>Alex Deucher (2):
+<ul>
+  <li>r200: fix fog coordinate emit</li>
+  <li>radeon: fix fog coordinate emit</li>
+</ul></p>
+
+<p>Alexander von Gluck (4):
+<ul>
+  <li>llvmpipe: fix symbol conflict on Haiku</li>
+  <li>svga: fix typedef conflicts on Haiku</li>
+  <li>mesa: Don't use newlocale on Haiku</li>
+  <li>glsl: Don't use newlocale on Haiku</li>
+</ul></p>
+
+<p>Anuj Phogat (4):
+<ul>
+  <li>mesa: fix issues with texture border and array textures</li>
+  <li>mesa: Fix valid texture target test in _mesa_GetTexLevelParameteriv()</li>
+  <li>mesa: Fix the cause of piglit test fbo-array failure</li>
+  <li>intel: Fix a case when mapping large texture fails</li>
+</ul></p>
+
+<p>Brian Paul (17):
+<ul>
+  <li>mesa: add a couple fast-paths to fast_read_rgba_pixels_memcpy()</li>
+  <li>mesa/gdi: remove wmesa_set_renderbuffer_funcs() function</li>
+  <li>mesa/gdi: remove clear_color() function</li>
+  <li>mesa: bump version to 8.0.2 in configs/default</li>
+  <li>swrast: include s_fragprog.h to silence warnings</li>
+  <li>mesa: remove LSB-first pixel packing check in glReadPixels</li>
+  <li>mesa: fix error in _mesa_format_matches_format_and_type() for RGB888</li>
+  <li>mesa: add BGR888 code in _mesa_format_matches_format_and_type()</li>
+  <li>vbo: fix node_attrsz[] usage in vbo_bind_vertex_list()</li>
+  <li>mesa: add missing texture integer test in glTexSubImage()</li>
+  <li>mesa: add missing return after _mesa_error() in update_array()</li>
+  <li>glsl: propagate MaxUnrollIterations to the optimizer's loop unroller</li>
+  <li>st/mesa: set MaxUnrollIterations = 255</li>
+  <li>st/mesa: no-op glCopyPixels if source region is out of bounds</li>
+  <li>mesa: do more teximage error checking for generic compressed formats</li>
+  <li>mesa: fix/add error check in _mesa_ColorMaterial()</li>
+  <li>mesa: fix glMaterial / dlist bug</li>
+</ul></p>
+
+<p>Chad Versace (3):
+<ul>
+  <li>glsl: Fix Android build</li>
+  <li>main: Fix memory leak in _mesa_make_extension_string()</li>
+  <li>intel: Disable ARB_framebuffer_object in ES contexts</li>
+</ul></p>
+
+<p>Chris Wilson (1):
+<ul>
+  <li>i830: Compute initial number of vertices from remaining batch space</li>
+</ul></p>
+
+<p>Dave Airlie (4):
+<ul>
+  <li>mesa/format_unpack: add LUMINANCE 8/16 UINT/INT</li>
+  <li>glx/drisw: avoid segfaults when we fail to get visual</li>
+  <li>drisw: fix image stride calculation for 16-bit.</li>
+  <li>intel: fix TFP at 16-bpp</li>
+</ul></p>
+
+<p>Dylan Noblesmith (7):
+<ul>
+  <li>intel: fix null dereference processing HiZ buffer</li>
+  <li>util: fix undefined behavior</li>
+  <li>util: fix uninitialized table</li>
+  <li>egl: fix uninitialized values</li>
+  <li>st/vega: fix uninitialized values</li>
+  <li>egl-static: fix printf warning</li>
+  <li>i965: fix typo</li>
+</ul></p>
+
+<p>Eric Anholt (19):
+<ul>
+  <li>i965/fs: Jump from discard statements to the end of the program when done.</li>
+  <li>intel: Fix rendering from textures after RenderTexture().</li>
+  <li>mesa: Fix handling of glCopyBufferSubData() for src == dst.</li>
+  <li>i965/fs: Move GL_CLAMP handling to coordinate setup.</li>
+  <li>i965/fs: Implement GL_CLAMP behavior on texture rectangles on gen6+.</li>
+  <li>mesa: Fix push/pop of multisample coverage invert.</li>
+  <li>mesa: Include the multisample enables under GL_MULTISAMPLE_BIT attrib as well.</li>
+  <li>mesa: Fix display list handling for GL_ARB_draw_instanced.</li>
+  <li>mesa: Fix display lists for draw_elements_base_vertex with draw_instanced.</li>
+  <li>mesa: Add missing error check for first &lt 0 in glDrawArraysInstanced().</li>
+  <li>i915: Fix piglit fbo-nodepth-test on i830.</li>
+  <li>intel: Return success when asked to allocate a 0-width/height renderbuffer.</li>
+  <li>mesa: Throw error on glGetActiveUniform inside Begin/End.</li>
+  <li>i965/vs: Fix up swizzle for dereference_array of matrices.</li>
+  <li>glsl: Fix indentation of switch code.</li>
+  <li>glsl: Let the constructor figure out the types of switch-related expressions.</li>
+  <li>glsl: Reject non-scalar switch expressions.</li>
+  <li>glsl: Fix assertion failure on handling switch on uint expressions.</li>
+  <li>mesa: Check for framebuffer completeness before looking at the rb.</li>
+</ul></p>
+
+<p>Eugeni Dodonov (1):
+<ul>
+  <li>intel: add PCI IDs for Ivy Bridge GT2 server variant</li>
+</ul></p>
+
+<p>Han Shen(沈涵) (1):
+<ul>
+  <li>bin/mklib: remove '-m32' for arm linux</li>
+</ul></p>
+
+<p>Ian Romanick (1):
+<ul>
+  <li>mesa: Bump version number to 8.0.3</li>
+</ul></p>
+
+<p>Jakob Bornecrantz (1):
+<ul>
+  <li>docs: Add 8.0.2 md5sums</li>
+</ul></p>
+
+<p>Jeremy Huddleston (7):
+<ul>
+  <li>darwin: Eliminate a pthread mutex leak</li>
+  <li>darwin: Fix an error message</li>
+  <li>darwin: Make reported errors more user-friendly</li>
+  <li>darwin: Use ASL for logging</li>
+  <li>darwin: Unlock our mutex before destroying it</li>
+  <li>darwin: Eliminate a possible race condition while destroying a surface</li>
+  <li>darwin: Address a build failure on Leopard and earlier OS versions</li>
+</ul></p>
+
+<p>Jon TURNEY (1):
+<ul>
+  <li>Have __glImageSize handle format GL_DEPTH_STENCIL_NV the same way as the server does</li>
+</ul></p>
+
+<p>Jonas Maebe (2):
+<ul>
+  <li>glapi: Correct size of allocated _glapi_table struct</li>
+  <li>apple: Fix a use after free</li>
+</ul></p>
+
+<p>Jordan Justen (1):
+<ul>
+  <li>mesa: Add primitive restart support to glArrayElement</li>
+</ul></p>
+
+<p>Kenneth Graunke (12):
+<ul>
+  <li>i965: Actually upload sampler state pointers for the VS unit on Gen6.</li>
+  <li>i965/fs: Fix FB writes that tried to use the non-existent m16 register.</li>
+  <li>vbo: Remove pedantic warning about 'end' beind out of bounds.</li>
+  <li>vbo: Ignore invalid element ranges which are outside VBO bounds.</li>
+  <li>vbo: Rework checking of 'end' against _MaxElement.</li>
+  <li>vbo: Eliminate short-circuiting in invalid-start case.</li>
+  <li>i965: Fix GPU hangs in the dummy fragment shader.</li>
+  <li>i965: Make the dummy fragment shader work in SIMD16 mode.</li>
+  <li>drirc: Add force_glsl_extensions_warn workaround for Unigine Heaven.</li>
+  <li>i965: Avoid explicit accumulator operands in SIMD16 mode on Gen7.</li>
+  <li>intel: Remove pointless software fallback for glBitmap on Gen6.</li>
+  <li>glsl: Fix broken constant expression handling for &lt, &lt=, &gt;, and &gt;=.</li>
+</ul></p>
+
+<p>Kurt Roeckx (2):
+<ul>
+  <li>i915: Compute maximum number of verts using the actual batchbuffer size.</li>
+  <li>i915: Fix i830 polygon stipple from PBOs.</li>
+</ul></p>
+
+<p>Marek Olšák (5):
+<ul>
+  <li>r300g/swtcl: don't print an error when getting ClipVertex</li>
+  <li>r300g/swtcl: don't enter u_vbuf_mgr</li>
+  <li>r300g/swtcl: don't expose shader subroutine support</li>
+  <li>r300g/swtcl: fix polygon offset</li>
+  <li>r300g/swtcl: fix crash when back color is present in vertex shader</li>
+</ul></p>
+
+<p>Mathias Fröhlich (1):
+<ul>
+  <li>glsl: Avoid excessive loop unrolling.</li>
+</ul></p>
+
+<p>Matt Turner (1):
+<ul>
+  <li>Remove -ffast-math from default CFLAGS</li>
+</ul></p>
+
+<p>Paul Berry (1):
+<ul>
+  <li>i915: Initialize swrast_texture_image structure fields.</li>
+</ul></p>
+
+<p>Roland Scheidegger (1):
+<ul>
+  <li>mesa: check_index_bounds off-by-one fix</li>
+</ul></p>
+
+<p>Tom Stellard (2):
+<ul>
+  <li>r300/compiler: Clear loop registers in vertex shaders w/o loops</li>
+  <li>r300/compiler: Copy all instruction attributes during local transfoms</li>
+</ul></p>
+
+<p>Vinson Lee (5):
+<ul>
+  <li>mesa: Fix memory leak in _mesa_get_uniform_location.</li>
+  <li>linker: Fix memory leak in count_uniform_size::visit_field.</li>
+  <li>swrast: Fix memory leaks in blit_linear.</li>
+  <li>ir_to_mesa: Fix uninitialized member in add_uniform_to_shader.</li>
+  <li>mesa: Fix memory leak in generate_mipmap_compressed.</li>
+</ul></p>
+
+<p>Yuanhan Liu (2):
+<ul>
+  <li>i915: set SPRITE_POINT_ENABLE bit correctly</li>
+  <li>i965: fix wrong cube/3D texture layout</li>
+</ul></p>
+
+</body>
+</html>

commit 60dffb92de8bed96f7335bf07639fe80831d6c5a
Author: Ian Romanick <ian.d.romanick@intel.com>
Date:   Fri May 18 15:27:58 2012 -0700

    mesa: Bump version number to 8.0.3
    
    Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>

diff --git a/Makefile b/Makefile
index 6084e73..be73f10 100644
--- a/Makefile
+++ b/Makefile
@@ -184,7 +184,7 @@ ultrix-gcc:
 
 # Rules for making release tarballs
 
-PACKAGE_VERSION=8.0.2
+PACKAGE_VERSION=8.0.3
 PACKAGE_DIR = Mesa-$(PACKAGE_VERSION)
 PACKAGE_NAME = MesaLib-$(PACKAGE_VERSION)
 
diff --git a/configs/default b/configs/default
index a4069cb..5e703e2 100644
--- a/configs/default
+++ b/configs/default
@@ -10,7 +10,7 @@ CONFIG_NAME = default
 # Version info
 MESA_MAJOR=8
 MESA_MINOR=0
-MESA_TINY=2
+MESA_TINY=3
 MESA_VERSION = $(MESA_MAJOR).$(MESA_MINOR).$(MESA_TINY)
 
 # external projects.  This should be useless now that we use libdrm.
diff --git a/src/mesa/main/version.h b/src/mesa/main/version.h
index bc0494c..d9ef3d0 100644
--- a/src/mesa/main/version.h
+++ b/src/mesa/main/version.h
@@ -34,8 +34,8 @@ struct gl_context;
 /* Mesa version */
 #define MESA_MAJOR 8
 #define MESA_MINOR 0
-#define MESA_PATCH 2
-#define MESA_VERSION_STRING "8.0.2"
+#define MESA_PATCH 3
+#define MESA_VERSION_STRING "8.0.3"
 
 /* To make version comparison easy */
 #define MESA_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))

commit b5b65af5fa0f9de5fc4af8fbfe7ca9ebe8c871a3
Author: Eric Anholt <eric@anholt.net>
Date:   Mon May 14 10:18:23 2012 -0700

    mesa: Check for framebuffer completeness before looking at the rb.
    
    Otherwise, an incomplete framebuffer could have a NULL
    _ColorReadBuffer and we'd deref that.
    
    Reviewed-by: Brian Paul <brianp@vmware.com>
    Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
    Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
    (cherry picked from commit 5a827d9a2b5d698fed98a5d62ff0292b48bdd6c7)

diff --git a/src/mesa/main/readpix.c b/src/mesa/main/readpix.c
index b9c9351..6c041fa 100644
--- a/src/mesa/main/readpix.c
+++ b/src/mesa/main/readpix.c
@@ -819,6 +819,12 @@ _mesa_ReadnPixelsARB( GLint x, GLint y, GLsizei width, GLsizei height,
       return;
    }
 
+   if (ctx->ReadBuffer->_Status != GL_FRAMEBUFFER_COMPLETE_EXT) {
+      _mesa_error(ctx, GL_INVALID_FRAMEBUFFER_OPERATION_EXT,
+                  "glReadPixels(incomplete framebuffer)" );
+      return;
+   }
+
    /* Check that the destination format and source buffer are both
     * integer-valued or both non-integer-valued.
     */
@@ -833,12 +839,6 @@ _mesa_ReadnPixelsARB( GLint x, GLint y, GLsizei width, GLsizei height,
       }
    }
 
-   if (ctx->ReadBuffer->_Status != GL_FRAMEBUFFER_COMPLETE_EXT) {
-      _mesa_error(ctx, GL_INVALID_FRAMEBUFFER_OPERATION_EXT,
-                  "glReadPixels(incomplete framebuffer)" );
-      return;
-   }
-
    if (ctx->ReadBuffer->Name != 0 && ctx->ReadBuffer->Visual.samples > 0) {
       _mesa_error(ctx, GL_INVALID_OPERATION, "glReadPixels(multisample FBO)");
       return;

commit e0e8f1efada825cff290895e5fc3b4ca957b68f7
Author: Eric Anholt <eric@anholt.net>
Date:   Mon May 14 08:51:03 2012 -0700

    glsl: Fix assertion failure on handling switch on uint expressions.
    
    Fixes piglit glsl-1.30/execution/switch/fs-uint.
    
    Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
    Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
    (cherry picked from commit 9c4e9ce051bb43861adb4f8cd8e88a733c2f3ed1)

diff --git a/src/glsl/ast_to_hir.cpp b/src/glsl/ast_to_hir.cpp
index ca51ead..d3fdcf0 100644
--- a/src/glsl/ast_to_hir.cpp
+++ b/src/glsl/ast_to_hir.cpp
@@ -3594,7 +3594,7 @@ ast_switch_statement::test_to_hir(exec_list *instructions,
       test_expression->hir(instructions,
 			   state);
 
-   state->switch_state.test_var = new(ctx) ir_variable(glsl_type::int_type,
+   state->switch_state.test_var = new(ctx) ir_variable(test_val->type,
 						       "switch_test_tmp",
 						       ir_var_temporary);
    ir_dereference_variable *deref_test_var =

commit 91874c3252d179a4f54b19f4178d7f5bdd706bcb
Author: Eric Anholt <eric@anholt.net>
Date:   Mon May 14 08:45:59 2012 -0700

    glsl: Reject non-scalar switch expressions.
    
    The comment quotes spec saying that only scalar integers are allowed,
    but we only checked for integer.
    
    Fixes piglit switch-expression-const-ivec2.vert
    
    Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
    Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
    (cherry picked from commit bbbc7c7d566905920967f56648fc26abcb37f4a1)

diff --git a/src/glsl/ast_to_hir.cpp b/src/glsl/ast_to_hir.cpp
index de18d29..ca51ead 100644
--- a/src/glsl/ast_to_hir.cpp
+++ b/src/glsl/ast_to_hir.cpp
@@ -3516,11 +3516,9 @@ ast_switch_statement::hir(exec_list *instructions,
     *
     *    "The type of init-expression in a switch statement must be a 
     *     scalar integer." 
-    *
-    * The checks are separated so that higher quality diagnostics can be
-    * generated for cases where the rule is violated.
     */
-   if (!test_expression->type->is_integer()) {
+   if (!test_expression->type->is_scalar() ||
+       !test_expression->type->is_integer()) {
       YYLTYPE loc = this->test_expression->get_location();
 
       _mesa_glsl_error(& loc,

commit 2d105870c9873e37957f97cd60eda16d39ac361e
Author: Eric Anholt <eric@anholt.net>
Date:   Mon May 14 08:39:54 2012 -0700

    glsl: Let the constructor figure out the types of switch-related expressions.
    
    I noticed this while unindenting the code.
    
    Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
    Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
    (cherry picked from commit 5d6ea16dfe99e1aba61c25a897b66951faab1a39)

diff --git a/src/glsl/ast_to_hir.cpp b/src/glsl/ast_to_hir.cpp
index 81609e7..de18d29 100644
--- a/src/glsl/ast_to_hir.cpp
+++ b/src/glsl/ast_to_hir.cpp
@@ -3726,7 +3726,6 @@ ast_case_label::hir(exec_list *instructions,
 	 new(ctx) ir_dereference_variable(state->switch_state.test_var);
 
       ir_rvalue *const test_cond = new(ctx) ir_expression(ir_binop_all_equal,
-							  glsl_type::bool_type,
 							  label_const,
 							  deref_test_var);
 
@@ -3783,9 +3782,7 @@ ast_iteration_statement::condition_to_hir(ir_loop *stmt,
 	  * like 'if (!condition) break;' as the loop termination condition.
 	  */
 	 ir_rvalue *const not_cond =
-	    new(ctx) ir_expression(ir_unop_logic_not, glsl_type::bool_type,
-				   cond,
-				   NULL);
+	    new(ctx) ir_expression(ir_unop_logic_not, cond);
 
 	 ir_if *const if_stmt = new(ctx) ir_if(not_cond);
 

commit 912acd045c520165b13537a24873ef21ff7a155d
Author: Eric Anholt <eric@anholt.net>
Date:   Mon May 14 08:37:50 2012 -0700

    glsl: Fix indentation of switch code.
    
    I managed to completely trash it in 22d81f15.
    
    Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
    Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
    (cherry picked from commit 5462f3679ab7217d3a3be48365750801c7771237)

diff --git a/src/glsl/ast_to_hir.cpp b/src/glsl/ast_to_hir.cpp
index c580359..81609e7 100644
--- a/src/glsl/ast_to_hir.cpp
+++ b/src/glsl/ast_to_hir.cpp
@@ -3571,7 +3571,7 @@ ast_switch_statement::hir(exec_list *instructions,
    /* Cache test expression.
     */
    test_to_hir(instructions, state);
-   
+
    /* Emit code for body of switch stmt.
     */
    body->hir(instructions, state);
@@ -3580,290 +3580,271 @@ ast_switch_statement::hir(exec_list *instructions,
 
    state->switch_state = saved;
 
-     /* Switch statements do not have r-values.
-      */
-     return NULL;
-  }
-
-
-  void
-  ast_switch_statement::test_to_hir(exec_list *instructions,
-				    struct _mesa_glsl_parse_state *state)
-  {
-     void *ctx = state;
-
-     /* Cache value of test expression.
-      */
-     ir_rvalue *const test_val =
-	test_expression->hir(instructions,
-			     state);
-
-     state->switch_state.test_var = new(ctx) ir_variable(glsl_type::int_type,
-							 "switch_test_tmp",
-							 ir_var_temporary);
-     ir_dereference_variable *deref_test_var =
-	new(ctx) ir_dereference_variable(state->switch_state.test_var);
-
-     instructions->push_tail(state->switch_state.test_var);
-     instructions->push_tail(new(ctx) ir_assignment(deref_test_var,
-						    test_val,
-						    NULL));
-  }
-
-
-  ir_rvalue *
-  ast_switch_body::hir(exec_list *instructions,
-		       struct _mesa_glsl_parse_state *state)
-  {
-     if (stmts != NULL)
-	stmts->hir(instructions, state);
-
-     /* Switch bodies do not have r-values.
-      */
-     return NULL;
-  }
-
-
-  ir_rvalue *
-  ast_case_statement_list::hir(exec_list *instructions,
-			       struct _mesa_glsl_parse_state *state)
-  {
-     foreach_list_typed (ast_case_statement, case_stmt, link, & this->cases)
-	case_stmt->hir(instructions, state);
-
-     /* Case statements do not have r-values.
-      */
-     return NULL;
-  }
-
-
-  ir_rvalue *
-  ast_case_statement::hir(exec_list *instructions,
-			  struct _mesa_glsl_parse_state *state)
-  {
-     labels->hir(instructions, state);
-
-     /* Conditionally set fallthru state based on break state.
-      */
-     ir_constant *const false_val = new(state) ir_constant(false);
-     ir_dereference_variable *const deref_is_fallthru_var =
-	new(state) ir_dereference_variable(state->switch_state.is_fallthru_var);
-     ir_dereference_variable *const deref_is_break_var =
-	new(state) ir_dereference_variable(state->switch_state.is_break_var);
-     ir_assignment *const reset_fallthru_on_break =
-	new(state) ir_assignment(deref_is_fallthru_var,
-				 false_val,
-				 deref_is_break_var);
-     instructions->push_tail(reset_fallthru_on_break);
-
-     /* Guard case statements depending on fallthru state.
-      */
-     ir_dereference_variable *const deref_fallthru_guard =
-	new(state) ir_dereference_variable(state->switch_state.is_fallthru_var);
-     ir_if *const test_fallthru = new(state) ir_if(deref_fallthru_guard);
-
-     foreach_list_typed (ast_node, stmt, link, & this->stmts)
-	stmt->hir(& test_fallthru->then_instructions, state);
-
-     instructions->push_tail(test_fallthru);
-
-     /* Case statements do not have r-values.
-      */
-     return NULL;
-  }
-
-
-  ir_rvalue *
-  ast_case_label_list::hir(exec_list *instructions,
-			   struct _mesa_glsl_parse_state *state)
-  {
-     foreach_list_typed (ast_case_label, label, link, & this->labels)
-	label->hir(instructions, state);
-
-     /* Case labels do not have r-values.
-      */
-     return NULL;
-  }
-
-
-  ir_rvalue *
-  ast_case_label::hir(exec_list *instructions,
-		      struct _mesa_glsl_parse_state *state)
-  {
-     void *ctx = state;
-
-     ir_dereference_variable *deref_fallthru_var =
-	new(ctx) ir_dereference_variable(state->switch_state.is_fallthru_var);
-
-     ir_rvalue *const true_val = new(ctx) ir_constant(true);
-
-     /* If not default case, ...
-      */
-     if (this->test_value != NULL) {
-	/* Conditionally set fallthru state based on
-	 * comparison of cached test expression value to case label.
-	 */
-	ir_rvalue *const label_rval = this->test_value->hir(instructions, state);
-	ir_constant *label_const = label_rval->constant_expression_value();
-
-	if (!label_const) {
-	   YYLTYPE loc = this->test_value->get_location();
-
-	   _mesa_glsl_error(& loc, state,
-			    "switch statement case label must be a "
-			    "constant expression");
-
-	   /* Stuff a dummy value in to allow processing to continue. */
-	   label_const = new(ctx) ir_constant(0);
-	} else {
-	   ast_expression *previous_label = (ast_expression *)
-	      hash_table_find(state->switch_state.labels_ht,
+   /* Switch statements do not have r-values. */
+   return NULL;
+}
+
+
+void
+ast_switch_statement::test_to_hir(exec_list *instructions,
+				  struct _mesa_glsl_parse_state *state)
+{
+   void *ctx = state;
+
+   /* Cache value of test expression. */
+   ir_rvalue *const test_val =
+      test_expression->hir(instructions,
+			   state);
+
+   state->switch_state.test_var = new(ctx) ir_variable(glsl_type::int_type,
+						       "switch_test_tmp",
+						       ir_var_temporary);
+   ir_dereference_variable *deref_test_var =
+      new(ctx) ir_dereference_variable(state->switch_state.test_var);
+
+   instructions->push_tail(state->switch_state.test_var);
+   instructions->push_tail(new(ctx) ir_assignment(deref_test_var, test_val,
+						  NULL));
+}
+
+
+ir_rvalue *
+ast_switch_body::hir(exec_list *instructions,
+		     struct _mesa_glsl_parse_state *state)
+{
+   if (stmts != NULL)
+      stmts->hir(instructions, state);
+
+   /* Switch bodies do not have r-values. */
+   return NULL;
+}
+
+ir_rvalue *
+ast_case_statement_list::hir(exec_list *instructions,
+			     struct _mesa_glsl_parse_state *state)
+{
+   foreach_list_typed (ast_case_statement, case_stmt, link, & this->cases)
+      case_stmt->hir(instructions, state);
+
+   /* Case statements do not have r-values. */
+   return NULL;
+}
+
+ir_rvalue *
+ast_case_statement::hir(exec_list *instructions,
+			struct _mesa_glsl_parse_state *state)
+{
+   labels->hir(instructions, state);
+
+   /* Conditionally set fallthru state based on break state. */
+   ir_constant *const false_val = new(state) ir_constant(false);
+   ir_dereference_variable *const deref_is_fallthru_var =
+      new(state) ir_dereference_variable(state->switch_state.is_fallthru_var);
+   ir_dereference_variable *const deref_is_break_var =
+      new(state) ir_dereference_variable(state->switch_state.is_break_var);
+   ir_assignment *const reset_fallthru_on_break =
+      new(state) ir_assignment(deref_is_fallthru_var,
+			       false_val,
+			       deref_is_break_var);
+   instructions->push_tail(reset_fallthru_on_break);
+
+   /* Guard case statements depending on fallthru state. */
+   ir_dereference_variable *const deref_fallthru_guard =
+      new(state) ir_dereference_variable(state->switch_state.is_fallthru_var);
+   ir_if *const test_fallthru = new(state) ir_if(deref_fallthru_guard);
+
+   foreach_list_typed (ast_node, stmt, link, & this->stmts)
+      stmt->hir(& test_fallthru->then_instructions, state);
+
+   instructions->push_tail(test_fallthru);
+
+   /* Case statements do not have r-values. */
+   return NULL;
+}
+
+
+ir_rvalue *
+ast_case_label_list::hir(exec_list *instructions,
+			 struct _mesa_glsl_parse_state *state)
+{
+   foreach_list_typed (ast_case_label, label, link, & this->labels)
+      label->hir(instructions, state);
+
+   /* Case labels do not have r-values. */
+   return NULL;
+}
+
+ir_rvalue *
+ast_case_label::hir(exec_list *instructions,
+		    struct _mesa_glsl_parse_state *state)
+{
+   void *ctx = state;
+
+   ir_dereference_variable *deref_fallthru_var =
+      new(ctx) ir_dereference_variable(state->switch_state.is_fallthru_var);
+
+   ir_rvalue *const true_val = new(ctx) ir_constant(true);
+
+   /* If not default case, ... */
+   if (this->test_value != NULL) {
+      /* Conditionally set fallthru state based on
+       * comparison of cached test expression value to case label.
+       */
+      ir_rvalue *const label_rval = this->test_value->hir(instructions, state);
+      ir_constant *label_const = label_rval->constant_expression_value();
+
+      if (!label_const) {
+	 YYLTYPE loc = this->test_value->get_location();
+
+	 _mesa_glsl_error(& loc, state,
+			  "switch statement case label must be a "
+			  "constant expression");
+
+	 /* Stuff a dummy value in to allow processing to continue. */
+	 label_const = new(ctx) ir_constant(0);
+      } else {
+	 ast_expression *previous_label = (ast_expression *)
+	    hash_table_find(state->switch_state.labels_ht,
+			    (void *)(uintptr_t)label_const->value.u[0]);
+
+	 if (previous_label) {
+	    YYLTYPE loc = this->test_value->get_location();
+	    _mesa_glsl_error(& loc, state,
+			     "duplicate case value");
+
+	    loc = previous_label->get_location();
+	    _mesa_glsl_error(& loc, state,
+			     "this is the previous case label");
+	 } else {
+	    hash_table_insert(state->switch_state.labels_ht,
+			      this->test_value,
 			      (void *)(uintptr_t)label_const->value.u[0]);
+	 }
+      }
+
+      ir_dereference_variable *deref_test_var =
+	 new(ctx) ir_dereference_variable(state->switch_state.test_var);
+
+      ir_rvalue *const test_cond = new(ctx) ir_expression(ir_binop_all_equal,
+							  glsl_type::bool_type,
+							  label_const,
+							  deref_test_var);
+
+      ir_assignment *set_fallthru_on_test =
+	 new(ctx) ir_assignment(deref_fallthru_var,
+				true_val,
+				test_cond);
+
+      instructions->push_tail(set_fallthru_on_test);
+   } else { /* default case */
+      if (state->switch_state.previous_default) {
+	 printf("a\n");
+	 YYLTYPE loc = this->get_location();
+	 _mesa_glsl_error(& loc, state,
+			  "multiple default labels in one switch");
+
+	 printf("b\n");
+
+	 loc = state->switch_state.previous_default->get_location();
+	 _mesa_glsl_error(& loc, state,
+			  "this is the first default label");
+      }
+      state->switch_state.previous_default = this;
+
+      /* Set falltrhu state. */
+      ir_assignment *set_fallthru =
+	 new(ctx) ir_assignment(deref_fallthru_var, true_val, NULL);
+


Reply to: