Mesa 17.1.0 Release Notes / May 10, 2017
========================================

Mesa 17.1.0 is a new development release. People who are concerned with
stability and reliability should stick with a previous release or wait
for :ref:`Mesa 17.1.1 <calendar>`.

Mesa 17.1.0 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
----------------

::

   c388069581a72853161657ac365f2c083afabd7cffd53f80513dacfa1cfa58a8  mesa-17.1.0.tar.gz
   cf234a6ed4764673886b6661553b54675776ef0898f774716173cec890ac3b17  mesa-17.1.0.tar.xz

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

Note: some of the new features are only available with certain drivers.

-  OpenGL 4.2 on i965/ivb
-  GL_ARB_gpu_shader_fp64 on i965/ivybridge
-  GL_ARB_gpu_shader_int64 on i965/gen8+, nvc0, radeonsi, softpipe,
   llvmpipe
-  GL_ARB_shader_ballot on nvc0, radeonsi
-  GL_ARB_shader_clock on nv50, nvc0, radeonsi
-  GL_ARB_shader_group_vote on radeonsi
-  GL_ARB_shader_precision on i965/ivb
-  GL_ARB_shader_viewport_layer_array on radeonsi
-  GL_ARB_sparse_buffer on radeonsi/CIK+
-  GL_ARB_transform_feedback2 on i965/gen6
-  GL_ARB_transform_feedback_overflow_query on i965/gen6+
-  GL_ARB_vertex_attrib_64bit on i965/ivb
-  GL_NV_fill_rectangle on nvc0
-  Geometry shaders enabled on swr

Bug fixes
---------

-  `Bug 68504 <https://bugs.freedesktop.org/show_bug.cgi?id=68504>`__ -
   9.2-rc1 workaround for clover build failure on ppc/altivec: cannot
   convert 'bool' to '__vector(4) \__bool int' in return
-  `Bug 84325 <https://bugs.freedesktop.org/show_bug.cgi?id=84325>`__ -
   X.Org segfaults when starting DE on an Intel+Radeon laptop, caused by
   libpciaccess cleanup, patch attached
-  `Bug 93089 <https://bugs.freedesktop.org/show_bug.cgi?id=93089>`__ -
   mesa fails to check for gcc atomic primitives before using them
-  `Bug 95460 <https://bugs.freedesktop.org/show_bug.cgi?id=95460>`__ -
   Please add more drivers (freedreno, virgl) to features.txt status
   document
-  `Bug 96743 <https://bugs.freedesktop.org/show_bug.cgi?id=96743>`__ -
   [BYT, HSW, SKL, BXT, KBL] GPU hangs with GfxBench 4.0 CarChase
-  `Bug 97102 <https://bugs.freedesktop.org/show_bug.cgi?id=97102>`__ -
   [dri][swr] stack overflow / infinite loop with GALLIUM_DRIVER=swr
-  `Bug 97338 <https://bugs.freedesktop.org/show_bug.cgi?id=97338>`__ -
   Black squares in the Spec Ops: The Line chapter select screen
-  `Bug 97524 <https://bugs.freedesktop.org/show_bug.cgi?id=97524>`__ -
   Samplers referring to the same texture unit with different types
   should raise GL_INVALID_OPERATION
-  `Bug 97967 <https://bugs.freedesktop.org/show_bug.cgi?id=97967>`__ -
   glsl/tests/cache-test regression
-  `Bug 97988 <https://bugs.freedesktop.org/show_bug.cgi?id=97988>`__ -
   [radeonsi] playing back videos with VDPAU exhibits
   deinterlacing/anti-aliasing issues not visible with VA-API
-  `Bug 98263 <https://bugs.freedesktop.org/show_bug.cgi?id=98263>`__ -
   [radv] The Talos Principle fails to launch with "Fatal error: Cannot
   set display mode."
