Mesa 19.2.3 Release Notes / 2019-11-06
======================================

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

Mesa 19.2.3 implements the OpenGL 4.5 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.5. OpenGL 4.5 is **only** available if requested at context creation.
Compatibility contexts may report a lower version depending on each
driver.

Mesa 19.2.3 implements the Vulkan 1.1 API, but the version reported by
the apiVersion property of the VkPhysicalDeviceProperties struct depends
on the particular driver being used.

SHA256 checksum
---------------

::

       5ee6e42504fe41dcc9a6eba26982656a675b2550a640946f463927ed7f1c5047  mesa-19.2.3.tar.xz

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

-  None

Bug fixes
---------

-  19.2.2 fails mesa:util / timespec test on x86
-  Objects leaving trails in Firefox with antialias and
   preserveDrawingBuffer in three.js WebGLRednerer with mesa 19.2
-  glLinkProgram crash when using gcc-9 -O3 -flto due to use of
   uninitialised value

Changes
-------

Bas Nieuwenhuizen (4):

-  radv: Fix timeout handling in syncobj wait.
-  radv: Remove \_mesa_locale_init/fini calls.
-  turnip: Remove \_mesa_locale_init/fini calls.
-  anv: Remove \_mesa_locale_init/fini calls.

Caio Marcelo de Oliveira Filho (1):

-  anv: Fix output of INTEL_DEBUG=bat for chained batches

Danylo Piliaiev (1):

-  glsl: Initialize all fields of ir_variable in constructor

Dylan Baker (11):

-  bin/gen_release_notes.py: fix conditional of bugfix
-  bin/gen_release_notes.py: strip '#' from gitlab bugs
-  bin/gen_release_notes.py: Return "None" if there are no new features
-  bin/post_version.py: Pass version as an argument
-  bin/post_version.py: white space fixes
-  bin/post_release.py: Add .html to hrefs
-  bin/gen_release_notes.py: html escape all external data
-  bin/gen_release_notes.py: Add a warning if new features are
   introduced in a point release
-  cherry-ignore: update for 19.2.3 cycle
-  nir: correct use of identity check in python
-  meson: Add dep_glvnd to egl deps when building with glvnd

Ilia Mirkin (1):

-  nv50/ir: mark STORE destination inputs as used

Illia Iorin (1):

-  Revert "mesa/main: Fix multisample texture initialize"

Jason Ekstrand (2):

-  anv: Fix a potential BO handle leak
-  anv/tests: Zero-initialize instances

Jon Turney (2):

-  rbug: Fix use of alloca() without #include "c99_alloca.h"
-  Fix timespec_from_nsec test for 32-bit time_t

Jonathan Marek (1):

-  etnaviv: fix depth bias

Kenneth Graunke (1):

-  iris: Fix "Force Zero RTA Index Enable" setting again

Lionel Landwerlin (2):

-  anv: fix unwind of vkCreateDevice fail
-  mesa: check draw buffer completeness on
   glClearBufferfi/glClearBufferiv

Marek Olšák (1):

-  util/u_queue: skip util_queue_finish if num_threads is 0

Nanley Chery (5):

-  anv: Properly allocate aux-tracking space for CCS_E
-  intel/blorp: Disable depth testing for slow depth clears
-  iris: Clear ::has_hiz when disabling aux
-  iris: Don't leak the resource for unsupported modifier
-  iris: Disallow incomplete resource creation

Paulo Zanoni (1):

-  intel/compiler: remove the operand restriction for src1 on GLK

Pierre-Eric Pelloux-Prayer (1):

-  mesa: enable msaa in clear_with_quad if needed

Sagar Ghuge (1):

-  intel/blorp: Assign correct view while clearing depth stencil

Samuel Pitoiset (4):

-  radv: do not create meta pipelines with 16 samples
-  radv: do not emit rbplus if attachments are undefined
-  radv/gfx10: fix 3D images
-  radv: fix vkUpdateDescriptorSets with inline uniform blocks

Tapani Pälli (1):

-  i965: setup sized internalformat for MESA_FORMAT_R10G10B10A2_UNORM

Thomas Hellstrom (2):

-  svga: Fix banded DMA upload unmap
-  winsys/svga: Limit the maximum DMA hardware buffer size
