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

<p>
Mesa 11.2.2 is a bug fix release which fixes bugs found since the 11.2.1 release.
</p>
<p>
Mesa 11.2.2 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>
e2453014cd2cc5337a5180cdeffe8cf24fffbb83e20a96888e2b01df868eaae6  mesa-11.2.2.tar.gz
40e148812388ec7c6d7b6657d5a16e2e8dabba8b97ddfceea5197947647bdfb4  mesa-11.2.2.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=93767">Bug 93767</a> - Glitches with soft shadows and MSAA in Knights of the Old Republic 2</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>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=95164">Bug 95164</a> - GLSL compiler (linker I think) emits assertion upon call to glAttachShader</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=95251">Bug 95251</a> - vdpau decoder capabilities: not supported</li>

</ul>


<h2>Changes</h2>

<p>Boyuan Zhang (1):</p>
<ul>
  <li>radeon/uvd: alignment fix for decode message buffer</li>
</ul>

<p>Brian Paul (2):</p>
<ul>
  <li>st/mesa: fix sampler view leak in st_DrawAtlasBitmaps()</li>
  <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.2.1</li>
  <li>docs: update the sha256 checksums for 11.2.1</li>
  <li>cherry-ignore: remove duplicate commit</li>
  <li>cherry-ignore: ignore the GetSamplerParameterIuiv{EXT,OES} fixups</li>
  <li>Update version to 11.2.2</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>Ilia Mirkin (2):</p>
<ul>
  <li>nvc0: fix retrieving query results into buffer for timestamps</li>
  <li>nouveau/video: properly detect the decoder class for availability checks</li>
</ul>

<p>Jason Ekstrand (1):</p>
<ul>
  <li>i965/fs: Properly report regs_written from SAMPLEINFO</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>Kenneth Graunke (3):</p>
<ul>
  <li>i965: Fix clear code for ignoring colormask for XRGB formats on Gen9+.</li>
  <li>glsl: Convert lower_vec_index_to_swizzle to a rvalue visitor.</li>
  <li>glsl: Lower vector_extracts to swizzles after lower_vector_derefs.</li>
</ul>

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

<p>Marek Olšák (1):</p>
<ul>
  <li>st/mesa: fix blit-based GetTexImage for non-finalized textures</li>
</ul>

<p>Nicolai Hähnle (5):</p>
<ul>
  <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>
  <li>radeonsi: work around an MSAA fast stencil clear problem</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>Patrick Rudolph (1):</p>
<ul>
  <li>r600g: fix and optimize tgsi_cmp when using ABS and NEG modifier</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 (6):</p>
<ul>
  <li>gk110/ir: do not overwrite def value with zero for EXCH ops</li>
  <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>Topi Pohjolainen (2):</p>
<ul>
  <li>i965/blorp/gen7: Prepare re-using for gen8</li>
  <li>i965/blorp: Use 8k chunk size for urb allocation</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>