-  `Bug 98428 <https://bugs.freedesktop.org/show_bug.cgi?id=98428>`__ -
   Undefined non-weak-symbol in dri-drivers
-  `Bug 98502 <https://bugs.freedesktop.org/show_bug.cgi?id=98502>`__ -
   Delay when starting firefox, thunderbird or chromium and dmesg spam
-  `Bug 98869 <https://bugs.freedesktop.org/show_bug.cgi?id=98869>`__ -
   Electronic Super Joy graphic artefacts (regression,bisected)
-  `Bug 98975 <https://bugs.freedesktop.org/show_bug.cgi?id=98975>`__ -
   Wasteland 2 Directors Cut: Hangs. GPU fault
-  `Bug 99010 <https://bugs.freedesktop.org/show_bug.cgi?id=99010>`__ -
   --disable-gallium-llvm no longer recognized
-  `Bug 99246 <https://bugs.freedesktop.org/show_bug.cgi?id=99246>`__ -
   [d3dadapter+radeonsi & bisect] EVE-Online : hang on wormhole sight
-  `Bug 99265 <https://bugs.freedesktop.org/show_bug.cgi?id=99265>`__ -
   i965: Piglit egl_khr_gl_renderbuffer_image-clear-shared-image fails
-  `Bug 99339 <https://bugs.freedesktop.org/show_bug.cgi?id=99339>`__ -
   Blender line rendering broken after removing XY clipping of lines
-  `Bug 99401 <https://bugs.freedesktop.org/show_bug.cgi?id=99401>`__ -
   [g33] regression: piglit.spec.!opengl 1_0.gl-1_0-beginend-coverage
-  `Bug 99450 <https://bugs.freedesktop.org/show_bug.cgi?id=99450>`__ -
   [amdgpu] Payday 2 visual glitches on some models
-  `Bug 99451 <https://bugs.freedesktop.org/show_bug.cgi?id=99451>`__ -
   polygon offset use after free
-  `Bug 99456 <https://bugs.freedesktop.org/show_bug.cgi?id=99456>`__ -
   Firefox crashing when opening \about:support with WebGL2 enabled
-  `Bug 99465 <https://bugs.freedesktop.org/show_bug.cgi?id=99465>`__ -
   vtn_vector_construct writing out of bounds when given multiple
   non-zero length sources
-  `Bug 99484 <https://bugs.freedesktop.org/show_bug.cgi?id=99484>`__ -
   Crusader Kings 2 - Loading bars, siege bars, morale bars, etc. do not
   render correctly
-  `Bug 99532 <https://bugs.freedesktop.org/show_bug.cgi?id=99532>`__ -
   Compute shader doesn't give right result under some circumstances
-  `Bug 99542 <https://bugs.freedesktop.org/show_bug.cgi?id=99542>`__ -
   vdpau logging errors since gallium/radeon: adjust the rule for using
   the LINEAR_ALIGNED layout
-  `Bug 99631 <https://bugs.freedesktop.org/show_bug.cgi?id=99631>`__ -
   segfault with OSVRTrackerView and openscenegraph git master
-  `Bug 99633 <https://bugs.freedesktop.org/show_bug.cgi?id=99633>`__ -
   rasterizer/core/clip.h:279:49: error: ‘const struct API_STATE’ has no
   member named ‘linkageCount’
-  `Bug 99660 <https://bugs.freedesktop.org/show_bug.cgi?id=99660>`__ -
   Not all of the int64 conversion opcodes got implemented
-  `Bug 99677 <https://bugs.freedesktop.org/show_bug.cgi?id=99677>`__ -
   heap-use-after-free in glsl
-  `Bug 99692 <https://bugs.freedesktop.org/show_bug.cgi?id=99692>`__ -
   [radv] Mostly broken on Hawaii PRO/CIK ASICs
