<!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.1.7 Release Notes / October 4, 2013</h1>

<p>
Mesa 9.1.7 is a bug fix release which fixes bugs found since the 9.1.6 release.
</p>
<p>
Mesa 9.1 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>
9e4abf7b7a6db762012c3c9917a8e8c7  MesaLib-9.1.7.tar.bz2
f1d4d479d6ce12b9566fdb379960a912  MesaLib-9.1.7.tar.gz
abd612bfc5dd478d04fcc630dd7672f2  MesaLib-9.1.7.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=55503">Bug 55503</a> - Constant vertex attributes broken</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=61635">Bug 61635</a> - glVertexAttribPointer(id, GL_UNSIGNED_BYTE, GL_FALSE,...) does not work</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=65958">Bug 65958</a> - GPU Lockup on Trinity 7500G</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=66292">Bug 66292</a> - [SNB/IVB/HSW Bisected]Ogles3conform GL3Tests_depth24_depth24_basic.test fail</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=67548">Bug 67548</a> - glGetAttribLocation seems to be broken</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=68195">Bug 68195</a> - piglit tests vs-struct-pad and fs-struct-pad both fail</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=68250">Bug 68250</a> - Automatic mipmap generation with texture compression produces borders that fade to black</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=69525">Bug 69525</a> - [GM45, bisected] Piglit tex-shadow2drect fails</li>

</ul>


<h2>Changes</h2>

<p>Alex Deucher (2):</p>
<ul>
  <li>r600g: disable GPUVM by default</li>
  <li>radeon/winsys: pad IBs to a multiple of 8 DWs</li>
</ul>

<p>Andreas Boll (2):</p>
<ul>
  <li>docs: Fix a typo in the 9.1.6 release notes</li>
  <li>mesa: Fix MESA_PATCH version</li>
</ul>

<p>Anuj Phogat (1):</p>
<ul>
  <li>meta: Fix blitting a framebuffer with renderbuffer attachment</li>
</ul>

<p>Carl Worth (5):</p>
<ul>
  <li>docs: Add 9.1.6 release md5sums</li>
  <li>Use -Bsymbolic when linking libEGL.so</li>
  <li>Update get-pick-list to look specifically for "9.1" in NOTE</li>
  <li>cherry-ignore: Ignore last two patches in current get-pick-list output</li>
  <li>Bump version to 9.1.7</li>
</ul>

<p>Chris Forbes (1):</p>
<ul>
  <li>i965/fs: Gen4: Zero out extra coordinates when using shadow compare</li>
</ul>

<p>Emil Velikov (2):</p>
<ul>
  <li>nv50: handle pure integer vertex attributes</li>
  <li>nouveau: initialise the nouveau_transfer maps</li>
</ul>

<p>Eric Anholt (1):</p>
<ul>
  <li>i965/gen4: Fix fragment program rectangle texture shadow compares.</li>
</ul>

<p>Ian Romanick (11):</p>
<ul>
  <li>mesa: Remove stray debug printfs in attachment completeness code</li>
  <li>mesa: Validate the layer selection of an array texture too</li>
  <li>mesa/vbo: Fix handling of attribute 0 in non-compatibilty contexts</li>
  <li>glsl: Add new overload of program_resource_visitor::visit_field method</li>
  <li>glsl: Use alignment of container record for its first field</li>
  <li>mesa: Remove all traces of GL_OES_matrix_get</li>
  <li>mesa: Don't call driver RenderTexture for really broken textures</li>
  <li>mesa: Don't call driver RenderTexture for invalid zoffset</li>
  <li>mesa: Generate a renderbuffer wrapper even if the texture has no image</li>
  <li>glsl: Move and refine test for unsized arrays in GLSL ES</li>
  <li>mesa: Don't return any data for GL_SHADER_BINARY_FORMATS</li>
</ul>

<p>Ilia Mirkin (2):</p>
<ul>
  <li>nv30: U8_USCALED only works for size 4</li>
  <li>nv30: remove no-longer-used formats from table</li>
</ul>

<p>Joakim Sindholt (1):</p>
<ul>
  <li>nvc0: fix blitctx memory leak</li>
</ul>

<p>Johannes Obermayr (1):</p>
<ul>
  <li>st/gbm: Add $(WAYLAND_CFLAGS) for HAVE_EGL_PLATFORM_WAYLAND.</li>
</ul>

<p>Kenneth Graunke (1):</p>
<ul>
  <li>meta: Set correct viewport and projection in decompress_texture_image.</li>
</ul>

<p>Maarten Lankhorst (1):</p>
<ul>
  <li>nvc0: restore viewport after blit</li>
</ul>

<p>Rico Schüller (1):</p>
<ul>
  <li>glx: Initialize OpenGL version to 1.0</li>
</ul>

<p>Tiziano Bacocco (1):</p>
<ul>
  <li>nvc0/ir: fix use after free in texture barrier insertion pass</li>
</ul>

<p>Torsten Duwe (1):</p>
<ul>
  <li>wayland-egl.pc requires wayland-client.pc.</li>
</ul>

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