<!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 11.1.4 Release Notes / May 9, 2016</h1>

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


<h2>SHA256 checksums</h2>
<pre>
034231fffb22621dadb8e4a968cb44752b8b68db7a2417568d63c275b3490cea  mesa-11.1.4.tar.gz
0f781e9072655305f576efd4204d183bf99ac8cb8d9e0dd9fc2b4093230a0eba  mesa-11.1.4.tar.xz
</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=92850">Bug 92850</a> - Segfault loading War Thunder</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93962">Bug 93962</a> - [HSW, regression, bisected, CTS] ES2-CTS.gtf.GL2FixedTests.scissor.scissor - segfault/asserts</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=94955">Bug 94955</a> - Uninitialized variables leads to random segfaults (valgrind log, apitrace attached)</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=94994">Bug 94994</a> - OSMesaGetProcAdress always fails on mangled OSMesa</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=95026">Bug 95026</a> - Alien Isolation segfault after initial loading screen/video</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=95133">Bug 95133</a> - X-COM Enemy Within crashes when entering tactical mission with Bonaire</li>

</ul>


<h2>Changes</h2>

<p>Brian Paul (1):</p>
<ul>
  <li>gallium/util: initialize pipe_framebuffer_state to zeros</li>
</ul>

<p>Chad Versace (1):</p>
<ul>
  <li>dri: Fix robust context creation via EGL attribute</li>
</ul>

<p>Egbert Eich (1):</p>
<ul>
  <li>dri2: Check for dummyContext to see if the glx_context is valid</li>
</ul>

<p>Emil Velikov (5):</p>
<ul>
  <li>docs: add sha256 checksums for 11.1.3</li>
  <li>cherry-ignore: add non-applicable "fix of a fix"</li>
  <li>cherry-ignore: ignore st_DrawAtlasBitmaps mem leak fix</li>
  <li>cherry-ignore: add CodeEmitterGK110::emitATOM() fix</li>
  <li>Update version to 11.1.4</li>
</ul>

<p>Eric Anholt (4):</p>
<ul>
  <li>vc4: Fix subimage accesses to LT textures.</li>
  <li>vc4: Add support for rendering to cube map surfaces.</li>
  <li>vc4: Fix tests for format supported with nr_samples == 1.</li>
  <li>vc4: Make sure we recompile when sample_mask changes.</li>
</ul>

<p>Frederic Devernay (1):</p>
<ul>
  <li>glapi: fix _glapi_get_proc_address() for mangled function names</li>
</ul>

<p>Jason Ekstrand (2):</p>
<ul>
  <li>i965/tiled_memcopy: Add aligned mem_copy parameters to the [de]tiling functions</li>
  <li>i965/tiled_memcpy: Rework the RGBA -&gt; BGRA mem_copy functions</li>
</ul>

<p>Jonathan Gray (1):</p>
<ul>
  <li>egl/x11: authenticate before doing chipset id ioctls</li>
</ul>

<p>Jose Fonseca (1):</p>
<ul>
  <li>winsys/sw/xlib: use correct free function for xlib_dt-&gt;data</li>
</ul>

<p>Leo Liu (1):</p>
<ul>
  <li>radeon/uvd: fix tonga feedback buffer size</li>
</ul>

<p>Marek Olšák (2):</p>
<ul>
  <li>drirc: add a workaround for blackness in Warsow</li>
  <li>st/mesa: fix blit-based GetTexImage for non-finalized textures</li>
</ul>

<p>Nicolai Hähnle (5):</p>
<ul>
  <li>radeonsi: fix bounds check in si_create_vertex_elements</li>
  <li>gallium/radeon: handle failure when mapping staging buffer</li>
  <li>st/glsl_to_tgsi: reduce stack explosion in recursive expression visitor</li>
  <li>gallium/radeon: fix crash in r600_set_streamout_targets</li>
  <li>radeonsi: correct NULL-pointer check in si_upload_const_buffer</li>
</ul>

<p>Oded Gabbay (4):</p>
<ul>
  <li>r600g/radeonsi: send endian info to format translation functions</li>
  <li>r600g: set endianess of 16/32-bit buffers according to do_endian_swap</li>
  <li>r600g: use do_endian_swap in color swapping functions</li>
  <li>r600g: use do_endian_swap in texture swapping function</li>
</ul>

<p>Roland Scheidegger (3):</p>
<ul>
  <li>llvmpipe: (trivial) initialize src1_alpha var to NULL</li>
  <li>gallivm: fix bogus argument order to lp_build_sample_mipmap function</li>
  <li>gallivm: make sampling more robust against bogus coordinates</li>
</ul>

<p>Samuel Pitoiset (5):</p>
<ul>
  <li>gk110/ir: make use of IMUL32I for all immediates</li>
  <li>nvc0/ir: fix wrong emission of (a OP b) OP c</li>
  <li>gk110/ir: add emission for (a OP b) OP c</li>
  <li>nvc0: reduce GL_MAX_3D_TEXTURE_SIZE to 2048 on Kepler+</li>
  <li>st/glsl_to_tgsi: fix potential crash when allocating temporaries</li>
</ul>

<p>Stefan Dirsch (1):</p>
<ul>
  <li>dri3: Check for dummyContext to see if the glx_context is valid</li>
</ul>

<p>Thomas Hindoe Paaboel Andersen (1):</p>
<ul>
  <li>st/va: avoid dereference after free in vlVaDestroyImage</li>
</ul>

<p>WuZhen (3):</p>
<ul>
  <li>tgsi: initialize stack allocated struct</li>
  <li>winsys/sw/dri: use correct free function for dri_sw_dt-&gt;data</li>
  <li>android: enable dlopen() on all architectures</li>
</ul>


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