-  `Bug 99701 <https://bugs.freedesktop.org/show_bug.cgi?id=99701>`__ -
   loader.c:353:8: error: implicit declaration of function 'geteuid' is
   invalid in C99 [-Werror,-Wimplicit-function-declaration]
-  `Bug 99715 <https://bugs.freedesktop.org/show_bug.cgi?id=99715>`__ -
   Don't print: "Note: Buggy applications may crash, if they do please
   report to vendor"
-  `Bug 99789 <https://bugs.freedesktop.org/show_bug.cgi?id=99789>`__ -
   Memory leak on failure to create an ir_constant in
   calculate_iterations in loop_controls.cpp
-  `Bug 99817 <https://bugs.freedesktop.org/show_bug.cgi?id=99817>`__ -
   [softpipe] piglit glsl-fs-tan-1 regression
-  `Bug 99842 <https://bugs.freedesktop.org/show_bug.cgi?id=99842>`__ -
   GL_ARB_transform_feedback2 on i965 gen6
-  `Bug 99850 <https://bugs.freedesktop.org/show_bug.cgi?id=99850>`__ -
   Tessellation bug on Carrizo
-  `Bug 99918 <https://bugs.freedesktop.org/show_bug.cgi?id=99918>`__ -
   disk_cache.h:57:20: error: no member named 'st_mtim' in 'struct stat'
-  `Bug 99953 <https://bugs.freedesktop.org/show_bug.cgi?id=99953>`__ -
   device9.c:122:49: error: ‘PIPE_CAP_USER_INDEX_BUFFERS’ undeclared
   (first use in this function)
-  `Bug 99955 <https://bugs.freedesktop.org/show_bug.cgi?id=99955>`__ -
   [r600g] GPU load always displayed at 100% with GALLIUM_HUD=GPU-load
-  `Bug 100026 <https://bugs.freedesktop.org/show_bug.cgi?id=100026>`__
   - piglit.spec.arb_shader_subroutine.compiler.direct-call_vert
   regression
-  `Bug 100049 <https://bugs.freedesktop.org/show_bug.cgi?id=100049>`__
   - "ralloc: Make sure ralloc() allocations match malloc()'s
   alignment." causes seg fault in 32bit build
-  `Bug 100060 <https://bugs.freedesktop.org/show_bug.cgi?id=100060>`__
   - wsi/wsi_common_wayland.c:25:41: fatal error:
   wayland-drm-client-protocol.h: No such file or directory
-  `Bug 100061 <https://bugs.freedesktop.org/show_bug.cgi?id=100061>`__
   - LODQ instruction generated with invalid dst mask
-  `Bug 100068 <https://bugs.freedesktop.org/show_bug.cgi?id=100068>`__
   - LLVM ERROR: Cannot select: intrinsic
   %llvm.amdgcn.buffer.load.format
-  `Bug 100088 <https://bugs.freedesktop.org/show_bug.cgi?id=100088>`__
   - piglit.spec.arb_get_texture_sub_image.arb_get_texture_sub_image
   regressions
-  `Bug 100091 <https://bugs.freedesktop.org/show_bug.cgi?id=100091>`__
   - Failure to create folder for on-disk shader cache
-  `Bug 100133 <https://bugs.freedesktop.org/show_bug.cgi?id=100133>`__
   - swr_context.cpp:336:44: error: invalid conversion from ‘uint {aka
   unsigned int}’ to ‘pipe_render_cond_flag’ [-fpermissive]
-  `Bug 100154 <https://bugs.freedesktop.org/show_bug.cgi?id=100154>`__
   - test_eu_compact regression
-  `Bug 100180 <https://bugs.freedesktop.org/show_bug.cgi?id=100180>`__
   - Build failure in GNOME Continuous
-  `Bug 100182 <https://bugs.freedesktop.org/show_bug.cgi?id=100182>`__
   - Flickering in The Talos Principle on Sky Lake GT4.
