<!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.3 Release Notes / April 17, 2016</h1>

<p>
Mesa 11.1.3 is a bug fix release which fixes bugs found since the 11.1.2 release.
</p>
<p>
Mesa 11.1.3 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>
9e86c72b6b2e8adb53c1c4a0002ab267b45094d753eb9404b1db34f81ce94ccf  mesa-11.1.3.tar.gz
51f6658a214d75e4d9f05207586d7ed56ebba75c6b10841176fb6675efa310ac  mesa-11.1.3.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=27512">Bug 27512</a> - Illegal instruction _mesa_x86_64_transform_points4_general</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91526">Bug 91526</a> - World of Warcraft (on Wine) has UI corruption with nouveau</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=92193">Bug 92193</a> - [SKL] ES2-CTS.gtf.GL2ExtensionTests.compressed_astc_texture.compressed_astc_texture fails</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93358">Bug 93358</a> - [HSW] Unreal Elemental demo - assertion error in copy_image_with_blitter</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93418">Bug 93418</a> - Geometry Shaders output wrong vertices on Sandy Bridge</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93524">Bug 93524</a> - Clover doesn't build</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93667">Bug 93667</a> - Crash in eglCreateImageKHR with huge texture size</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=93813">Bug 93813</a> - Incorrect viewport range when GL_CLIP_ORIGIN is GL_UPPER_LEFT</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=94050">Bug 94050</a> - test_vec4_register_coalesce regression</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=94073">Bug 94073</a> - Miscompilation of abs_vec3_vert_xvary_ref.vert in WebGL conformance</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=94088">Bug 94088</a> - [llvmpipe] SIGFPE pthread_barrier_destroy.c:40</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=94193">Bug 94193</a> - [llvmpipe] Line antialiasing looks different when GL_LINE_STIPPLE is enabled with pattern 0xffff</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=94195">Bug 94195</a> - [llvmpipe] Does not build with LLVM 3.7.x on Windows</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=94388">Bug 94388</a> - r600_blit.c:281: r600_decompress_depth_textures: Assertion `tex-&gt;is_depth &amp;&amp; !tex-&gt;is_flushing_texture' failed.</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=94412">Bug 94412</a> - Trine 3 misrender</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=94481">Bug 94481</a> - softpipe - access violation in img_filter_2d_nearest</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=94595">Bug 94595</a> - [Mesa AMD&amp;swrast] Texture views attached as framebuffers return their viewed tecture's color encoding and render incorrectly</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=94954">Bug 94954</a> - test_vec4_copy_propagation fails in `make check`</li>

</ul>


<h2>Changes</h2>

<p>Anuj Phogat (1):</p>
<ul>
  <li>i965: Fix assert conditions for src/dst x/y offsets</li>
</ul>

<p>Ben Widawsky (2):</p>
<ul>
  <li>i965: Make sure we blit a full compressed block</li>
  <li>i965/skl: Add two missing device IDs</li>
</ul>

<p>Brian Paul (1):</p>
<ul>
  <li>mesa: fix incorrect viewport position when GL_CLIP_ORIGIN = GL_LOWER_LEFT</li>
</ul>

<p>Chris Forbes (1):</p>
<ul>
  <li>i965/blorp: Fix hiz ops on MSAA surfaces</li>
</ul>

<p>Christian König (1):</p>
<ul>
  <li>radeon/uvd: disable MPEG1</li>
</ul>

<p>Christian Schmidbauer (1):</p>
<ul>
  <li>st/nine: specify WINAPI only for i386 and amd64</li>
</ul>

<p>Daniel Czarnowski (3):</p>
<ul>
  <li>egl_dri2: NULL check for xcb_dri2_get_buffers_reply()</li>
  <li>egl_dri2: set correct error code if swapbuffers fails</li>
  <li>egl: support EGL_LARGEST_PBUFFER in eglCreatePbufferSurface(...)</li>
</ul>

<p>Dave Airlie (1):</p>
<ul>
  <li>mesa/fbobject: propogate Layered when reusing attachments.</li>
</ul>

