Mesa 12.0.4 Release Notes / November 10, 2016
=============================================

Mesa 12.0.4 is a bug fix release which fixes bugs found since the 12.0.4
release.

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 **only** available if requested at context creation
because compatibility contexts are not supported.

SHA256 checksums
----------------

::

   22026ce4f1c6a7908b0d10ff057decec0a5633afe7f38a0cef5c08d0689f02a6 mesa-12.0.4.tar.gz
   5d6003da867d3f54e5000b4acdfc37e6cce5b6a4459274fdad73e24bd2f0065e mesa-12.0.4.tar.xz

New features
------------

None

Bug fixes
---------

This list is likely incomplete.

-  `Bug 71759 <https://bugs.freedesktop.org/show_bug.cgi?id=71759>`__ -
   Intel driver fails with "intel_do_flush_locked failed: No such file
   or directory" if buffer imported with EGL_NATIVE_PIXMAP_KHR
-  `Bug 94354 <https://bugs.freedesktop.org/show_bug.cgi?id=94354>`__ -
   R9285 Unigine Valley perf regression since radeonsi: use re-Z
-  `Bug 96770 <https://bugs.freedesktop.org/show_bug.cgi?id=96770>`__ -
   include/GL/mesa_glinterop.h:62: error: redefinition of typedef
   ‘GLXContext’
-  `Bug 97231 <https://bugs.freedesktop.org/show_bug.cgi?id=97231>`__ -
   GL_DEPTH_CLAMP doesn't clamp to the far plane
-  `Bug 97233 <https://bugs.freedesktop.org/show_bug.cgi?id=97233>`__ -
   vkQuake VkSpecializationMapEntry related bug
-  `Bug 97260 <https://bugs.freedesktop.org/show_bug.cgi?id=97260>`__ -
   R9 290 low performance in Linux 4.7
-  `Bug 97549 <https://bugs.freedesktop.org/show_bug.cgi?id=97549>`__ -
   [SNB, BXT] up to 40% perf drop from "loader/dri3: Overhaul
   dri3_update_num_back" commit
-  `Bug 97887 <https://bugs.freedesktop.org/show_bug.cgi?id=97887>`__ -
   llvm segfault in janusvr -render vive
-  `Bug 98025 <https://bugs.freedesktop.org/show_bug.cgi?id=98025>`__ -
   [radeonsi] incorrect primitive restart index used
-  `Bug 98134 <https://bugs.freedesktop.org/show_bug.cgi?id=98134>`__ -
   dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer.draw_buffers
   wants a different GL error code
-  `Bug 98326 <https://bugs.freedesktop.org/show_bug.cgi?id=98326>`__ -
   [dEQP, EGL] pbuffer depth/stencil tests fail

Changes
-------

Axel Davy (4):

-  gallium/util: Really allow aliasing of dst for u_box_union\_\*
-  st/nine: Fix the calculation of the number of vs inputs
-  st/nine: Fix mistake in Volume9 UnlockBox
-  st/nine: Fix locking CubeTexture surfaces.

Brendan King (1):

-  configure.ac: fix the name of the Wayland Scanner pc file

Brian Paul (1):

-  st/mesa: fix swizzle issue in st_create_sampler_view_from_stobj()

Chad Versace (3):

-  egl: Fix truncation error in \_eglParseSyncAttribList64
-  i965/sync: Fix uninitalized usage and leak of mutex
-  egl: Don't advertise unsupported platform extensions

Chuanbo Weng (1):

-  gbm: fix potential NULL deref of mapImage/unmapImage.

Chuck Atkins (1):

-  autoconf: Make header install distinct for various APIs (v2)

Dave Airlie (3):

-  anv: initialise and increment send_sbc
-  anv/wsi: fix apps that acquire multiple images up front
-  Revert "st/vdpau: use linear layout for output surfaces"

Emil Velikov (12):

