<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <title>Mesa Release Notes</title>
  <link rel="stylesheet" type="text/css" href="mesa.css">
</head>
<body>

<h1>Mesa 7.10.3 Release Notes / June 13, 2011</h1>

<p>
Mesa 7.10.3 is a bug fix release which fixes bugs found since the 7.10.2 release.
</p>
<p>
Mesa 7.10.3 implements the OpenGL 2.1 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 2.1.
</p>
<p>
See the <a href="install.html">Compiling/Installing page</a> for prerequisites
for DRI hardware acceleration.
</p>


<h2>MD5 checksums</h2>
<pre>
d77b02034c11d6c2a55c07f82367d780  MesaLib-7.10.3.tar.gz
8c38fe8266be8e1ed1d84076ba5a703b  MesaLib-7.10.3.tar.bz2
614d063ecd170940d9ae7b355d365d59  MesaLib-7.10.3.zip
8768fd562ede7ed763d92b2d22232d7a  MesaGLUT-7.10.3.tar.gz
1496415b89da9549f0f3b34d9622e2e2  MesaGLUT-7.10.3.tar.bz2
1f29d0e7398fd3bf9f36f5db02941198  MesaGLUT-7.10.3.zip
</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=29162">Bug 29162</a> - mesa/darwin is severly broken</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31590">Bug 31590</a> - Black space between colors on mole hill example</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32395">Bug 32395</a> - [glsl] Incorrect code generation for shadow2DProj() with bias</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32564">Bug 32564</a> - [llvmpipe] prog: Unknown command line argument '-disable-mmx'. Try: 'prog -help' with llvm-2.9svn</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32835">Bug 32835</a> - [glsl] recursive #define results in infinite stack recursion</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33303">Bug 33303</a> - [glsl] ir_constant_expression.cpp:72: virtual ir_constant* ir_expression::constant_expression_value(): Assertion `op[0]-&gt;type-&gt;base_type == op[1]-&gt;type-&gt;base_type' failed.</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33314">Bug 33314</a> - [glsl] ir_constant_expression.cpp:122: virtual ir_constant* ir_expression::constant_expression_value(): Assertion `op[0]-&gt;type-&gt;base_type == GLSL_TYPE_BOOL' failed.</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33512">Bug 33512</a> - [SNB] case ogles2conform/GL/gl_FragCoord/gl_FragCoord_xy_frag.test and gl_FragCoord_w_frag.test fail</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34280">Bug 34280</a> - r200 mesa-7.10 font distortion</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34321">Bug 34321</a> - The ARB_fragment_program subset of ARB_draw_buffers not implemented</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=35603">Bug 35603</a> - GLSL compiler freezes compiling shaders</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=36173">Bug 36173</a> - struct renderbuffer's 'format' field never set when using FBO</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=36238">Bug 36238</a> - Mesa release files don't contain scons control files</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=36410">Bug 36410</a> - [SNB] Rendering errors in 3DMMES subtest taiji</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=36527">Bug 36527</a> - [wine] Wolfenstein: Failed to translate rgb instruction.</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=36651">Bug 36651</a> - mesa requires bison and flex to build but configure does not check for them</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=36738">Bug 36738</a> - Openarena crash with r300g, swrastg + llvm &gt; 2.8</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=37648">Bug 37648</a> - Logic error in mesa/main/teximage.c:texsubimage</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=37739">Bug 37739</a> - Color clear of FBO without color buffer crashes</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-7.10.2..mesa-7.10.3
</pre>

<p>Alan Hourihane (1):</p>
<ul>
  <li>Check for out of memory when creating fence</li>
</ul>

<p>Alex Buell (1):</p>
<ul>
  <li>configure: bump LIBDRM_REQUIRED to 2.4.24</li>
</ul>

<p>Alex Deucher (2):</p>
<ul>
  <li>r600c: add new pci ids</li>
  <li>r600g: add new pci ids</li>
</ul>

<p>Brian Paul (19):</p>
<ul>
  <li>docs: add link to 7.10.2 release notes</li>
  <li>scons: remove dangling reference to state_trackers/python/SConscript</li>
  <li>Makefile: add missing Scons files</li>
  <li>llvmpipe: document issue with LLVM 2.8 and earlier with AVX</li>
  <li>docs: replace llvmpipe/README with docs/llvmpipe.html</li>
  <li>glsl: add static qualifier to silence warning</li>
  <li>glsl: add cast to silence signed/unsigned comparison warning</li>
  <li>mesa: s/height/depth/ in texsubimage()</li>
  <li>mesa: fix void pointer arithmetic warnings</li>
  <li>mesa: add some missing GLAPIENTRY keywords</li>
  <li>mesa: check that flex/bison are installed</li>
  <li>st/mesa: fix incorrect texture level/face/slice accesses</li>
  <li>draw: fix edge flag handling in clipper (for unfilled tris/quads/polygons)</li>
  <li>vbo: check array indexes to prevent negative indexing</li>
  <li>vbo: remove node-&gt;count &gt; 0 test in vbo_save_playback_vertex_list()</li>
  <li>st/mesa: fix software accum buffer format bug</li>
  <li>mesa: add include/c99/inttypes.h include/c99/stdbool.h include/c99/stdint.h files to tarballs</li>
  <li>docs: 7.10.3 release notes skeleton file, links</li>
  <li>mesa: bump version to 7.10.3</li>
