# The Mesa 3D Graphics Library

# Mesa 17.0.0 Release Notes / February 13, 2017

Mesa 17.0.0 is a new development release. People who are concerned with stability and reliability should stick with a previous release or wait for Mesa 17.0.1.

Mesa 17.0.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

    696578f0b83796470511a88a95fff15a2a25fa201a9e487716f2ca20c177c3ab  mesa-17.0.0.tar.gz
    39db3d59700159add7f977307d12a7dfe016363e760ad82280ac4168ea668481  mesa-17.0.0.tar.xz

## New features

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

- GL_ARB_post_depth_coverage on i965/gen9+
- GL_KHR_blend_equation_advanced on nvc0
- GL_INTEL_conservative_rasterization on i965/gen9+
- GL_NV_image_formats on any driver supporting GL_ARB_shader_image_load_store (i965, nvc0, radeonsi, softpipe)
- GL_ARB_gpu_shader_fp64 in i965/haswell
- GL_ARB_vertex_attrib_64bit in i965/haswell
- GL_ARB_shader_precision in i965/haswell
- Intel Haswell now supports OpenGL 4.2
- GL_OES_geometry_shader on i965/haswell
- GL_OES_texture_cube_map_array on i965/haswell
- GL_OES_viewport_array on i965/haswell
- Vulkan Float64 capability support on Intel's ANV driver

## Bug fixes