-  `Bug 100201 <https://bugs.freedesktop.org/show_bug.cgi?id=100201>`__
   - Windows scons build with MSVC toolchain and LLVM 4.0 fails
-  `Bug 100223 <https://bugs.freedesktop.org/show_bug.cgi?id=100223>`__
   - marshal_generated.c:38:10: fatal error: 'X11/Xlib-xcb.h' file not
   found
-  `Bug 100236 <https://bugs.freedesktop.org/show_bug.cgi?id=100236>`__
   - Undefined symbols for architecture x86_64: "typeinfo for
   llvm::RTDyldMemoryManager"
-  `Bug 100259 <https://bugs.freedesktop.org/show_bug.cgi?id=100259>`__
   - [EGL] [GBM] undefined reference to \`gbm_bo_create_with_modifiers'
-  `Bug 100288 <https://bugs.freedesktop.org/show_bug.cgi?id=100288>`__
   - clover unable to run OpenCL kernels since 03127bb radeonsi: compile
   all TGSI compute shaders asynchronously
-  `Bug 100303 <https://bugs.freedesktop.org/show_bug.cgi?id=100303>`__
   - Adding a single, meaningless if-else to a shader source leads to
   different image
-  `Bug 100391 <https://bugs.freedesktop.org/show_bug.cgi?id=100391>`__
   - SachaWillems deferredmultisampling asserts
-  `Bug 100452 <https://bugs.freedesktop.org/show_bug.cgi?id=100452>`__
   - push_constants host memory leak when resetting command buffer
-  `Bug 100531 <https://bugs.freedesktop.org/show_bug.cgi?id=100531>`__
   - [regression] Broken graphics in several games
-  `Bug 100562 <https://bugs.freedesktop.org/show_bug.cgi?id=100562>`__
   - u_debug_stack.c:59: undefined reference to \`_Ux86_64_getcontext'
-  `Bug 100569 <https://bugs.freedesktop.org/show_bug.cgi?id=100569>`__
   - core/resource.cpp:36:33: error: non-constant-expression cannot be
   narrowed from type 'int' to 'int16_t' (aka 'short') in initializer
   list [-Wc++11-narrowing]
-  `Bug 100574 <https://bugs.freedesktop.org/show_bug.cgi?id=100574>`__
   - anv_device.c:189: undefined reference to
   \`anv_gem_supports_48b_addresses'
-  `Bug 100582 <https://bugs.freedesktop.org/show_bug.cgi?id=100582>`__
   - [GEN8+] piglit.spec.arb_stencil_texturing.glblitframebuffer
   corrupts state.gl_texture\* assertions
-  `Bug 100600 <https://bugs.freedesktop.org/show_bug.cgi?id=100600>`__
   - anv_device.c:1337: undefined reference to \`anv_gem_busy'
-  `Bug 100620 <https://bugs.freedesktop.org/show_bug.cgi?id=100620>`__
   - [SKL] 48-bit addresses break DOOM
-  `Bug 100663 <https://bugs.freedesktop.org/show_bug.cgi?id=100663>`__
   - commit 61e47d92c5196 breaks RS780
-  `Bug 100690 <https://bugs.freedesktop.org/show_bug.cgi?id=100690>`__
   - [Regression, bisected] TotalWar: Warhammer corrupted graphics
-  `Bug 100892 <https://bugs.freedesktop.org/show_bug.cgi?id=100892>`__
   - Polaris 12: winsys init bad switch (missing break) initializing
   addrlib

Changes
-------

-  Removed the ilo gallium driver.
-  The configure option --enable-gallium-llvm is superseded by
   --enable-llvm.
-  The swr driver now requires LLVM >= 3.9.0 and a C++14 capable
   compiler.
-  The radeonsi driver now requires LLVM 3.8.0.
-  The MESA_GLSL=opt and MESA_GLSL=no_opt environment vars have been
   removed.
-  The --with-egl-platforms configure option is deprecated. Use
   --with-platforms instead.
