--- /dev/null
+<!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 12.0.4 Release Notes / November 10, 2016</h1>
+
+<p>
+Mesa 12.0.4 is a bug fix release which fixes bugs found since the 12.0.4 release.
+</p>
+<p>
+Mesa 12.0.4 implements the OpenGL 4.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 4.3. OpenGL
+4.3 is <strong>only</strong> available if requested at context creation
+because compatibility contexts are not supported.
+</p>
+
+
+<h2>SHA256 checksums</h2>
+<pre>
+TBD
+</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=71759">Bug 71759</a> - Intel driver fails with "intel_do_flush_locked failed: No such file or directory" if buffer imported with EGL_NATIVE_PIXMAP_KHR</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=94354">Bug 94354</a> - R9285 Unigine Valley perf regression since radeonsi: use re-Z</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=96770">Bug 96770</a> - include/GL/mesa_glinterop.h:62: error: redefinition of typedef ‘GLXContext’</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=97231">Bug 97231</a> - GL_DEPTH_CLAMP doesn't clamp to the far plane</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=97233">Bug 97233</a> - vkQuake VkSpecializationMapEntry related bug</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=97260">Bug 97260</a> - R9 290 low performance in Linux 4.7</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=97549">Bug 97549</a> - [SNB, BXT] up to 40% perf drop from "loader/dri3: Overhaul dri3_update_num_back" commit</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=97887">Bug 97887</a> - llvm segfault in janusvr -render vive</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=98025">Bug 98025</a> - [radeonsi] incorrect primitive restart index used</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=98134">Bug 98134</a> - dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer.draw_buffers wants a different GL error code</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=98326">Bug 98326</a> - [dEQP, EGL] pbuffer depth/stencil tests fail</li>
+
+</ul>
+
+
+<h2>Changes</h2>
+
+<p>Axel Davy (4):</p>
+<ul>
+ <li>gallium/util: Really allow aliasing of dst for u_box_union_*</li>
+ <li>st/nine: Fix the calculation of the number of vs inputs</li>
+ <li>st/nine: Fix mistake in Volume9 UnlockBox</li>
+ <li>st/nine: Fix locking CubeTexture surfaces.</li>
+</ul>
+
+<p>Brendan King (1):</p>
+<ul>
+ <li>configure.ac: fix the name of the Wayland Scanner pc file</li>
+</ul>
+
+<p>Brian Paul (1):</p>
+<ul>
+ <li>st/mesa: fix swizzle issue in st_create_sampler_view_from_stobj()</li>
+</ul>
+
+<p>Chad Versace (3):</p>
+<ul>
+ <li>egl: Fix truncation error in _eglParseSyncAttribList64</li>
+ <li>i965/sync: Fix uninitalized usage and leak of mutex</li>
+ <li>egl: Don't advertise unsupported platform extensions</li>
+</ul>
+
+<p>Chuanbo Weng (1):</p>
+<ul>
+ <li>gbm: fix potential NULL deref of mapImage/unmapImage.</li>
+</ul>
+
+<p>Chuck Atkins (1):</p>
+<ul>
+ <li>autoconf: Make header install distinct for various APIs (v2)</li>
+</ul>
+
+<p>Dave Airlie (3):</p>
+<ul>
+ <li>anv: initialise and increment send_sbc</li>
+ <li>anv/wsi: fix apps that acquire multiple images up front</li>
+ <li>Revert "st/vdpau: use linear layout for output surfaces"</li>
+</ul>
+
+<p>Emil Velikov (12):</p>
+<ul>
+ <li>docs: add sha256 checksums for 12.0.3</li>
+ <li>cherry-ignore: add non-applicable i965 commit</li>
+ <li>cherry-ignore: add vaapi encode fix</li>
+ <li>cherry-ignore: add EGL_KHR_debug fix</li>
+ <li>cherry-ignore: add update_renderbuffer_read_surfaces()</li>
+ <li>isl/gen6: correctly check msaa layout samples count</li>
+ <li>egl/x11: don't crash if dri2_dpy->conn is NULL</li>
+ <li>get-pick-list.sh: Require explicit "12.0" for nominating stable patches</li>
+ <li>automake: don't forget to pick wglext.h in the tarball</li>
+ <li>cherry-ignore: add N/A EGL revert</li>
+ <li>cherry-ignore: add ClientWaitSync fixes</li>
+ <li>Update version to 12.0.4</li>
+</ul>
+
+<p>Eric Anholt (5):</p>
+<ul>
+ <li>travis: Parse configure.ac to pick an updated LIBDRM_VERSION.</li>
+ <li>travis: Update to the Ubuntu Trusty image.</li>
+ <li>travis: Enable vc4 in libdrm to satisfy vc4 test build dependency.</li>
+ <li>travis: Upgrade LLVM dependency to 3.5 and enable LLVM drivers.</li>
+ <li>gallium: Fix install-gallium-links.mk on non-bash /bin/sh</li>
+</ul>
+
+<p>Hans de Goede (1):</p>
+<ul>
+ <li>pipe_loader_sw: Fix fd leak when instantiated via pipe_loader_sw_probe_kms</li>
+</ul>
+
+<p>Ian Romanick (1):</p>
+<ul>
+ <li>glsl: Fix cut-and-paste bug in hierarchical visitor ir_expression::accept</li>
+</ul>
+
+<p>Ilia Mirkin (16):</p>
+<ul>
+ <li>nv30: set usage to staging so that the buffer is allocated in GART</li>
+ <li>a3xx: make sure to actually clamp depth as requested</li>
+ <li>a3xx: make use of software clipping when hw can't handle it</li>
+ <li>a3xx: use window scissor to simulate viewport xy clip</li>
+ <li>main: GL_RGB10_A2UI does not come with GL 3.0/EXT_texture_integer</li>
+ <li>mesa/formatquery: limit ES target support, fix core context support</li>
+ <li>nir: fix definition of pack_uvec2_to_uint</li>
+ <li>gm107/ir: AL2P writes to a predicate register</li>
+ <li>st/mesa: fix is_scissor_enabled when X/Y are negative</li>
+ <li>nvc0/ir: fix overwriting of value backing non-constant gather offset</li>
+ <li>nv50/ir: copy over value's register id when resolving merge of a phi</li>
+ <li>nvc0/ir: fix textureGather with a single offset</li>
+ <li>gm107/ir: fix texturing with indirect samplers</li>
+ <li>gm107/ir: fix bit offset of tex lod setting for indirect texturing</li>
+ <li>nv50,nvc0: avoid reading out of bounds when getting bogus so info</li>
+ <li>nv50/ir: process texture offset sources as regular sources</li>
+</ul>
+
+<p>James Legg (1):</p>
+<ul>
+ <li>radeonsi: Fix primitive restart when index changes</li>
+</ul>
+
+<p>Jason Ekstrand (9):</p>
+<ul>
+ <li>nir/spirv: Swap the argument order for AtomicCompareExchange</li>
+ <li>nir/spirv: Use the correct sources for CompareExchange on images</li>
+ <li>nir/spirv: Break variable decoration handling into a helper</li>
+ <li>nir/spirv: Refactor variable deocration handling</li>
+ <li>nir/spirv/cfg: Handle switches whose break block is a loop continue</li>
+ <li>nir/spirv/cfg: Detect switch_break after loop_break/continue</li>
+ <li>nir: Add a nop intrinsic</li>
+ <li>nir/spirv/cfg: Use a nop intrinsic for tagging the ends of blocks</li>
+ <li>intel/blorp: Rework our usage of ralloc when compiling shaders</li>
+</ul>
+
+<p>Jonathan Gray (3):</p>
+<ul>
+ <li>genxml: add generated headers to EXTRA_DIST</li>
+ <li>mapi: automake: set VISIBILITY_CFLAGS for shared glapi</li>
+ <li>mesa: automake: include mesa_glinterop.h in distfile</li>
+</ul>
+
+<p>Julien Isorce (1):</p>
+<ul>
+ <li>st/va: also honors interlaced preference when providing a video format</li>
+</ul>
+
+<p>Kenneth Graunke (8):</p>
+<ul>
+ <li>nir: Call nir_metadata_preserve from nir_lower_alu_to_scalar().</li>
+ <li>mesa: Expose RESET_NOTIFICATION_STRATEGY with KHR_robustness.</li>
+ <li>i965: Fix missing _NEW_TRANSFORM in Gen8+ 3DSTATE_DS atom.</li>
+ <li>i965: Add missing BRW_NEW_VS_PROG_DATA to 3DSTATE_CLIP.</li>
+ <li>i965: Move BRW_NEW_FRAGMENT_PROGRAM from 3DSTATE_PS to PS_EXTRA.</li>
+ <li>i965: Add missing BRW_NEW_CS_PROG_DATA to compute constant atom.</li>
+ <li>i965: Add missing BRW_CS_PROG_DATA to CS work group surface atom.</li>
+ <li>i965: Fix gl_InvocationID in dual object GS where invocations == 1.</li>
+</ul>
+
+<p>Marek Olšák (12):</p>
+<ul>
+ <li>radeonsi: fix cubemaps viewed as 2D</li>
+ <li>radeonsi: take compute shader and dispatch indirect memory usage into account</li>
+ <li>radeonsi: fix FP64 UBO loads with indirect uniform block indexing</li>
+ <li>mesa: fix glGetFramebufferAttachmentParameteriv w/ on-demand FRONT_BACK alloc</li>
+ <li>radeonsi: fix interpolateAt opcodes for .zw components</li>
+ <li>radeonsi: fix texture border colors for compute shaders</li>
+ <li>radeonsi: disable ReZ</li>
+ <li>gallium/radeon: make sure the address of separate CMASK is aligned properly</li>
+ <li>winsys/amdgpu: fix radeon_surf::macro_tile_index for imported textures</li>
+ <li>egl: use util/macros.h</li>
+ <li>egl: make interop ABI visible again</li>
+ <li>glx: make interop ABI visible again</li>
+</ul>
+
+<p>Mario Kleiner (1):</p>
+<ul>
+ <li>glx: Perform check for valid fbconfig against proper X-Screen.</li>
+</ul>
+
+<p>Martin Peres (2):</p>
+<ul>
+ <li>loader/dri3: add get_dri_screen() to the vtable</li>
+ <li>loader/dri3: import prime buffers in the currently-bound screen</li>
+</ul>
+
+<p>Matt Whitlock (5):</p>
+<ul>
+ <li>egl/android: replace call to dup(2) with fcntl(F_DUPFD_CLOEXEC)</li>
+ <li>gallium/auxiliary: replace call to dup(2) with fcntl(F_DUPFD_CLOEXEC)</li>
+ <li>st/dri: replace calls to dup(2) with fcntl(F_DUPFD_CLOEXEC)</li>
+ <li>st/xa: replace call to dup(2) with fcntl(F_DUPFD_CLOEXEC)</li>
+ <li>gallium/winsys: replace calls to dup(2) with fcntl(F_DUPFD_CLOEXEC)</li>
+</ul>
+
+<p>Max Staudt (1):</p>
+<ul>
+ <li>r300g: Set R300_VAP_CNTL on RSxxx to avoid triangle flickering</li>
+</ul>
+
+<p>Michel Dänzer (1):</p>
+<ul>
+ <li>loader/dri3: Overhaul dri3_update_num_back</li>
+</ul>
+
+<p>Nicholas Bishop (2):</p>
+<ul>
+ <li>gbm: return appropriate error when queryImage() fails</li>
+ <li>st/dri: check pipe_screen->resource_get_handle() return value</li>
+</ul>
+
+<p>Nicolai Hähnle (10):</p>
+<ul>
+ <li>gallium/radeon: cleanup and fix branch emits</li>
+ <li>st/glsl_to_tgsi: disable on-the-fly peephole for 64-bit operations</li>
+ <li>st/glsl_to_tgsi: simplify translate_tex_offset</li>
+ <li>st/glsl_to_tgsi: fix textureGatherOffset with indirectly loaded offsets</li>
+ <li>st/mesa: fix vertex elements setup for doubles</li>
+ <li>radeonsi: fix indirect loads of 64 bit constants</li>
+ <li>st/glsl_to_tgsi: fix atomic counter addressing</li>
+ <li>st/glsl_to_tgsi: fix block copies of arrays of doubles</li>
+ <li>st/mesa: only set primitive_restart when the restart index is in range</li>
+ <li>radeonsi: fix 64-bit loads from LDS</li>
+</ul>
+
+<p>Samuel Pitoiset (4):</p>
+<ul>
+ <li>nvc0/ir: fix subops for IMAD</li>
+ <li>gk110/ir: fix wrong emission of OP_NOT</li>
+ <li>nvc0: use correct bufctx when invalidating CP textures</li>
+ <li>nvc0/ir: fix emission of IMAD with NEG modifiers</li>
+</ul>
+
+<p>Stencel, Joanna (1):</p>
+<ul>
+ <li>egl/wayland: add missing destroy_window callback</li>
+</ul>
+
+<p>Tapani Pälli (5):</p>
+<ul>
+ <li>egl: stop claiming support for pbuffer + msaa</li>
+ <li>egl/dri2: set max values for pbuffer width and height</li>
+ <li>egl: add check that eglCreateContext gets a valid config</li>
+ <li>mesa: fix error handling in DrawBuffers</li>
+ <li>egl: set preserved behavior for surface only if config supports it</li>
+</ul>
+
+<p>Tim Rowley (1):</p>
+<ul>
+ <li>configure.ac: add llvm inteljitevents component if enabled</li>
+</ul>
+
+<p>Vedran Miletić (1):</p>
+<ul>
+ <li>clover: Fix build against clang SVN >= r273191</li>
+</ul>
+
+<p>Vinson Lee (1):</p>
+<ul>
+ <li>Revert "mesa_glinterop: remove inclusion of GLX header"</li>
+</ul>
+
+
+</div>
+</body>
+</html>