<p>Derek Foreman (1):</p>
<ul>
  <li>egl/wayland: Try to use wl_surface.damage_buffer for SwapBuffersWithDamage</li>
</ul>

<p>Dongwon Kim (1):</p>
<ul>
  <li>egl: move Null check to eglGetSyncAttribKHR to prevent Segfault</li>
</ul>

<p>Emil Velikov (10):</p>
<ul>
  <li>docs: add sha256 checksums for 11.1.2</li>
  <li>get-pick-list.sh: Require explicit "11.1" for nominating stable patches</li>
  <li>cherry-ignore: do not pick nv50/ir commit</li>
  <li>automake: add nine to make distcheck</li>
  <li>install-gallium-links: port changes from install-lib-links</li>
  <li>automake: add more missing options for make distcheck</li>
  <li>mesa; add get-extra-pick-list.sh script into bin/</li>
  <li>egl/x11: check the return value of xcb_dri2_get_buffers_reply()</li>
  <li>nvc/ir: remove duplicate variable declaration</li>
  <li>Update version to 11.1.3</li>
</ul>

<p>Francisco Jerez (4):</p>
<ul>
  <li>i965: Reupload push and pull constants when we get new shader image unit state.</li>
  <li>i965/fs: Add missing analysis invalidation in opt_sampler_eot().</li>
  <li>i965/fs: Add missing analysis invalidation in fixup_3src_null_dest().</li>
  <li>i965/vec4: Consider removal of no-op MOVs as progress during register coalesce.</li>
</ul>

<p>Ilia Mirkin (21):</p>
<ul>
  <li>nvc0/ir: fix converting between predicate and gpr</li>
  <li>nvc0: add some missing PUSH_SPACE's</li>
  <li>nvc0: avoid negatives in PUSH_SPACE argument</li>
  <li>glsl: make sure builtins are initialized before getting the shader</li>
  <li>glsl: return cloned signature, not the builtin one</li>
  <li>nv50/ir: fix quadop emission in the presence of predication</li>
  <li>st/mesa: fix up result_src.type when doing i2u/u2i conversions</li>
  <li>meta/copy_image: use precomputed dst_internal_format to avoid segfault</li>
  <li>st/mesa: force depth mode to GL_RED for sized depth/stencil formats</li>
  <li>glx: update to updated version of EXT_create_context_es2_profile</li>
  <li>nv50,nvc0: bump minimum texture buffer offset alignment</li>
  <li>nvc0: reset TFB bufctx when we no longer hold a reference to the buffers</li>
  <li>glsl: avoid stack smashing when there are too many attributes</li>
  <li>nvc0: fix blit triangle size to fully cover FB's &gt; 8192x8192</li>
  <li>nv50: reset TFB bufctx when we no longer hold a reference to the buffers</li>
  <li>nv50/ir: force-enable derivatives on TXD ops</li>
  <li>st/mesa: only minify depth for 3d targets</li>
  <li>nv50/ir: fix indirect texturing for non-array textures on nvc0</li>
  <li>nvc0/ir: fix picking of coordinates from tex instruction for textureGrad</li>
  <li>nvc0: disable primitive restart and index bias during blits</li>
  <li>nv50/ir: we can't load local memory directly into an output</li>
</ul>

<p>Jason Ekstrand (1):</p>
<ul>
  <li>nir/lower_vec_to_movs: Better report channels handled by insert_mov</li>
</ul>

<p>Kenneth Graunke (3):</p>
<ul>
  <li>mesa: Make glGet queries initialize ctx-&gt;Debug when necessary.</li>
  <li>mesa: Allow Get*() of several forgotten IsEnabled() pnames.</li>
  <li>i965: Only magnify depth for 3D textures, not array textures.</li>
</ul>

<p>Koop Mast (1):</p>
<ul>
  <li>st/clover: Add libelf cflags to the build</li>
</ul>

<p>Marc-André Lureau (1):</p>
<ul>
  <li>virtio_gpu: Add virtio 1.0 PCI ID to driver map</li>
</ul>

