<!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 17.0.6 Release Notes / May 12, 2017</h1>

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


<h2>SHA256 checksums</h2>
<pre>
f1b2497d553e9a584f0caa3a2d9d310e27ead15fb0af170da69f6e70fb5031cd  mesa-17.0.6.tar.gz
89ecf3bcd0f18dcca5aaa42bf36bb52a2df33be89889f94aaaad91f7a504a69d  mesa-17.0.6.tar.xz
</pre>


<h2>New features</h2>
<p>None</p>


<h2>Bug fixes</h2>

<ul>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=98428">Bug 98428</a> - Undefined non-weak-symbol in dri-drivers</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=100854">Bug 100854</a> - YUV to RGB Color Space Conversion result is not precise</li>

</ul>


<h2>Changes</h2>

<p>Adam Jackson (1):</p>
<ul>
  <li>egl/platform/drm: Don't take display ownership until gbm is initialized</li>
</ul>

<p>Andres Gomez (7):</p>
<ul>
  <li>docs: add sha256 checksums for 17.0.5</li>
  <li>travis: replace Trusty-based LLVM toolchain apt-get with apt addon</li>
  <li>travis: add the possibility of using the txc-dxtn library</li>
  <li>cherry-ignore: 17.1 nominations only</li>
  <li>cherry-ignore: fix regression in descriptor set freeing.</li>
  <li>cherry-ignore: rejected commits</li>
  <li>Update version to 17.0.6</li>
</ul>

<p>Ben Boeckel (1):</p>
<ul>
  <li>scons: update for LLVM 4.0</li>
</ul>

<p>Brian Paul (1):</p>
<ul>
  <li>st/mesa: move duplicated st_ws_framebuffer() function into header file</li>
</ul>

<p>Chad Versace (3):</p>
<ul>
  <li>egl: Emit error when EGLSurface is lost</li>
  <li>egl/android: Cancel any outstanding ANativeBuffer in surface destructor</li>
  <li>egl/android: Mark surface as lost when dequeueBuffer fails</li>
</ul>

<p>Christian Gmeiner (1):</p>
<ul>
  <li>etnaviv: add L8A8_UNORM texture format</li>
</ul>

<p>Dave Airlie (2):</p>
<ul>
  <li>radv/wsi: report presentation error per image request</li>
  <li>radv: enable POLARIS12 support.</li>
</ul>

<p>Emil Velikov (21):</p>
<ul>
  <li>travis: correct libdrm required regex to also track libdrm itself</li>
  <li>travis: add nearly all gallium drivers to the list</li>
  <li>travis: use both cores for make/make check</li>
  <li>travis: bring the scons build on par with AppVeyor</li>
  <li>travis: explicitly LD_LIBRARY_PATH the local libraries</li>
  <li>travis: enable apt cache</li>
  <li>travis: automatically manage ccache caching</li>
  <li>travis: remove unused -dev packages</li>
  <li>travis: rework "if test" blocks in the script section</li>
  <li>travis: split out matrix from env</li>
  <li>travis: add separate "scons" and "scons llvm" targets</li>
  <li>travis: add "scons swr" to the build matrix</li>
  <li>travis: add "make swr" to the build matrix</li>
  <li>travis: split the make target to three separate ones</li>
  <li>travis: model scons check target like the make one</li>
  <li>travis: add Gallium state-tracker targets</li>
  <li>travis: enable wayland support</li>
  <li>travis: bump MAKEFLAGS to -j4</li>
  <li>gallium/dri: always link against shared glapi</li>
  <li>mesa/dri: always link against shared glapi</li>
  <li>glx: glX_proto_send.py: use correct compile guard GLX_INDIRECT_RENDERING</li>
</ul>

<p>Eric Anholt (1):</p>
<ul>
  <li>nir: Pick just the channels we want for bitmap and drawpixels lowering.</li>
</ul>

<p>Ilia Mirkin (1):</p>
<ul>
  <li>gallium/targets: fix bool setting on BE architectures</li>
</ul>

<p>Jason Ekstrand (1):</p>
<ul>
  <li>anv/cmd_buffer: Use the device allocator for QueueSubmit</li>
</ul>

<p>Johnson Lin (1):</p>
<ul>
  <li>nir/lower_tex: Fix minor error in YUV color conversion matrix</li>
</ul>

<p>Marek Olšák (2):</p>
<ul>
  <li>radeonsi: adjust ESGS ring buffer size computation on VI</li>
  <li>radeonsi: apply the tess+GS hang workaround to Polaris12 as well</li>
</ul>

<p>Nicolai Hähnle (1):</p>
<ul>
  <li>radeonsi: fix gl_PrimitiveID in tessellation with instanced draws on SI</li>
</ul>

<p>Philipp Zabel (3):</p>
<ul>
  <li>renderonly: close transfer prime_fd</li>
  <li>renderonly: drop resources on destroy</li>
  <li>renderonly: use drmIoctl</li>
</ul>

<p>Rhys Kidd (3):</p>
<ul>
  <li>travis: Support LLVM 3.8+ on Trusty-based Travis-CI via apt-get not apt addon</li>
  <li>travis: Add radv vulkan driver to continuous integration</li>
  <li>travis: Add radeonsi to continuous integration</li>
</ul>

<p>Rob Clark (1):</p>
<ul>
  <li>freedreno/a3xx: fix hang w/ large render targets and small gmem</li>
</ul>

<p>Samuel Iglesias Gonsálvez (5):</p>
<ul>
  <li>i965/vec4: fix vertical stride to avoid breaking region parameter rule</li>
  <li>i965/vec4: fix register width for DF VGRF and UNIFORM</li>
  <li>i965/vec4: don't modify regioning parameters to the sources of DF align1 instructions</li>
  <li>anv: anv_gem_mmap() returns MAP_FAILED as mapping error</li>
  <li>anv: vkBindImageMemory() should return VK_ERROR_OUT_OF_{HOST,DEVICE}_MEMORY on failure</li>
</ul>

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