# The Mesa 3D Graphics Library

# Mesa 18.0.0 Release Notes / March 27 2018

Mesa 18.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 18.0.1.

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

    93c2d3504b2871ac2146603fb1270f341d36a39695e2950a469c5eac74f98457  mesa-18.0.0.tar.gz
    694e5c3d37717d23258c1f88bc134223c5d1aac70518d2f9134d6df3ee791eea  mesa-18.0.0.tar.xz

## New features

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

- Disk shader cache support for i965 when MESA_GLSL_CACHE_DISABLE environment variable is set to "0" or "false"
- GL_ARB_shader_atomic_counters and GL_ARB_shader_atomic_counter_ops on r600/evergreen+
- GL_ARB_shader_image_load_store and GL_ARB_shader_image_size on r600/evergreen+
- GL_ARB_shader_storage_buffer_object on r600/evergreen+
- GL_ARB_compute_shader on r600/evergreen+
- GL_ARB_cull_distance on r600/evergreen+
- GL_ARB_enhanced_layouts on r600/evergreen+
- GL_ARB_bindless_texture on nvc0/kepler
- OpenGL 4.3 on r600/evergreen with hw fp64 support
- Support 1 binary format for GL_ARB_get_program_binary on i965. (For the 18.0 release, 0 formats continue to be supported in compatibility profiles.)
- Cannonlake support on i965 and anv

## Bug fixes