-  docs: add sha256 checksums for 12.0.3
-  cherry-ignore: add non-applicable i965 commit
-  cherry-ignore: add vaapi encode fix
-  cherry-ignore: add EGL_KHR_debug fix
-  cherry-ignore: add update_renderbuffer_read_surfaces()
-  isl/gen6: correctly check msaa layout samples count
-  egl/x11: don't crash if dri2_dpy->conn is NULL
-  get-pick-list.sh: Require explicit "12.0" for nominating stable
   patches
-  automake: don't forget to pick wglext.h in the tarball
-  cherry-ignore: add N/A EGL revert
-  cherry-ignore: add ClientWaitSync fixes
-  Update version to 12.0.4

Eric Anholt (5):

-  travis: Parse configure.ac to pick an updated LIBDRM_VERSION.
-  travis: Update to the Ubuntu Trusty image.
-  travis: Enable vc4 in libdrm to satisfy vc4 test build dependency.
-  travis: Upgrade LLVM dependency to 3.5 and enable LLVM drivers.
-  gallium: Fix install-gallium-links.mk on non-bash /bin/sh

Hans de Goede (1):

-  pipe_loader_sw: Fix fd leak when instantiated via
   pipe_loader_sw_probe_kms

Ian Romanick (1):

-  glsl: Fix cut-and-paste bug in hierarchical visitor
   ir_expression::accept

Ilia Mirkin (16):

-  nv30: set usage to staging so that the buffer is allocated in GART
-  a3xx: make sure to actually clamp depth as requested
-  a3xx: make use of software clipping when hw can't handle it
-  a3xx: use window scissor to simulate viewport xy clip
-  main: GL_RGB10_A2UI does not come with GL 3.0/EXT_texture_integer
-  mesa/formatquery: limit ES target support, fix core context support
-  nir: fix definition of pack_uvec2_to_uint
-  gm107/ir: AL2P writes to a predicate register
-  st/mesa: fix is_scissor_enabled when X/Y are negative
-  nvc0/ir: fix overwriting of value backing non-constant gather offset
-  nv50/ir: copy over value's register id when resolving merge of a phi
-  nvc0/ir: fix textureGather with a single offset
-  gm107/ir: fix texturing with indirect samplers
-  gm107/ir: fix bit offset of tex lod setting for indirect texturing
-  nv50,nvc0: avoid reading out of bounds when getting bogus so info
-  nv50/ir: process texture offset sources as regular sources

James Legg (1):

-  radeonsi: Fix primitive restart when index changes

Faith Ekstrand (9):

-  nir/spirv: Swap the argument order for AtomicCompareExchange
-  nir/spirv: Use the correct sources for CompareExchange on images
-  nir/spirv: Break variable decoration handling into a helper
-  nir/spirv: Refactor variable deocration handling
-  nir/spirv/cfg: Handle switches whose break block is a loop continue
-  nir/spirv/cfg: Detect switch_break after loop_break/continue
-  nir: Add a nop intrinsic
-  nir/spirv/cfg: Use a nop intrinsic for tagging the ends of blocks
-  intel/blorp: Rework our usage of ralloc when compiling shaders

Jonathan Gray (3):

-  genxml: add generated headers to EXTRA_DIST
-  mapi: automake: set VISIBILITY_CFLAGS for shared glapi
-  mesa: automake: include mesa_glinterop.h in distfile

Julien Isorce (1):

-  st/va: also honors interlaced preference when providing a video
   format

Kenneth Graunke (8):

-  nir: Call nir_metadata_preserve from nir_lower_alu_to_scalar().
-  mesa: Expose RESET_NOTIFICATION_STRATEGY with KHR_robustness.
-  i965: Fix missing \_NEW_TRANSFORM in Gen8+ 3DSTATE_DS atom.
-  i965: Add missing BRW_NEW_VS_PROG_DATA to 3DSTATE_CLIP.
-  i965: Move BRW_NEW_FRAGMENT_PROGRAM from 3DSTATE_PS to PS_EXTRA.
-  i965: Add missing BRW_NEW_CS_PROG_DATA to compute constant atom.
-  i965: Add missing BRW_CS_PROG_DATA to CS work group surface atom.
-  i965: Fix gl_InvocationID in dual object GS where invocations == 1.

