<!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 10.3.1 Release Notes / October 12, 2014</h1>

<p>
Mesa 10.3.1 is a bug fix release which fixes bugs found since the 10.3 release.
</p>
<p>
Mesa 10.3.1 implements the OpenGL 3.3 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.3.  OpenGL
3.3 is <strong>only</strong> available if requested at context creation
because compatibility contexts are not supported.
</p>

<h2>SHA256 checksums</h2>
<pre>
155afcbad17be8bb80282c761b957d5cc716c14a1fa16c4f5ee04e76df729c6d  MesaLib-10.3.1.tar.gz
b081d077d717e5d56f2d59677490856052c41573e50378ff86d6c72456714add  MesaLib-10.3.1.tar.bz2
07a14febfed06412d519e091a62d24513fee6745f1a6f8a8f1956bfe04b77d15  MesaLib-10.3.1.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=79462">Bug 79462</a> - [NVC0/Codegen] Shader compilation falis in spill logic</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=82932">Bug 82932</a> - [SNB+ Bisected]Ogles3conform ES3-CTS.shaders.indexing.vector_subscript.vec3_static_loop_subscript_write_direct_read_vertex fails</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=83506">Bug 83506</a> - [UBO] row_major layout ignored inside structures</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=83533">Bug 83533</a> - [UBO] nested structures don't get appropriate padding</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=83570">Bug 83570</a> - Glyphy demo throws unhandled Integer division by zero exception</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=83741">Bug 83741</a> - [UBO] row_major layout partially ignored for arrays of structures</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=84178">Bug 84178</a> - Big glamor regression in Xorg server 1.6.99.1 GIT: x11perf 1.5 Test: PutImage XY 500x500 Square</li>

</ul>

<h2>Changes</h2>

<p>Andreas Pokorny (2):</p>
<ul>
  <li>egl/drm: expose KHR_image_pixmap extension</li>
  <li>i915: Fix black buffers when importing prime fds</li>
</ul>

<p>Brian Paul (1):</p>
<ul>
  <li>mesa: fix prog_optimize.c assertions triggered by SWZ opcode</li>
</ul>

<p>Emil Velikov (2):</p>
<ul>
  <li>docs: Add 10.3 sha256 sums, news item and link release notes</li>
  <li>Update VERSION to 10.3.1</li>
</ul>

<p>Ian Romanick (4):</p>
<ul>
  <li>glsl: Make sure fields after small structs have correct padding</li>
  <li>glsl: Make sure row-major array-of-structure get correct layout</li>
  <li>glsl: Round struct size up to at least 16 bytes</li>
  <li>glsl: Strip arrayness from ir_type_dereference_variable too</li>
</ul>

<p>Ilia Mirkin (5):</p>
<ul>
  <li>nv50/ir: avoid deleting pseudo instructions too early</li>
  <li>gm107/ir: fix manual TXD for array targets</li>
  <li>gm107/ir: fix texture argument order</li>
  <li>gm107/ir: add support for indirect const buffer selection</li>
  <li>gm107/ir: take relative pfetch offset into account</li>
</ul>

<p>Keith Packard (1):</p>
<ul>
  <li>glx/dri3: Provide error diagnostics when DRI3 allocation fails</li>
</ul>

<p>Kenneth Graunke (2):</p>
<ul>
  <li>mesa: Use proper structure for glGet*(GL_TEXTURE_COORD_ARRAY*).</li>
  <li>mesa: Set correct array element in vbo_exec_vtx_init.</li>
</ul>

<p>Marek Olšák (3):</p>
<ul>
  <li>radeonsi: release GS rings at context destruction</li>
  <li>radeonsi: properly destroy the GS copy shader and scratch_bo for compute</li>
  <li>st/dri: remove GALLIUM_MSAA and __GL_FSAA_MODE environment variables</li>
</ul>

<p>Michel Dänzer (1):</p>
<ul>
  <li>st/mesa: Use PIPE_USAGE_STAGING for GL_STATIC/DYNAMIC/STREAM_READ buffers</li>
</ul>

<p>Richard Sandiford (2):</p>
<ul>
  <li>mesa: Fix alpha component in unpack_R8G8B8X8_SRGB.</li>
  <li>swrast: Fix handling of MESA_FORMAT_L8A8_SRGB for big-endian</li>
</ul>

<p>Roland Scheidegger (1):</p>
<ul>
  <li>gallivm: fix idiv</li>
</ul>

<p>Thomas Hellstrom (1):</p>
<ul>
  <li>st/xa: Fix regression in xa_yuv_planar_blit()</li>
</ul>

<p>Tom Stellard (2):</p>
<ul>
  <li>clover: Add support to mem objects for multiple destructor callbacks v2</li>
  <li>configure.ac: Compute LLVM_VERSION_PATCH using llvm-config</li>
</ul>

<p>Tomasz Figa (3):</p>
<ul>
  <li>util: Include in Android builds</li>
  <li>st/mesa: Generate format_info.c in Android builds</li>
  <li>st/mesa: Fix paths used in Android builds</li>
</ul>

<p>rconde (1):</p>
<ul>
  <li>gallivm,tgsi: fix idiv by zero crash</li>
</ul>

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