Mesa 17.3.8 Release Notes / April 03, 2018
==========================================

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

Mesa 17.3.8 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
because compatibility contexts are not supported.

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

::

   175d2ca9be2af3a8db6cd603986096d75da70f59699528d7b6675d542a305e23  mesa-17.3.8.tar.gz
   8f9d9bf281c48e4a8f5228816577263b4c655248dc7666e75034ab422951a6b1  mesa-17.3.8.tar.xz

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

None

Bug fixes
---------

-  `Bug 102542 <https://bugs.freedesktop.org/show_bug.cgi?id=102542>`__
   - mesa-17.2.0/src/gallium/state_trackers/nine/nine_ff.c:1938: bad
   assignment ?
-  `Bug 103746 <https://bugs.freedesktop.org/show_bug.cgi?id=103746>`__
   - [BDW BSW SKL KBL] dEQP-GLES31.functional.copy_image regressions
-  `Bug 104636 <https://bugs.freedesktop.org/show_bug.cgi?id=104636>`__
   - [BSW/HD400] Aztec Ruins GL version GPU hangs
-  `Bug 105290 <https://bugs.freedesktop.org/show_bug.cgi?id=105290>`__
   - [BSW/HD400] SynMark OglCSDof GPU hangs when shaders come from cache
-  `Bug 105464 <https://bugs.freedesktop.org/show_bug.cgi?id=105464>`__
   - Reading per-patch outputs in Tessellation Control Shader returns
   undefined values
-  `Bug 105670 <https://bugs.freedesktop.org/show_bug.cgi?id=105670>`__
   - [regression][hang] Trine1EE hangs GPU after loading screen on
   Mesa3D-17.3 and later
-  `Bug 105704 <https://bugs.freedesktop.org/show_bug.cgi?id=105704>`__
   - compiler assertion hit
-  `Bug 105717 <https://bugs.freedesktop.org/show_bug.cgi?id=105717>`__
   - [bisected] Mesa build tests fails: BIGENDIAN_CPU or
   LITTLEENDIAN_CPU must be defined

Changes
-------

Axel Davy (3):

-  st/nine: Fix bad tracking of vs textures for NINESBT_ALL
-  st/nine: Fixes warning about implicit conversion
-  st/nine: Fix non inversible matrix check

Caio Marcelo de Oliveira Filho (1):

-  anv/pipeline: fail if TCS/TES compile fail

Dave Airlie (1):

-  radv: get correct offset into LDS for indexed vars.

Derek Foreman (1):

-  egl/wayland: Make swrast display_sync the correct queue

Eric Engestrom (1):

-  meson/configure: detect endian.h instead of trying to guess when it's
   available

Ian Romanick (2):

-  mesa: Don't write to user buffer in glGetTexParameterIuiv on error
-  i965/vec4: Fix null destination register in 3-source instructions

Jason Ekstrand (1):

-  i965: Emit texture cache invalidates around blorp_copy

Jordan Justen (2):

-  i965: Calculate thread_count in brw_alloc_stage_scratch
-  i965: Hard code CS scratch_ids_per_subslice for Cherryview

Juan A. Suarez Romero (6):

-  docs: add sha256 checksums for 17.3.7
-  cherry-ignore: ac/nir: pass the nir variable through tcs loading.
-  cherry-ignore: radv: handle exporting view index to fragment shader.
   (v1.1)
-  cherry-ignore: omx: always define ENABLE_ST_OMX_{BELLAGIO,TIZONIA}
-  cherry-ignore: docs: fix 18.0 release note version
-  Update version to 17.3.8

Leo Liu (1):

-  radeon/vce: move feedback command inside of destroy function

Marek Olšák (1):

-  st/dri: fix OpenGL-OpenCL interop for GL_TEXTURE_BUFFER

Rob Clark (1):

-  nir: fix per_vertex_output intrinsic

Timothy Arceri (2):

-  glsl: fix infinite loop caused by bug in loop unrolling pass
-  nir: fix crash in loop unroll corner case