- Bug 70623 - libglx.so: undefined symbol: _glapi_tls_Context
- Bug 72902 - [IVB/HSW/BDW] DOTA2 segfaults unless Mesa is configured with (non-default) --enable-glx-tls
- Bug 73778 - _glapi_tls_Dispatch undefined
- Bug 77662 - Fail to render to different faces of depth-stencil cube map
- Bug 89043 - undefined symbol: _glapi_tls_Dispatch
- Bug 91281 - Tonga VCE 2160p encode fails with BO to small for addr
- Bug 92234 - [BDW] GPU hang in Shogun2
- Bug 92634 - gallium's vl_mpeg12_decoder does not work with st/va
- Bug 92760 - Add FP64 support to the i965 shader backends
- Bug 92925 - Incorrect GEN for ASTC in Surface Format Table
- Bug 93551 - Divinity: Original Sin Enhanced Edition(Native) crash on start
- Bug 94512 - X segfaults with glx-tls enabled in a x32 environment
- Bug 94900 - HD6950 GPU lockup loop with various steam games (octodad[always], saints row 4[always], dead island[always], grid autosport[sometimes])
- Bug 94904 - [vulkan, BSW] dEQP-VK.api.object_management.multithreaded_per_thread_device intermittent crash
- Bug 95460 - Please add more drivers (freedreno, virgl) to features.txt status document
- Bug 96959 - nop.sat generated by pow workaround?
- Bug 97102 - [dri][swr] stack overflow / infinite loop with GALLIUM_DRIVER=swr
- Bug 97232 - Line rendering broken in Dolphin when using gl_ClipDistance
- Bug 97287 - GL45-CTS.vertex_attrib_binding.basic-inputL-case1 fails
- Bug 97321 - Query INFO_LOG_LENGTH for empty info log should return 0
- Bug 97420 - "#version 0" crashes glsl_compiler
- Bug 97422 - trying to call a number as a function results into a crash
- Bug 97447 - GL 3.0 compatibility context exposes GL_ARB_compute_shader
- Bug 97473 - Memory corruption when uploading DXT5 cubemap faces
- Bug 97715 - [ILK,G45,G965] piglit.spec.arb_separate_shader_objects.misc api error checks
- Bug 97779 - [regression, bisected][BDW, GPU hang] stuck on render ring, always reproducible
- Bug 97804 - Later precision statement isn't overriding earlier one
- Bug 97952 - /usr/include/string.h:518:12: error: exception specification in declaration does not match previous declaration
- Bug 97967 - glsl/tests/cache-test regression
- Bug 98005 - VCE dual instance encoding inconsistent since st/va: enable dual instances encode by sync surface
- Bug 98012 - [IVB] Segfault when running Dolphin twice with Vulkan
- Bug 98134 - dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer.draw_buffers wants a different GL error code
- Bug 98172 - Concurrent call to glClientWaitSync results in segfault in one of the waiters.
- Bug 98238 - witcher 2: objects are black when changing lod
- Bug 98243 - dEQP mismatched UBO precision qualifiers
- Bug 98245 - GLES3.1 link negative dEQP "expected linking to fail, but passed."
- Bug 98250 - dEQP-GLES31.functional.debug.negative_coverage.get_error.texture.texparameterIiv/texparameterIuiv failure
- Bug 98263 - [radv] The Talos Principle fails to launch with "Fatal error: Cannot set display mode."
- Bug 98297 - Can't configure a desktop with 3x4k monitors in one row
- Bug 98299 - Compute shaders generate stupid divides
- Bug 98307 - "st/glsl_to_tgsi: explicitly track all input and output declaration" broke flightgear colors on rs780
- Bug 98326 - [dEQP, EGL] pbuffer depth/stencil tests fail
- Bug 98327 - [dEQP, EGL] dEQP-EGL.functional.resize not supported
- Bug 98328 - [dEQP, EGL] luminance tests fail
- Bug 98329 - [dEQP, EGL, SKL, BDW, BSW] dEQP-EGL.functional.image.render_multiple_contexts.gles2_renderbuffer_depth16_depth_buffer
- Bug 98330 - [dEQP, EGL] dEQP-EGL.functional.buffer_age.no_preserve fails
- Bug 98339 - dEQP-EGL: Got EGL_BAD_MATCH: eglCreateSyncKHR()
- Bug 98343 - dEQP-EGL: GL_INVALID_ENUM at teglCreateContextExtTests
- Bug 98415 - Vulkan Driver JSON file contains incorrect field
- Bug 98421 - src/loader/loader.c:111:40: error: unknown type name ‘drmDevicePtr’
- Bug 98431 - UnrealEngine v4 demos startup fails to blorp blit assert
- Bug 98480 - Support R8 image texture in ES 3.1
- Bug 98512 - radeon r600 vdpau: Invalid command stream: texture bo too small
- Bug 98518 - [r600g, bisected] regression: NI/Turks MSAA texture corruption with FreeCAD and Wine games
- Bug 98526 - glsl/tests/general-ir-test regression
- Bug 98595 - glsl: ralloc assertion "info->canary == CANARY" failed
- Bug 98599 - xterm menus corrupt since tgsi/scan: handle indirect image indexing correctly
- Bug 98632 - Fix build on Hurd without PATH_MAX
- Bug 98681 - ir_builder_print_visitor.cpp:401:67: error: expected ')' before 'PRIx64'
- Bug 98694 - "(5=2)?1:1" as array size decleration crashes glsl_compiler
- Bug 98740 - bitcode.cpp:102:8: error: ‘Error’ is not a member of ‘llvm’
- Bug 98767 - [swrast] ralloc.c:84: get_header: Assertion `info->canary == CANARY' failed.
- Bug 98774 - glsl/tests/warnings-test regression
- Bug 98815 - [SKL/BDW GT2] large perf regression in TessMark
- Bug 98840 - nir clone test fails
- Bug 98893 - [SKL] piglit.spec.arb_shader_image_load_store.semantics intermittent
- Bug 98914 - mesa-vdpau-drivers: breaks vdpau for mpeg2video
- Bug 98917 - [BDW SKL BSW KBL] Tessellation CTS tests regression
- Bug 98975 - Wasteland 2 Directors Cut: Hangs. GPU fault
- Bug 99010 - --disable-gallium-llvm no longer recognized
- Bug 99013 - [regression, bisected] radeonsi: commit 4c8c13b3 "Use amdgcn intrinsics for fs interpolation" makes system unusable
- Bug 99030 - [HSW, regression] transform feedback fails on Linux 4.8
- Bug 99038 - [dEQP, EGL, SKL, BDW, BSW] dEQP-EGL.functional.negative_api.create_pixmap_surface crashes
- Bug 99072 - [byt,ivb,snb] ES3-CTS.gtf.GL3Tests.shadow regression
- Bug 99085 - [EGL] dEQP-EGL.functional.sharing.gles2.multithread intermittent
- Bug 99097 - [vulkancts] dEQP-VK.image.store regression
- Bug 99100 - [SKL,BDW,BSW,KBL] dEQP-VK.glsl.return.return_in_dynamic_loop_dynamic_vertex regression
- Bug 99119 - swr_fence_work.cpp(42): error: argument of type "std::nullptr_t" is incompatible with parameter of type "unsigned long"
- Bug 99144 - Incorrect rendering using glDrawArraysInstancedBaseInstance and first != 0 on Skylake
- Bug 99154 - Link time error when using multiple builtin functions
- Bug 99158 - vdpau segfaults and gpu locks with kodi on R9285
- Bug 99185 - dEQP-EGL.functional.image.modify.tex_rgb5_a1_tex_subimage_rgba8
- Bug 99188 - dEQP-EGL.functional.create_context_ext.robust_gl_30.rgb565_no_depth_no_stencil
- Bug 99210 - ES3-CTS.functional.texture.mipmap.cube.generate.rgba5551_*
- Bug 99214 - Crash in library libswrAVX.so when assigning vertex buffer object pointers with elements of type GL_DOUBLE
- Bug 99219 - The Stanley Parable GPU hang when starting a new game
- Bug 99229 - [G33] thousands of tests crash
- Bug 99231 - [HSW][i965] Crash in upload_3dstate_streamout()
- Bug 99287 - piglit.spec.glsl-1_10.execution.vs-nested-return-sibling-loop regression
- Bug 99303 - [REGRESSION][BISECTED] DMs are crashing on start with "radeon"
- Bug 99314 - [g33] glsl regressions
- Bug 99339 - Blender line rendering broken after removing XY clipping of lines
- Bug 99354 - [G71] "Assertion `bkref' failed" reproducible with glmark2
- Bug 99389 - Mesa build broken: sid_tables.h
- Bug 99391 - [ILK,G45,G965] piglit regressions
- Bug 99401 - [g33] regression: piglit.spec.!opengl 1_0.gl-1_0-beginend-coverage
- Bug 99419 - Crash(Segmentation fault) si_shader_select in Master Of Orion
- Bug 99450 - [amdgpu] Payday 2 visual glitches on some models
- Bug 99451 - polygon offset use after free
- Bug 99456 - Firefox crashing when opening about:support with WebGL2 enabled
- Bug 99631 - segfault with OSVRTrackerView and openscenegraph git master
- Bug 99633 - rasterizer/core/clip.h:279:49: error: ‘const struct API_STATE’ has no member named ‘linkageCount’
- Bug 99637 - VLC video has corrupted colors when using VDPAU output on Radeon SI

## Changes

- Building RADV requires --enable-gallium-llvm
- The vulkan headers vk_platform.h and vulkan.h are no longer installed
- The configure options --with-sha1 and --disable-shader-cache are removed alongside their respective library requirements