- Bug 85564 - Dead Island rendering issues
- Bug 90311 - Fail to build libglx with clang at linking stage
- Bug 92363 - [BSW/BDW] ogles1conform Gets test fails
- Bug 94739 - Mesa 11.1.2 implementation error: bad format MESA_FORMAT_Z_FLOAT32 in _mesa_unpack_uint_24_8_depth_stencil_row
- Bug 97532 - Regression: GLB 2.7 & Glmark-2 GLES versions segfault due to linker precision error (259fc505) on dead variable
- Bug 97852 - Unreal Engine corrupted preview viewport
- Bug 100438 - glsl/ir.cpp:1376: ir_dereference_variable::ir_dereference_variable(ir_variable*): Assertion `var != NULL' failed.
- Bug 101378 - interpolateAtSample check for input parameter is too strict
- Bug 101442 - Piglit shaders@ssa@fs-if-def-else-break fails with sb but passes with R600_DEBUG=nosb
- Bug 101560 - SPIR-V OpSwitch with int64 not supported even though shaderInt64 is true
- Bug 101691 - gfx corruption on windowed 3d-apps running on dGPU
- Bug 102177 - [SKL] ES31-CTS.core.sepshaderobjs.StateInteraction fails sporadically
- Bug 102264 - Missing MESA_FORMAT_{B8G8R8A8,B8G8R8X8}_SRGB formats
- Bug 102354 - Mesa 17.2 no longer can give SRGB-capable framebuffer on i965, even though Mesa 17.1.x does.
- Bug 102358 - WarThunder freezes at start, with activated vsync (vblank_mode=2)
- Bug 102435 - [skl,kbl] [drm] GPU hang in Valve games based on Source 1
- Bug 102503 - Report SRGB framebuffer to SuperTuxKart to workaround SuperTuxKart crash
- Bug 102665 - test_glsl_to_tgsi_lifetime.cpp:53:67: error: ‘>>’ should be ‘> >’ within a nested template argument list
- Bug 102677 - [OpenGL CTS] KHR-GL45.CommonBugs.CommonBug_PerVertexValidation fails
- Bug 102680 - [OpenGL CTS] KHR-GL45.shader_ballot_tests.ShaderBallotBitmasks fails
- Bug 102710 - vkCmdBlitImage with arrayLayers > 1 fails
- Bug 102774 - [BDW] [Bisected] Absolute constant buffers break VAAPI in mpv
- Bug 102809 - Rust shadows(?) flash random colours
- Bug 102897 - Separate bind points are not implemented correctly
- Bug 102955 - HyperZ related rendering issue in ARK: Survival Evolved
- Bug 103006 - [OpenGL CTS] [HSW] KHR-GL45.vertex_attrib_binding.basic-inputL-case1
- Bug 103007 - [OpenGL CTS] [HSW] KHR-GL45.gpu_shader_fp64.fp64.max_uniform_components fails
- Bug 103085 - [ivb byt hsw] piglit.spec.arb_indirect_parameters.tf-count-arrays
- Bug 103098 - [OpenGL CTS] KHR-GL45.enhanced_layouts.varying_structure_locations fails
- Bug 103101 - [SKL][bisected] DiRT Rally GPU hang
- Bug 103115 - [BSW BXT GLK] dEQP-VK.spirv_assembly.instruction.compute.sconvert.int32_to_int64
- Bug 103128 - [softpipe] piglit fs-ldexp regression
- Bug 103142 - R600g+sb: optimizer apparently stuck in an endless loop
- Bug 103227 - [G965 G45 ILK] ES2-CTS.gtf.GL2ExtensionTests.texture_float.texture_float regression
- Bug 103283 - drm_get_device_name_for_fd is broken on FreeBSD
- Bug 103388 - Linking libcltgsi.la (llvm/codegen/libclllvm_la-common.lo) fails with "error: no match for 'operator-'" with GCC-7, Mesa from Git and current LLVM revisions
- Bug 103393 - glDispatchComputeGroupSizeARB : gl_GlobalInvocationID.x != gl_WorkGroupID.x * gl_LocalGroupSizeARB.x + gl_LocalInvocationID.x
- Bug 103412 - gallium/wgl: Another fix to context creation without prior SetPixelFormat()
- Bug 103496 - svga_screen.c:26:46: error: git_sha1.h: No such file or directory
- Bug 103513 - [build failure] radv_shader.c:683:2: error: format not a string literal and no format arguments [-Werror=format-security]
- Bug 103519 - wayland egl apps crash on start with mesa 17.2
- Bug 103529 - [GM45] GPU hang with mpv fullscreen (bisected)
- Bug 103537 - i965: Shadow of Mordor broken since commit 379b24a40d3d34ffdaaeb1b328f50e28ecb01468 on Haswell
- Bug 103544 - Graphical glitches r600 in game this war of mine linux native
- Bug 103579 - Vertex shader causes compiler to crash in SPIRV-to-NIR
- Bug 103616 - Increased difference from reference image in shaders
- Bug 103626 - [SNB] ES3-CTS.functional.shaders.precision
- Bug 103628 - [BXT, GLK, BSW] KHR-GL46.shader_ballot_tests.ShaderBallotBitmasks
- Bug 103653 - Unreal segfault since gallium/u_threaded: avoid syncs for get_query_result
- Bug 103658 - addrlib/gfx9/gfx9addrlib.cpp:727:50: error: expected expression
- Bug 103674 - u_queue.c:173:7: error: implicit declaration of function 'timespec_get' is invalid in C99
- Bug 103746 - [BDW BSW SKL KBL] dEQP-GLES31.functional.copy_image regressions
- Bug 103759 - plasma desktop corrupted rendering
- Bug 103784 - [bisected] Egl changes breaks all of EGL
- Bug 103787 - [BDW,BSW] gpu hang on spec.arb_pipeline_statistics_query.arb_pipeline_statistics_query-comp
- Bug 103801 - [i965] >Observer_ issue
- Bug 103808 - [radeonsi, bisected] World of Warcraft scribbling all over screen
- Bug 103902 - Portal 2 game hangs at startup with latest mesa dev
- Bug 103904 - Source engine-based games won't hang at start without R600_DEBUG=vs
- Bug 103909 - anv_allocator.c:113:1: error: static declaration of ‘memfd_create’ follows non-static declaration
- Bug 103942 - KHR-GL46.enhanced_layouts.varying* regression
- Bug 103955 - Using array in structure results in wrong GLSL compilation output
- Bug 103966 - Mesa 17.2.5 implementation error: bad format MESA_FORMAT_Z_FLOAT32 in _mesa_unpack_uint_24_8_depth_stencil_row
- Bug 103988 - Intermittent piglit failures with shader cache enabled
- Bug 104005 - [sklgt4e] GPU hangs in Car_Chase
- Bug 104119 - radv: OpBitFieldInsert produces 0 with a loop counter for Insert
- Bug 104141 - include/c11/threads_posix.h:96: undefined reference to `pthread_once'
- Bug 104143 - r600/sb: clobbers gl_Position -> gl_FragCoord
- Bug 104163 - [GEN9+] 2-3% perf drop in GfxBench Manhattan 3.1 from "i965: Disable regular fast-clears (CCS_D) on gen9+"
- Bug 104183 - mesa-17.3.0/src/broadcom/qpu/qpu_pack.c:171]: (error) Invalid memcmp() argument
- Bug 104199 - [i965 bisected] BIO and EM Vision in >Observer_ is broken since commit af2c320190f3c73180f1610c8df955a7fa2a4d09
- Bug 104213 - NULL pointer access crashes on compiling Vulkan compute shaders after "anv: Add support for the variablePointers feature"
- Bug 104214 - Dota crashes when switching from game to desktop
- Bug 104226 - [bisected] Anvil accesses uninitialized memory while compiling shaders
- Bug 104231 - DispatchSanity_test.GL30 regression
- Bug 104246 - Talos Principle Vulkan version crash: spirv_to_nir() returns NULL entry_point
- Bug 104271 - i965: Timeout in dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer.5
- Bug 104288 - Steamroll needs allow_glsl_cross_stage_interpolation_mismatch=true
- Bug 104302 - Wolfenstein 2 (2017) under wine graphical artifacting on RADV
- Bug 104331 - [r600g] Ogre demo "TutorialUAV01" crash at r600_decompress_color_images
- Bug 104338 - NULL pointer access crash on Sacha Willems' Vulkan raytracing demo after "spirv: Add basic type validation for OpLoad, OpStore, and OpCopyMemory"
- Bug 104359 - Mesa freezes in "vtn_cfg_walk_blocks" with Sacha Willems' hdr, parallaxmapping and specializationconstants Vulkan demos
- Bug 104381 - swr fails to build since llvm-svn r321257
- Bug 104383 - [KBL] Intel GPU hang with firefox
- Bug 104411 - [CCS] lemonbar-xft GPU hang
- Bug 104424 - DOOM 2016 broken by spirv OpStore validation
- Bug 104487 - [KBL] portal2_linux GPU hang
- Bug 104490 - [radeonsi/290x] Dota2 fails to start (can't create opengl context)
- Bug 104492 - Compute Shader: Wrong alignment when assigning struct value to structured SSBO
- Bug 104546 - Crash happens when running compute pipeline after calling glxMakeCurrent two times
- Bug 104551 - Check if Mako templates for Python are installed
- Bug 104625 - semicolon after if
- Bug 104636 - [BSW/HD400] Aztec Ruins GL version GPU hangs
- Bug 104642 - Android: NULL pointer dereference with i965 mesa-dev, seems build_id_length related
- Bug 104654 - r600/sb: Alien Isolation GPU lock
- Bug 104668 - dEQP-GLES31.functional.shaders.linkage.uniform.block.differing_precision regression
- Bug 104677 - radv_generate_graphics_pipeline_key reads input rate from incorrect binding
- Bug 104690 - [G33] regression: piglit.spec.!opengl 1_4.draw-batch and gl-1_4-dlist-multidrawarrays
- Bug 104711 - [skl CCS] Oxenfree (unity engine game) hangs GPU
- Bug 104741 - Graphic corruption for Android apps Telegram and KineMaster
- Bug 104742 - [swrast] piglit gl-1.4-dlist-multidrawarrays regression
- Bug 104746 - [swrast] piglit attribs regression
- Bug 104749 - rasterizer/jitter/JitManager.cpp:252:91: error: no matching function for call to ‘llvm::DIBuilder::createBasicType(const char [8], int, llvm::dwarf::TypeKind)’
- Bug 104762 - Various segfaults/problems in qt/plasma
- Bug 104777 - Attaching multiple shader objects for the same stage to a GLSL program triggers a linker error
- Bug 104884 - memory leak with intel i965 mesa when running android container in Ubuntu
- Bug 104905 - SpvOpFOrdEqual doesn't return correct results for NaNs
- Bug 104915 - Indexed SHADING_LANGUAGE_VERSION query not supported
- Bug 104923 - anv: Dota2 rendering corruption
- Bug 105013 - [regression] GLX+VA-API+clutter-gst video playback is corrupt with Mesa 17.3 (but is fine with 17.2)
- Bug 105029 - simdlib_512_avx512.inl:371:57: error: could not convert ‘_mm512_mask_blend_epi32((__mmask16)(ImmT), a, b)’ from ‘__m512i’ {aka ‘__vector(8) long long int’} to ‘SIMDImpl::SIMD512Impl::Float’
- Bug 105065 - Qt Programs occasionally fail to render with new Mesa (glGetProgramBinary)
- Bug 105098 - [RADV] GPU freeze with simple Vulkan App
- Bug 105103 - Wayland master causes Mesa to fail to compile
- Bug 105120 - meson build broken
- Bug 105224 - Webgl Pointclouds flickers
- Bug 105255 - Waiting for fences without waitAll is not implemented
- Bug 105271 - WebGL2 shader crashes i965_dri.so 17.3.3
- Bug 105290 - [BSW/HD400] SynMark OglCSDof GPU hangs when shaders come from cache
- Bug 105292 - vkGetQueryPoolResults returns incorrect query status for large query buffers (bisected)
- Bug 105436 - Blinking textures in UT2004 [bisected]
- Bug 105464 - Reading per-patch outputs in Tessellation Control Shader returns undefined values

## Changes

- Remove incomplete GLX_MESA_set_3dfx_mode from the Xlib libGL