<p>Marek Olšák (3):</p>
<ul>
  <li>radeonsi: fix Hyper-Z on Stoney</li>
  <li>gallium/radeon: don't use temporary buffers for persistent mappings</li>
  <li>radeonsi: fix Hyper-Z hangs on P2 configs</li>
</ul>

<p>Matt Turner (3):</p>
<ul>
  <li>i965/vec4: don't copy ATTR into 3src instructions with complex swizzles</li>
  <li>i965/fs: Don't CSE negated multiplies with saturation.</li>
  <li>i965/vec4: Update vec4 unit tests for commit 01dacc83ff.</li>
</ul>

<p>Nanley Chery (2):</p>
<ul>
  <li>mesa/image: Make _mesa_clip_readpixels() work with renderbuffers</li>
  <li>mesa/readpix: Clip ReadPixels() area to the ReadBuffer's</li>
</ul>

<p>Nicolai Hähnle (2):</p>
<ul>
  <li>r600g: clear compressed_depthtex/colortex_mask when binding buffer texture</li>
  <li>st/mesa: use the texture view's format for render-to-texture</li>
</ul>

<p>Nishanth Peethambaran (2):</p>
<ul>
  <li>st/omx: Remove trailing spaces</li>
  <li>st/omx/dec: Correct the timestamping</li>
</ul>

<p>Oded Gabbay (8):</p>
<ul>
  <li>gallium/radeon: Correctly translate colorswaps for big endian</li>
  <li>llvmpipe: use vpkswss when dst is signed</li>
  <li>gallium/radeon: return correct values for BE in r600_translate_colorswap</li>
  <li>gallium/radeon: remove separate BE path in r600_translate_colorswap</li>
  <li>gallium/r600: Don't let h/w do endian swap for colorformat</li>
  <li>gallium/radeon: disable evergreen_do_fast_color_clear for BE</li>
  <li>r600g: Do colorformat endian swap for PIPE_USAGE_STAGING</li>
  <li>radeonsi: Do colorformat endian swap for PIPE_USAGE_STAGING</li>
</ul>

<p>Olivier Pena (1):</p>
<ul>
  <li>scons: support for LLVM 3.7.</li>
</ul>

<p>Patrick Baggett (1):</p>
<ul>
  <li>mesa: Use SSE prefetch instructions rather than 3DNow instructions</li>
</ul>

<p>Rob Herring (10):</p>
<ul>
  <li>Android: remove dependence on .SECONDEXPANSION</li>
  <li>Android: glsl: fix dependence on YACC_HEADER_SUFFIX from build system</li>
  <li>Android: add -Wno-date-time flag for clang</li>
  <li>Android: remove headers from LOCAL_SRC_FILES</li>
  <li>Android: clean-up and fix DRI module path handling</li>
  <li>freedreno: drop unnecessary -Wno-packed-bitfield-compat</li>
  <li>gallium/radeon: Add space between string literal and identifier</li>
  <li>r600: Make enum alu_op_flags unsigned</li>
  <li>virtio_gpu: Add PCI ID to driver map</li>
  <li>Android: fix x86 gallium builds</li>
</ul>

<p>Roland Scheidegger (2):</p>
<ul>
  <li>softpipe: fix anisotropic filtering crash</li>
  <li>draw: fix line stippling</li>
</ul>

<p>Samuel Pitoiset (1):</p>
<ul>
  <li>nvc0: make sure to delete samplers used by compute shaders</li>
</ul>

<p>Steinar H. Gunderson (1):</p>
<ul>
  <li>mesa: Fix locking of GLsync objects.</li>
</ul>

<p>Tamil velan (1):</p>
<ul>
  <li>radeon/uvd: increase max height to 4096 for VI and newer</li>
</ul>

<p>Thomas Hellstrom (2):</p>
<ul>
  <li>winsys/svga: Fix an uninitialized return value</li>
  <li>winsys/svga: Increase the fence timeout</li>
</ul>

<p>Vinson Lee (1):</p>
<ul>
  <li>llvmpipe: Do not use barriers if not using threads.</li>
</ul>

<p>xavier (1):</p>
<ul>
  <li>r600/sb: Do not distribute neg in expr_handler::fold_assoc() when folding multiplications.</li>
</ul>


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