<!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>

<div class="header">
  <h1>The Mesa 3D Graphics Library</h1>
</div>

<iframe src="../contents.html"></iframe>
<div class="content">

<h1>Mesa 9.0.2 Release Notes / January 22th, 2013</h1>

<p>
Mesa 9.0.2 is a bug fix release which fixes bugs found since the 9.0.1 release.
</p>
<p>
Mesa 9.0 implements the OpenGL 3.1 API, but the version reported by
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
Some drivers don't support all the features required in OpenGL 3.1.  OpenGL
3.1 is <strong>only</strong> available if requested at context creation
because GL_ARB_compatibility is not supported.
</p>

<h2>MD5 checksums</h2>
<pre>
5ae216ca9fecfa349f14ecb83aa3f124  MesaLib-9.0.2.tar.gz
dc45d1192203e418163e0017640e1cfc  MesaLib-9.0.2.tar.bz2
93d40ec77d656dd04b561ba203ffbb91  MesaLib-9.0.2.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=22576">Bug 22576</a> - [KMS] mesa demo spectex broken on rv280</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=26809">Bug 26809</a> - KMS/R200: Bad shading in NWN since Mesa rewrite</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=45877">Bug 45877</a> - [bisected regression] Oglc fbo(negative.invalidParams3) Segmentation fault</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=54402">Bug 54402</a> - st_glsl_to_tgsi.cpp:4006:dst_register: Assertion `index &lt; VERT_RESULT_MAX' failed</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=55175">Bug 55175</a> - Memoryleak with glPopAttrib only on Intel GM45</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=56442">Bug 56442</a> - glcpp accepts junk after #else/#elif/#endif tokens</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=56706">Bug 56706</a> - EGL sets error to EGL_SUCCESS when DRI driver fails to create context</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=57622">Bug 57622</a> - Webgl conformance shader-with-non-reserved-words crash.</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=57842">Bug 57842</a> - r200: Culling is broken when rendering to an FBO</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=57984">Bug 57984</a> - r300g: blend sfactor=GL_DST_COLOR fails with FBOs</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=58545">Bug 58545</a> - [llvmpipe] src/gallium/auxiliary/gallivm/lp_bld_tgsi_info.c:75:analyse_src: Assertion `src-&gt;Index &lt; (sizeof(ctx-&gt;imm)/sizeof((ctx-&gt;imm)[0]))' failed.</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=59383">Bug 59383</a> - src/glsl/tests/Makefile.am missing $(top_srcdir)/include</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-9.0.1..mesa-9.0.2
</pre>

<p>Abdiel Janulgue (1):</p>
<ul>
  <li>mesa: Fix a crash in update_texture_state() for external texture type</li>
</ul>

<p>Adam Jackson (4):</p>
<ul>
  <li>glcpp: Fix visibility CFLAGS in automake</li>
  <li>glcpp: Typo fix.</li>
  <li>galahad, noop: Fix visibility CFLAGS in automake</li>
  <li>r300g: Fix visibility CFLAGS in automake</li>
</ul>

<p>Alex Deucher (2):</p>
<ul>
  <li>radeonsi: add some new SI pci ids</li>
  <li>radeonsi: add a new SI pci id</li>
</ul>

<p>Ander Conselvan de Oliveira (2):</p>
<ul>
  <li>egl/wayland: Don't invalidate drawable on swap buffers</li>
  <li>egl/wayland: Dispatch the event queue before get_buffers</li>
  <li>egl/wayland: Destroy the pending buffer callback with the egl surface</li>
</ul>

<p>Andreas Boll (9):</p>
<ul>
  <li>docs: fix release date of 9.0.1</li>
  <li>docs: add news item for 9.0.1 release</li>
  <li>Add .dirstamp to toplevel .gitignore</li>
  <li>build: use git ls-files for adding all Makefile.in into the release tarball</li>
  <li>build: Fix GLES linkage without libglapi</li>
  <li>Revert "r600g: try to fix streamout for the cases where BURST_COUNT &gt; 0"</li>
  <li>mesa: update .cherry-ignore list</li>
  <li>mesa: Bump version to 9.0.2</li>
  <li>docs: Add 9.0.2 release notes</li>
</ul>

<p>Anuj Phogat (2):</p>
<ul>
  <li>mesa: Generate invalid operation in glGenerateMipMap for integer textures</li>
  <li>meta: Remove redundant code in _mesa_meta_GenerateMipmap</li>
</ul>

<p>Ben Skeggs (3):</p>
<ul>
  <li>nvc0: fix missing permanent bo reference on poly cache</li>
  <li>nvc0: point vertex runout at a valid address</li>
  <li>nv50: point vertex runout at a valid address</li>
</ul>

<p>Brian Paul (5):</p>
<ul>
  <li>svga: don't use uninitialized framebuffer state</li>
  <li>st/mesa: replace REALLOC() with realloc()</li>
  <li>st/mesa: free TGSI tokens with ureg_free_tokens()</li>
  <li>util: added pipe_surface_release() function</li>
  <li>gallivm: support more immediates in lp_build_tgsi_info()</li>
</ul>

<p>Bryan Cain (1):</p>
<ul>
  <li>glsl_to_tgsi: set correct register type for array and structure elements</li>
</ul>

<p>Chad Versace (2):</p>
<ul>
  <li>i965: Validate requested GLES context version in brwCreateContext</li>
  <li>egl/dri2: Set error code when dri2CreateContextAttribs fails</li>
</ul>

<p>Chris Fester (1):</p>
<ul>
  <li>util: null-out the node's prev/next pointers in list_del()</li>
</ul>