Marek Olšák (12):

-  radeonsi: fix cubemaps viewed as 2D
-  radeonsi: take compute shader and dispatch indirect memory usage into
   account
-  radeonsi: fix FP64 UBO loads with indirect uniform block indexing
-  mesa: fix glGetFramebufferAttachmentParameteriv w/ on-demand
   FRONT_BACK alloc
-  radeonsi: fix interpolateAt opcodes for .zw components
-  radeonsi: fix texture border colors for compute shaders
-  radeonsi: disable ReZ
-  gallium/radeon: make sure the address of separate CMASK is aligned
   properly
-  winsys/amdgpu: fix radeon_surf::macro_tile_index for imported
   textures
-  egl: use util/macros.h
-  egl: make interop ABI visible again
-  glx: make interop ABI visible again

Mario Kleiner (1):

-  glx: Perform check for valid fbconfig against proper X-Screen.

Martin Peres (2):

-  loader/dri3: add get_dri_screen() to the vtable
-  loader/dri3: import prime buffers in the currently-bound screen

Matt Whitlock (5):

-  egl/android: replace call to dup(2) with fcntl(F_DUPFD_CLOEXEC)
-  gallium/auxiliary: replace call to dup(2) with fcntl(F_DUPFD_CLOEXEC)
-  st/dri: replace calls to dup(2) with fcntl(F_DUPFD_CLOEXEC)
-  st/xa: replace call to dup(2) with fcntl(F_DUPFD_CLOEXEC)
-  gallium/winsys: replace calls to dup(2) with fcntl(F_DUPFD_CLOEXEC)

Max Staudt (1):

-  r300g: Set R300_VAP_CNTL on RSxxx to avoid triangle flickering

Michel Dänzer (1):

-  loader/dri3: Overhaul dri3_update_num_back

Nicholas Bishop (2):

-  gbm: return appropriate error when queryImage() fails
-  st/dri: check pipe_screen->resource_get_handle() return value

Nicolai Hähnle (10):

-  gallium/radeon: cleanup and fix branch emits
-  st/glsl_to_tgsi: disable on-the-fly peephole for 64-bit operations
-  st/glsl_to_tgsi: simplify translate_tex_offset
-  st/glsl_to_tgsi: fix textureGatherOffset with indirectly loaded
   offsets
-  st/mesa: fix vertex elements setup for doubles
-  radeonsi: fix indirect loads of 64 bit constants
-  st/glsl_to_tgsi: fix atomic counter addressing
-  st/glsl_to_tgsi: fix block copies of arrays of doubles
-  st/mesa: only set primitive_restart when the restart index is in
   range
-  radeonsi: fix 64-bit loads from LDS

Samuel Pitoiset (4):

-  nvc0/ir: fix subops for IMAD
-  gk110/ir: fix wrong emission of OP_NOT
-  nvc0: use correct bufctx when invalidating CP textures
-  nvc0/ir: fix emission of IMAD with NEG modifiers

Stencel, Joanna (1):

-  egl/wayland: add missing destroy_window callback

Tapani Pälli (5):

-  egl: stop claiming support for pbuffer + msaa
-  egl/dri2: set max values for pbuffer width and height
-  egl: add check that eglCreateContext gets a valid config
-  mesa: fix error handling in DrawBuffers
-  egl: set preserved behavior for surface only if config supports it

Tim Rowley (1):

-  configure.ac: add llvm inteljitevents component if enabled

Vedran Miletić (1):

-  clover: Fix build against clang SVN >= r273191

Vinson Lee (1):

-  Revert "mesa_glinterop: remove inclusion of GLX header"
