# The Mesa 3D Graphics Library

# 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 Mesa 17.1.1.

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