</ul>

<p>Carl Worth (2):</p>
<ul>
  <li>glcpp: Simplify calling convention of parser's active_list functions</li>
  <li>glcpp: Fix attempts to expand recursive macros infinitely (bug #32835).</li>
</ul>

<p>Dave Airlie (1):</p>
<ul>
  <li>st/mesa: fix compressed mipmap generation.</li>
</ul>

<p>Eric Anholt (19):</p>
<ul>
  <li>i965: Fix the VS thread limits for GT1, and clarify the WM limits on both.</li>
  <li>glsl: Avoid cascading errors when looking for a scalar boolean and failing.</li>
  <li>glsl: Semantically check the RHS of `&amp;&amp;' even when short-circuiting.</li>
  <li>glsl: Semantically check the RHS of `||' even when short-circuiting.</li>
  <li>glsl: When we've emitted a semantic error for ==, return a bool constant.</li>
  <li>glsl: Perform type checking on "^^" operands.</li>
  <li>intel: Use _mesa_base_tex_format for FBO texture attachments.</li>
  <li>swrast: Don't assert against glReadPixels of GL_RED and GL_RG.</li>
  <li>mesa: Add a gl_renderbuffer.RowStride field like textures have.</li>
  <li>mesa: Add a function to set up the default renderbuffer accessors.</li>
  <li>intel: Use Mesa core's renderbuffer accessors for depth.</li>
  <li>mesa: Use _mesa_get_format_bytes to refactor out the RB get_pointer_*</li>
  <li>mesa: Use _mesa_get_format_bytes to refactor out the RB get_row_*</li>
  <li>mesa: Add renderbuffer accessors for R8/RG88/R16/RG1616.</li>
  <li>swrast: Don't try to adjust_colors for &lt;8bpc when handling R16, RG1616.</li>
  <li>intel: Use mesa core's R8, RG88, R16, RG1616 RB accessors.</li>
  <li>Revert "intel: Add spans code for the ARB_texture_rg support."</li>
  <li>mesa: Add support for the ARB_fragment_program part of ARB_draw_buffers.</li>
  <li>mesa: Add support for OPTION ATI_draw_buffers to ARB_fp.</li>
</ul>

<p>Hans de Goede (1):</p>
<ul>
  <li>texstore: fix regression stricter check for memcpy path for unorm88 and unorm1616</li>
</ul>

<p>Henri Verbeet (3):</p>
<ul>
  <li>mesa: Also update the color draw buffer if it's explicitly set to GL_NONE.</li>
  <li>glx: Destroy dri2Hash on DRI2 display destruction.</li>
  <li>glx: Only remove the glx_display from the list after it's destroyed.</li>
</ul>

<p>Ian Romanick (9):</p>
<ul>
  <li>docs: Add 7.10.2 md5sums</li>
  <li>glsl: Fix off-by-one error setting max_array_access for non-constant indexing</li>
  <li>ir_to_mesa: Handle shadow compare w/projection and LOD bias correctly</li>
  <li>intel: Fix ROUND_DOWN_TO macro</li>
  <li>glsl: Regenerate compiler and glcpp files from cherry picks</li>
  <li>i965: Remove hint_gs_always and resulting dead code</li>
  <li>mesa: Don't try to clear a NULL renderbuffer</li>
  <li>mesa: Ignore blits to/from missing buffers</li>
  <li>docs: Add list of bugs fixed in 7.10.3 release</li>
</ul>

<p>Jeremy Huddleston (18):</p>
<ul>
  <li>apple: Update GL specs</li>
  <li>apple: Rename glcontextmodes.[ch] to glxconfig.[ch]</li>
  <li>apple: Rename __GLcontextModes to struct glx_config</li>
  <li>apple: Rename GLXcontext</li>
  <li>apple: Re-add driContext and do_destroy</li>
  <li>apple: Rename _gl_context_modes_find_visual to glx_config_find_visual</li>
  <li>apple: Rename GLXcontext</li>
  <li>apple: Change from XExtDisplayInfo to struct glx_display</li>
  <li>apple: ifdef out come glapi-foo on darwin</li>
  <li>glx: Dead code removal</li>
  <li>apple: Build darwin using applegl rather than indirect</li>
  <li>apple: Fix build failures in applegl_glx.c</li>
  <li>darwin: Define GALLIUM_DRIVERS_DIRS in darwin config</li>
  <li>apple: Package applegl source into MesaLib tarball</li>
  <li>darwin: Set VG_LIB_{NAME,GLOB} to fix make install</li>
  <li>darwin: Don't link against libGL when building libOSMesa</li>
  <li>darwin: Fix VG_LIB_GLOB to also match the unversioned symlink</li>
  <li>osmesa: Fix missing symbols when GLX_INDIRECT_RENDERING is defined.</li>
</ul>

<p>José Fonseca (13):</p>
<ul>
  <li>llvmpipe: Update readme.</li>
  <li>mesa: GL_PROVOKING_VERTEX_EXT is a GLenum, not GLboolean.</li>
  <li>mesa: Fix GetVertexAttrib* inside display lists.</li>
  <li>draw: Fix draw_variant_output::format's type.</li>
  <li>gallivm: Tell LLVM to not assume a 16-byte aligned stack on x86.</li>
  <li>gallivm: Fix for dynamically linked LLVM 2.8 library.</li>
  <li>st/wgl: Adjust the pbuffer invisible window size.</li>
  <li>st/wgl: Fix debug output format specifiers of stw_framebuffer_get_size().</li>
  <li>st/wgl: Prevent spurious framebuffer sizes when the window is minimized.</li>
  <li>st/wgl: Cope with zero width/height windows.</li>
  <li>st/wgl: Allow to create pbuffers bigger than the desktop.</li>
  <li>st/wgl: Remove buggy assertion.</li>
  <li>wgl: Don't hold on to user supplied HDC.</li>
</ul>

<p>Kenneth Graunke (10):</p>
<ul>
  <li>i965/fs: Switch W and 1/W in Sandybridge interpolation setup.</li>
  <li>i965: Refactor Sandybridge implied move handling.</li>
  <li>i965: Resolve implied moves in brw_dp_READ_4_vs_relative.</li>
  <li>intel: Add IS_GT2 macro for recognizing Sandybridge GT2 systems.</li>
  <li>i965: Allocate the whole URB to the VS and fix calculations for Gen6.</li>
  <li>intel: Support glCopyTexImage() from ARGB8888 to XRGB8888.</li>
  <li>glsl: Fix memory error when creating the supported version string.</li>
  <li>glsl: Regenerate autogenerated file builtin_function.cpp.</li>
  <li>i965: Rename various gen6 #defines to match the documentation.</li>
  <li>i965: Never enable the GS on Gen6.</li>
</ul>

<p>Kostas Georgiou (1):</p>
<ul>
  <li>r600c/g: Add pci id for FirePro 2270</li>
</ul>

<p>Marek Olšák (18):</p>
<ul>
  <li>tgsi/ureg: bump the limit of immediates</li>
  <li>st/mesa: fix changing internal format via RenderbufferStorage</li>
  <li>st/mesa: GenerateMipmap should not be killed by conditional rendering</li>
  <li>swrast: BlitFramebuffer should not be killed by conditional rendering</li>
  <li>st/mesa: BlitFramebuffer should not be killed by conditional rendering</li>
  <li>st/mesa: CopyTex(Sub)Image should not be killed by conditional rendering</li>
  <li>st/mesa: conditional rendering should not kill texture decompression via blit</li>
  <li>mesa: forbid UseProgram to be called inside Begin/End</li>
  <li>mesa: UseShaderProgramEXT and Uniform* shouldn't be allowed inside Begin/End</li>
  <li>mesa: queries of non-existent FBO attachments should return INVALID_OPERATION</li>
  <li>r300g: fix draw_vbo splitting on r3xx-r4xx</li>
  <li>r300g: fix texturing with non-3D textures and wrap R mode set to sample border</li>
  <li>r300g: fix occlusion queries when depth test is disabled or zbuffer is missing</li>
  <li>r300g: clear can be killed by render condition</li>
  <li>st/mesa: remove asserts in st_texture_image_copy</li>
  <li>mesa: fix up assertion in _mesa_source_buffer_exists</li>
  <li>mesa: invalidate framebuffer if internal format of renderbuffer is changed</li>
  <li>mesa: return after invalidating renderbuffer</li>
</ul>

<p>Matt Turner (1):</p>
<ul>
  <li>r300/compiler: align memory allocations to 8-bytes</li>
</ul>

<p>Tom Stellard (3):</p>
<ul>
  <li>r300/compiler: Fix incorrect presubtract conversion</li>
  <li>r300/compiler: Fix dataflow analysis bug with ELSE blocks</li>
  <li>r300/compiler: Limit instructions to 3 source selects</li>
</ul>

<p>Vinson Lee (1):</p>
<ul>
  <li>gallivm: Disable MMX-disabling code on llvm-2.9.</li>
</ul>

<p>Zou Nan hai (1):</p>
<ul>
  <li>i965: Align interleaved URB write length to 2</li>
</ul>

<p>pepp (1):</p>
<ul>
  <li>st/mesa: assign renderbuffer's format field when allocating storage</li>
</ul>

</body>
</html>
