<!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">
  The Mesa 3D Graphics Library
</div>

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

<h1>Mesa 10.2.6 Release Notes / August 19, 2014</h1>

<p>
Mesa 10.2.6 is a bug fix release which fixes bugs found since the 10.2.5 release.
</p>
<p>
Mesa 10.2.6 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>
193314d2adba98e43697d726739ac46b4299aae324fa1821aa226890c28ac806  MesaLib-10.2.6.tar.bz2
f7a45a5977b485eb95ac024205c584a0c112fe3951c2313c797579bb16a7a448  MesaLib-10.2.6.tar.gz
6d086d6fcda8f317adfaaae40011decf2f2e2dc80819c4a7a77c76f73512e8d8  MesaLib-10.2.6.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=81450">Bug 81450</a> - [BDW]Piglit spec_glsl-1.30_execution_tex-miplevel-selection_textureGrad_1DArray cases intel_do_flush_locked failed</li>

</ul>

<h2>Changes</h2>

<p>Anuj Phogat (15):</p>
<ul>
  <li>mesa: Fix error condition for valid texture targets in glTexStorage* functions</li>
  <li>mesa: Turn target_can_be_compressed() in to a utility function</li>
  <li>mesa: Add error condition for using compressed internalformat in glTexStorage3D()</li>
  <li>mesa: Fix condition for using compressed internalformat in glCompressedTexImage3D()</li>
  <li>mesa: Add utility function _mesa_is_enum_format_snorm()</li>
  <li>mesa: Don't allow snorm internal formats in glCopyTexImage*() in GLES3</li>
  <li>mesa: Add a helper function _mesa_is_enum_format_unsized()</li>
  <li>mesa: Add a gles3 error condition for sized internalformat in glCopyTexImage*()</li>
  <li>mesa: Add gles3 error condition for GL_RGBA10_A2 buffer format in glCopyTexImage*()</li>
  <li>mesa: Add utility function _mesa_is_enum_format_unorm()</li>
  <li>mesa: Add gles3 condition for normalized internal formats in glCopyTexImage*()</li>
  <li>mesa: Allow GL_TEXTURE_CUBE_MAP target with compressed internal formats</li>
  <li>meta: Use _mesa_get_format_bits() to get the GL_RED_BITS</li>
  <li>egl: Fix OpenGL ES version checks in _eglParseContextAttribList()</li>
  <li>meta: Fix datatype computation in get_temp_image_type()</li>
</ul>

<p>Brian Paul (1):</p>
<ul>
  <li>mesa: fix assertion in _mesa_drawbuffers()</li>
</ul>

<p>Carl Worth (2):</p>
<ul>
  <li>docs: Add sha256 sums to the 10.2.5 release notes</li>
  <li>Update VERSION to 10.2.6</li>
</ul>

<p>Ilia Mirkin (1):</p>
<ul>
  <li>mesa/st: only convert AND(a, NOT(b)) into MAD when not using native integers</li>
</ul>

<p>Jordan Justen (1):</p>
<ul>
  <li>i965/miptree: Layout 1D Array as 2D Array with height of 1</li>
</ul>

<p>Maarten Lankhorst (1):</p>
<ul>
  <li>configure.ac: Do not require llvm on x32</li>
</ul>

<p>Marek Olšák (4):</p>
<ul>
  <li>st/mesa: fix blit-based partial TexSubImage for 1D arrays</li>
  <li>radeon,r200: fix buffer validation after CS flush</li>
  <li>radeonsi: fix a hang with instancing in Unigine Heaven/Valley on Hawaii</li>
  <li>radeonsi: fix CMASK and HTILE allocation on Tahiti</li>
</ul>

<p>Pali Rohár (1):</p>
<ul>
  <li>configure: check for dladdr via AC_CHECK_FUNC/AC_CHECK_LIB</li>
</ul>

<p>Roland Scheidegger (1):</p>
<ul>
  <li>gallivm: fix up out-of-bounds level when using conformant out-of-bound behavior</li>
</ul>

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