<!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.4 Release Notes / November 21, 2014</h1>

<p>
Mesa 10.3.4 is a bug fix release which fixes bugs found since the 10.3.3 release.
</p>
<p>
Mesa 10.3.4 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>
26482495ef6177f889dbd87c7edcccfedd995598785bbbd7e3e066352574c8e0  MesaLib-10.3.4.tar.gz
e6373913142338d10515daf619d659433bfd2989988198930c13b0945a15e98a  MesaLib-10.3.4.tar.bz2
8c3ebbb6535daf3414305860ebca6ac67dbb6e3d35058c7a6ce18b84b5945b7f  MesaLib-10.3.4.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=76252">Bug 76252</a> - Dynamic loading/unloading of opengl32.dll results in a deadlock</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=78770">Bug 78770</a> - [SNB bisected]Webglc conformance/textures/texture-size-limit.html fails</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=83500">Bug 83500</a> - si_dma_copy_tile causes GPU hangs</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=85647">Bug 85647</a> - Random radeonsi crashes with mesa 10.3.x</li>

</ul>

<h2>Changes</h2>
<p>Brian Paul (1):</p>
<ul>
  <li>st/mesa: copy sampler_array_size field when copying instructions</li>
</ul>

<p>Chad Versace (1):</p>
<ul>
  <li>i965: Fix segfault in WebGL Conformance on Ivybridge</li>
</ul>

<p>Dave Airlie (5):</p>
<ul>
  <li>r600g/cayman: fix integer multiplication output overwrite (v2)</li>
  <li>r600g/cayman: fix texture gather tests</li>
  <li>r600g/cayman: handle empty vertex shaders</li>
  <li>r600g: geom shaders: always load texture src regs from inputs</li>
  <li>r600g: limit texture offset application to specific types (v2)</li>
</ul>

<p>Emil Velikov (3):</p>
<ul>
  <li>docs: Add sha256 sums for the 10.3.3 release</li>
  <li>configure.ac: roll up a program for the sse4.1 check</li>
  <li>get-pick-list.sh: Require explicit "10.3" for nominating stable patches</li>
</ul>

<p>Ilia Mirkin (1):</p>
<ul>
  <li>st/mesa: add a fallback for clear_with_quad when no vs_layer</li>
</ul>

<p>José Fonseca (1):</p>
<ul>
  <li>llvmpipe: Avoid deadlock when unloading opengl32.dll</li>
</ul>

<p>Kenneth Graunke (1):</p>
<ul>
  <li>i915g: we also have more than 0 viewports!</li>
</ul>

<p>Michel Dänzer (1):</p>
<ul>
  <li>radeonsi: Disable asynchronous DMA except for PIPE_BUFFER</li>
</ul>

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