Mesa 11.2.1 Release Notes / April 17, 2016
==========================================

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

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

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

::

   cc2a024204564a71acc95cf262bf618fe49b1d77d351e5755eea705cadac5167  mesa-11.2.1.tar.gz
   a65207e9ae5c5f1c29f863c6a2cc98a7ab99762a24b82a248337f0ea9cfce01b  mesa-11.2.1.tar.xz

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

None

Bug fixes
---------

This list is likely incomplete.

-  `Bug 93962 <https://bugs.freedesktop.org/show_bug.cgi?id=93962>`__ -
   [HSW, regression, bisected, CTS]
   ES2-CTS.gtf.GL2FixedTests.scissor.scissor - segfault/asserts

Changes
-------

Brian Paul (2):

-  st/mesa: fix glReadBuffer() assertion failure
-  st/mesa: fix memleak in glDrawPixels cache code

Christian Schmidbauer (1):

-  st/nine: specify WINAPI only for i386 and amd64

Emil Velikov (3):

-  docs: add sha256 checksums for 11.2.0
-  configure.ac: update the path of the generated files
-  Update version to 11.2.1

Ilia Mirkin (1):

-  glsl: allow usage of the keyword buffer before GLSL 430 / ESSL 310

Iurie Salomov (1):

-  va: check null context in vlVaDestroyContext

Jason Ekstrand (2):

-  i965/tiled_memcopy: Add aligned mem_copy parameters to the [de]tiling
   functions
-  i965/tiled_memcpy: Rework the RGBA -> BGRA mem_copy functions

Kenneth Graunke (3):

-  i965: Fix textureSize() depth value for 1 layer surfaces on Gen4-6.
-  i965: Use brw->urb.min_vs_urb_entries instead of 32 for BLORP.
-  glsl: Lower variable indexing of system value arrays unconditionally.

Marek Olšák (1):

-  drirc: add a workaround for blackness in Warsow

Nicolai Hähnle (1):

-  radeonsi: fix bounds check in si_create_vertex_elements

Samuel Pitoiset (1):

-  nv50/ir: do not try to attach JOIN ops to ATOM

Thomas Hindoe Paaboel Andersen (1):

-  st/va: avoid dereference after free in vlVaDestroyImage