<p>Christoph Bumiller (5):</p>
<ul>
  <li>nv50/ir/tgsi: fix srcMask for TXP with SHADOW1D</li>
  <li>nvc0: add missing call to map edge flag in push_vbo</li>
  <li>nv50/ir: wrap assertion using typeid in #ifndef NDEBUG</li>
  <li>nouveau: fix undefined behaviour when testing sample_count</li>
  <li>nv50/ir: restore use of long immediate encodings</li>
</ul>

<p>Dave Airlie (5):</p>
<ul>
  <li>r600g: fix lod bias/explicit lod with cube maps.</li>
  <li>glsl_to_tgsi: fix dst register for texturing fetches.</li>
  <li>glsl: fix cut-n-paste error in error handling. (v2)</li>
  <li>glsl: initialise killed_all field.</li>
  <li>glsl: fix uninitialised variable from constructor</li>
</ul>

<p>Eric Anholt (4):</p>
<ul>
  <li>mesa: Fix the core GL genned-name handling for glBindBufferBase()/Range().</li>
  <li>mesa: Fix core GL genned-name handling for glBeginQuery().</li>
  <li>mesa: Fix segfault on reading from a missing color read buffer.</li>
  <li>i965/gen4: Fix memory leak each time compile_gs_prog() is called.</li>
</ul>

<p>Ian Romanick (2):</p>
<ul>
  <li>docs: Add 9.0.1 release md5sums</li>
  <li>glsl: Don't add structure fields to the symbol table</li>
</ul>

<p>Johannes Obermayr (4):</p>
<ul>
  <li>clover: Install CL headers.</li>
  <li>gallium/auxiliary: Add -fno-rtti to CXXFLAGS on LLVM &gt;= 3.2.</li>
  <li>clover: Adapt libclc's INCLUDEDIR and LIBEXECDIR to make use of the new introduced libclc.pc.</li>
  <li>tests: AM_CPPFLAGS must include $(top_srcdir) instead of $(top_builddir).</li>
</ul>

<p>Jonas Ådahl (1):</p>
<ul>
  <li>wayland: Don't cancel a roundtrip when any event is received</li>
</ul>

<p>José Fonseca (1):</p>
<ul>
  <li>llvmpipe: Obey back writemask.</li>
</ul>

<p>Kenneth Graunke (8):</p>
<ul>
  <li>i965/vs: Fix unit mismatch in scratch base_offset parameter.</li>
  <li>i965/vs: Implement register spilling.</li>
  <li>mesa: Don't flatten IF statements by default.</li>
  <li>glcpp: Don't use infinite lookhead for #define differentiation.</li>
  <li>i965/vs: Don't lose the MRF writemask when doing compute-to-MRF.</li>
  <li>i965/vs: Preserve the type when copy propagating into an instruction.</li>
  <li>mesa: Fix glGetVertexAttribI[u]iv now that we have real integer attribs.</li>
  <li>i965: Fix AA Line Distance Mode in 3DSTATE_SF on Ivybridge.</li>
</ul>

<p>Kristian Høgsberg (1):</p>
<ul>
  <li>egl/wayland: Add invalidate back in eglSwapBuffers()</li>
</ul>

<p>Maarten Lankhorst (2):</p>
<ul>
  <li>makefiles: use configured name for -ldrm* where possible</li>
  <li>automake: strip LLVM_CXXFLAGS and LLVM_CPPFLAGS too</li>
</ul>

<p>Marek Olšák (17):</p>
<ul>
  <li>st/mesa: fix integer texture border color for some formats (v2)</li>
  <li>r300g: fix texture border color for sRGB formats</li>
  <li>mesa: bump MAX_VARYING to 32</li>
  <li>draw: fix assertion failure in draw_emit_vertex_attr</li>
  <li>vbo: fix glVertexAttribI* functions</li>
  <li>mesa: add MaxNumLevels to gl_texture_image, remove MaxLog2</li>
  <li>mesa: fix error checking of TexStorage(levels) for array and rect textures</li>
  <li>st/mesa: fix guessing the base level size</li>
  <li>st/mesa: fix computation of last_level during texture creation</li>
  <li>st/mesa: fix computation of last_level in GenerateMipmap</li>
  <li>r600g: fix streamout on RS780 and RS880</li>
  <li>r600g: advertise 32 streamout vec4 outputs</li>
  <li>r600g: fix broken streamout if streamout_begin caused a context flush</li>
  <li>mesa: fix BlitFramebuffer between linear and sRGB formats</li>
  <li>r600g: try to fix streamout for the cases where BURST_COUNT &gt; 0</li>
  <li>r600g: always use a tiled resource as the destination of MSAA resolve</li>
  <li>mesa: add MaxNumLevels to gl_texture_image, remove MaxLog2</li>
</ul>

<p>Mario Kleiner (1):</p>
<ul>
  <li>mesa: Don't glPopAttrib() GL_POINT_SPRITE_COORD_ORIGIN on &lt; OpenGL-2.0</li>
</ul>

<p>Matt Turner (1):</p>
<ul>
  <li>glcpp: Reject garbage after #else and #endif tokens</li>
</ul>

<p>Stefan Dösinger (1):</p>
<ul>
  <li>r300: Don't disable destination read if the src blend factor needs it</li>
</ul>

<p>Tapani Pälli (1):</p>
<ul>
  <li>android: generate matching remap_helper to dispatch table</li>
</ul>

<p>Tom Stellard (1):</p>
<ul>
  <li>r600g: Use LOOP_START_DX10 for loops</li>
</ul>

<p>Vinson Lee (1):</p>
<ul>
  <li>i915: Fix wrong sizeof argument in i915_update_tex_unit.</li>
</ul>

<p>smoki (2):</p>
<ul>
  <li>r200: fix broken tcl lighting</li>
  <li>radeon/r200: Fix tcl culling</li>
</ul>

</div>
</body>
</html>
