Mesa 10.2.2 Release Notes / June 24, 2014
=========================================

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

Mesa 10.2.2 implements the OpenGL 3.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
3.3. OpenGL 3.3 is **only** available if requested at context creation
because compatibility contexts are not supported.

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

::

   38c4a40364000f89cddaa1694f6f3cfb444981d1110238ce603093585477399c  MesaLib-10.2.2.tar.bz2
   2af2ec8b4db624c352e961eefbcce6c8d1f86d44c5542f6f378c50e1b958d453  MesaLib-10.2.2.tar.gz
   d4c0372da59367a344d62ebcdf5cf61039c9cae6925f40f2dab8f8d95cf22da9  MesaLib-10.2.2.zip

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

None

Bug fixes
---------

This list is likely incomplete.

-  `Bug 54372 <https://bugs.freedesktop.org/show_bug.cgi?id=54372>`__ -
   GLX_INTEL_swap_event crashes driver when swapping window buffers
-  `Bug 66452 <https://bugs.freedesktop.org/show_bug.cgi?id=66452>`__ -
   JUNIPER UVD accelerated playback of WMV3 streams does not work
-  `Bug 74005 <https://bugs.freedesktop.org/show_bug.cgi?id=74005>`__ -
   [i965 Bisected]Piglit/glx_glx-make-glxdrawable-current fails
-  `Bug 77865 <https://bugs.freedesktop.org/show_bug.cgi?id=77865>`__ -
   [BDW] Many Ogles3conform framebuffer_blit cases fail
-  `Bug 78581 <https://bugs.freedesktop.org/show_bug.cgi?id=78581>`__ -
   OpenCL: clBuildProgram prints error messages directly rather than
   storing them
-  `Bug 79029 <https://bugs.freedesktop.org/show_bug.cgi?id=79029>`__ -
   INTEL_DEBUG=shader_time is full of lies
-  `Bug 79729 <https://bugs.freedesktop.org/show_bug.cgi?id=79729>`__ -
   [i965] glClear on a multisample texture doesn't work
-  `Bug 79907 <https://bugs.freedesktop.org/show_bug.cgi?id=79907>`__ -
   Mesa 10.2.1 --enable-vdpau default=auto broken
-  `Bug 80115 <https://bugs.freedesktop.org/show_bug.cgi?id=80115>`__ -
   MESA_META_DRAW_BUFFERS induced GL_INVALID_VALUE errors

Changes
-------

Adrian Negreanu (8):

-  add megadriver_stub_FILES
-  android: adapt to the megadriver mechanism
-  android: add libloader to libGLES_mesa and libmesa_egl_dri2
-  android: add src/gallium/auxiliary as include path for
   libmesa_dricore
-  android, egl: add correct drm include for libmesa_egl_dri2
-  android, egl: typo dri2_fallback_pixmap_surface ->
   dri2_fallback_create_pixmap_surface
-  android, mesa_gen_matypes: pull in timespec POSIX definition
-  android, dricore: undefined reference to \_mesa_streaming_load_memcpy

Carl Worth (1):

-  Update VERSION to 10.2.2

Daniel Manjarres (1):

-  glx: Don't crash on swap event for a Window (non-GLXWindow)

Emil Velikov (3):

-  targets/xa: limit the amount of exported symbols
-  configure: error out when building opencl without LLVM
-  configure: correctly autodetect xvmc/vdpau/omx

Grigori Goronzy (1):

-  radeon/uvd: disable VC-1 simple/main on UVD 2.x

Iago Toral Quiroga (1):

-  mesa: Copy Geom.UsesEndPrimitive when cloning a geometry program.

Ian Romanick (3):

-  docs: Add initial 10.2.1 release notes
-  docs: Add MD5 checksum, etc. for 10.2.1 release
-  meta: Respect the driver's maximum number of draw buffers

Ilia Mirkin (7):

-  gk110/ir: emit saturate flag on fadd when needed
-  gk110/ir: fix emitting constbuf file index
-  gk110/ir: fix bfind emission
-  nv50: make sure to mark first scissor dirty after blit
-  nv30: plug some memory leaks on screen destroy and shader compile
-  nv30: avoid dangling references to deleted contexts
-  nv30: hack to avoid errors on unexpected color/zeta combinations

Faith Ekstrand (1):

-  meta_blit: properly compute texture width for the CopyTexSubImage
   fallback

José Fonseca (1):

-  mesa/main: Prevent sefgault on
   glGetIntegerv(GL_ATOMIC_COUNTER_BUFFER_BINDING).

Kenneth Graunke (9):

-  i965: Don't use the head sentinel as an fs_inst in Gen4 workaround
   code.
-  i965: Invalidate live intervals when inserting Gen4 SEND workarounds.
-  i965/vec4: Fix dead code elimination for VGRFs of size > 1.
-  i965: Add missing MOCS setup for 3DSTATE_INDEX_BUFFER on Broadwell.
-  i965: Drop Broadwell perf_debugs about missing MOCS that aren't
   missing.
-  i965: Add missing newlines to a few perf_debug messages.
-  i965/vec4: Use the sampler for pull constant loads on Broadwell.
-  i965: Use 8x4 aligned rectangles for HiZ operations on Broadwell.
-  i965: Save meta stencil blit programs in the context.

Kristian Høgsberg (1):

-  mesa: Remove glClear optimization based on drawable size

Michel Dänzer (1):

-  configure: Only check for OpenCL without LLVM when the latter is
   certain

Neil Roberts (1):

-  i965: Set the fast clear color value for texture surfaces

Tom Stellard (2):

-  clover: Prevent Clang from printing number of errors and warnings to
   stderr.
-  clover: Don't use llvm's global context

Ville Syrjälä (1):

-  i915: Fix gen2 texblend setup
