# The Mesa 3D Graphics Library

# Mesa 12.0.0 Release Notes / July 8, 2016

Mesa 12.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 12.0.1.

Mesa 12.0.0 implements the OpenGL 4.3 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.3. OpenGL 4.3 is only available if requested at context creation because compatibility contexts are not supported.

## SHA256 checksums

    3b8fa4d86d78f8f6ec86055b92ad1afe869001483593b3dd4531184b8bc4fcfb  mesa-12.0.0.tar.gz
    0090c025219318935124292b482e3439bc43e8c074ad01086449fcad88547dc6  mesa-12.0.0.tar.xz

## New features

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

- OpenGL 4.3 on nvc0, radeonsi, i965 (Gen8+)
- OpenGL ES 3.1 on nvc0, radeonsi
- GL_ARB_ES3_1_compatibility on nvc0, radeonsi
- GL_ARB_compute_shader on nvc0, radeonsi, softpipe
- GL_ARB_cull_distance on i965/gen6+, nv50, nvc0, llvmpipe, softpipe
- GL_ARB_framebuffer_no_attachments on nvc0, r600, radeonsi, softpipe
- GL_ARB_internalformat_query2 on all drivers
- GL_ARB_query_buffer_object on i965/hsw+
- GL_ARB_robust_buffer_access_behavior on i965, nvc0, radeonsi
- GL_ARB_shader_atomic_counters on radeonsi, softpipe
- GL_ARB_shader_atomic_counter_ops on nvc0, radeonsi, softpipe
- GL_ARB_shader_image_load_store on nvc0, radeonsi, softpipe
- GL_ARB_shader_image_size on nvc0, radeonsi, softpipe
- GL_ARB_shader_storage_buffer_objects on radeonsi, softpipe
- GL_ATI_fragment_shader on all Gallium drivers
- GL_EXT_base_instance on all drivers that support GL_ARB_base_instance
- GL_EXT_clip_cull_distance on all drivers that support GL_ARB_cull_distance
- GL_KHR_robustness on i965
- GL_OES_copy_image on i965 (Baytrail and Gen8+)
- GL_OES_draw_buffers_indexed and GL_EXT_draw_buffers_indexed on all drivers that support GL_ARB_draw_buffers_blend
- GL_OES_gpu_shader5 and GL_EXT_gpu_shader5 on all drivers that support GL_ARB_gpu_shader5
- GL_OES_sample_shading on i965, nvc0, r600, radeonsi
- GL_OES_sample_variables on i965, nvc0, r600, radeonsi
- GL_OES_shader_image_atomic on all drivers that support GL_ARB_shader_image_load_store
- GL_OES_shader_io_blocks on i965, nvc0, radeonsi
- GL_OES_shader_multisample_interpolation on i965, nvc0, r600, radeonsi
- GL_OES_texture_border_clamp and GL_EXT_texture_border_clamp on all drivers that support GL_ARB_texture_border_clamp
- GL_OES_texture_buffer and GL_EXT_texture_buffer on i965, nvc0, radeonsi
- EGL_KHR_reusable_sync on all drivers
- GL_ARB_stencil_texture8 and GL_OES_stencil_texture8 on i965/gen8+

## Bug fixes

- Bug 42187 - ES 1.1 conformance pntszary.c fail
- Bug 71789 - [r300g] Visuals not found in (default) depth = 24
- Bug 81585 - piglit spec_glsl-1.10_compiler_literals_invalid-float-suffix-capital-f.vert fails
- Bug 83036 - [ILK]Piglit spec_ARB_copy_image_arb_copy_image-formats fails
- Bug 89607 - Assertion hit in opt_array_splitting with recursive array indexing
- Bug 90513 - Odd gray and red flicker in The Talos Principle on GK104
- Bug 91526 - World of Warcraft (on Wine) has UI corruption with nouveau
- Bug 92363 - [BSW/BDW] ogles1conform Gets test fails
- Bug 92628 - HTTP site for Mesa downloads
- Bug 92743 - Centroid shouldn't have to match between the FS and the VS
- Bug 92850 - Segfault loading War Thunder
- Bug 93054 - [BDW] DiRT Showdown and Bioshock Infinite only render half the screen (bottom left triangle)
- Bug 93524 - Clover doesn't build
- Bug 93551 - Divinity: Original Sin Enhanced Edition(Native) crash on start
- Bug 93667 - Crash in eglCreateImageKHR with huge texture size
- Bug 93767 - Glitches with soft shadows and MSAA in Knights of the Old Republic 2
- Bug 93840 - [i965] Alien: Isolation fails with GL_ARB_compute_shader enabled
- Bug 93962 - [HSW, regression, bisected, CTS] ES2-CTS.gtf.GL2FixedTests.scissor.scissor - segfault/asserts
- Bug 94081 - [HSW] compute shader shared var + atomic op = fail
- Bug 94086 - Multiple conflicting libGL libraries installed
- Bug 94116 - program interface queries not returning right data for UBO / GL_BLOCK_INDEX
- Bug 94129 - Mesa's compiler should warn about undefined values
- Bug 94181 - [regression] piglit.spec.ext_framebuffer_object.getteximage-formats init-by-clear-and-render
- Bug 94193 - [llvmpipe] Line antialiasing looks different when GL_LINE_STIPPLE is enabled with pattern 0xffff
- Bug 94198 - [HSW] segfault in copy image when copying from cubemap to 2d
- Bug 94199 - Shader abort/crash
- Bug 94253 - [llvmpipe] piglit gl-1.0-swapbuffers-behavior regression
- Bug 94254 - [llvmpipe] [softpipe] piglit read-front regression
- Bug 94257 - [softpipe] piglit glx-copy-sub-buffer regression
- Bug 94274 - [swrast] piglit arb_occlusion_query2-render regression
- Bug 94284 - [radeonsi] outlast segfault on start
- Bug 94291 - llvmpipe tests fail if built on skylake i7-6700k
- Bug 94348 - vkBindImageMemory doesn't take into account the offset when the image is used as a depth buffer
- Bug 94383 - build error on i386 when enabling swr
- Bug 94388 - r600_blit.c:281: r600_decompress_depth_textures: Assertion `tex->is_depth && !tex->is_flushing_texture' failed.
- Bug 94412 - Trine 3 misrender
- Bug 94447 - glsl/glcpp/tests/glcpp-test-cr-lf regression
- Bug 94453 - dEQP-GLES3.functional.clipping.line.wide_line_clip_viewport_{center,corner} fail
- Bug 94454 - dEQP-GLES3.functional.clipping.point.wide_point_clip* fails
- Bug 94456 - dEQP-GLES3.functional.state_query.floats.{blend_color,color_clear_value,depth_clear_value}_getinteger64 fail
- Bug 94458 - dEQP-GLES3.functional.state_query.fbo.framebuffer_attachment_x_size_initial fails
- Bug 94468 - [HSW, regression, bisected] numerous Sascha demos render incorrectly
- Bug 94481 - softpipe - access violation in img_filter_2d_nearest
- Bug 94485 - dEQP-GLES3.functional.negative_api.shader.compile_shader and delete_shader broken by Meta
- Bug 94524 - Wrong gl_TessLevelOuter interpretation for isolines
- Bug 94595 - [Mesa AMD&swrast] Texture views attached as framebuffers return their viewed tecture's color encoding and render incorrectly
- Bug 94657 - [llvmpipe] [softpipe] piglit arb_texture_view-getteximage-srgb regression
- Bug 94661 - [bdw, skl] vk-cts: new test failing
- Bug 94671 - [radeonsi] Blue-ish textures in Shadow of Mordor
- Bug 94713 - [Gen8+] ES 3.1 Stencil texturing broken for 2DArray/Cubes
- Bug 94747 - Convert phi nodes to logical operations
- Bug 94835 - Increase fragment shader sample limits from 16 to 32 (AMD Linux - Mesa/RadeonSi)
- Bug 94847 - [ES3.1CTS] es31-cts.draw_buffers_indexed.color_masks fails
- Bug 94896 - [vulkan] new CTS tests fail on i965
- Bug 94904 - [vulkan, BSW] dEQP-VK.api.object_management.multithreaded_per_thread_device intermittent crash
- Bug 94907 - codegen/nv50_ir_ra.cpp:1330:29: error: ‘isinf’ was not declared in this scope
- Bug 94909 - [llvmpipe] piglit fs-roundEven-float regression
- Bug 94917 - radeonsi supports GL_ARB_shader_storage_buffer_object with 0 GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS
- Bug 94924 - [GEN8] Ungine Valley fails to run due to "intel_do_flush_locked failed: Input/output error"
- Bug 94925 - Crash in egl_dri3_get_dri_context with Dolphin EGL/X11 in single-core mode
- Bug 94944 - [regression, hswgt1] gpu hang on arb_shader_image_load_store
- Bug 94955 - Uninitialized variables leads to random segfaults (valgrind log, apitrace attached)
- Bug 94969 - build fails because install-data-local doesn't follow $DESTDIR
- Bug 94972 - blend failures on llvmpipe with llvm 3.7 due to vector selects
- Bug 94979 - dolphin-emu rendering broken on gallium/SWR + crashing often
- Bug 94984 - XCom2 crashes with SIGSEGV on radeonsi
- Bug 94994 - OSMesaGetProcAdress always fails on mangled OSMesa
- Bug 94997 - [vulkan, SKL,BDW,HSW] deqp-vk.spirv_assembly.instruction.compute.opcopymemory.array regression
- Bug 94998 - [vulkan] deqp-vk.pipeline.push_constant.graphics_pipeline.count_3shader_vgf regression
- Bug 95001 - [vulkan] deqp-vk.binding_model.shader_access regression
- Bug 95005 - Unreal engine demos segfault after shader compilation error with OpenGL 4.3
- Bug 95026 - Alien Isolation segfault after initial loading screen/video
- Bug 95034 - vkResetCommandPool should not destroy the command buffers.
- Bug 95071 - [bisected] Wrong colors in KDE/Qt applications
- Bug 95133 - X-COM Enemy Within crashes when entering tactical mission with Bonaire
- Bug 95138 - [deqp, 32bit, gen8+] deqp-gles31.functional.draw_indirect.negative
- Bug 95142 - [ES3.1CTS,GEN8] ESEXT-CTS.draw_elements_base_vertex_tests.invalid_mapped_bos assertion
- Bug 95158 - glx-test compilation fails in `make check`
- Bug 95164 - GLSL compiler (linker I think) emits assertion upon call to glAttachShader
- Bug 95180 - rasterizer/memory/Convert.h:170:9: error: ‘__builtin_isnan’ is not a member of ‘std’
- Bug 95198 - Shadow of Mordor beta has missing geometry with gl 4.3
- Bug 95203 - Tonga GST/OMX/VCE encode broken since mesa: st/omx: Fix resource leak on OMX_ErrorNone
- Bug 95211 - scons TypeError: 'tuple' object is not callable
- Bug 95246 - Segfault in glBindFramebuffer()
- Bug 95251 - vdpau decoder capabilities: not supported
- Bug 95252 - [deqp] deqp-gles31.functional.debug.object_labels.query_length_only crashes
- Bug 95292 - [IVB,SKL] vulkan: stride/tiling issue with vkCmdCopyBufferToImage from larger source buffer into destination image
- Bug 95296 - nir_lower_double_packing.c:79:4: error: void function 'lower_double_pack_impl' should not return a value [-Wreturn-type]
- Bug 95324 - GL33-CTS.gtf32.GL3Tests.packed_pixels.packed_pixels_pbo fails in one case on Haswell
- Bug 95370 - [965GM] piglit fails many tests after a5d7e144
- Bug 95373 - Suspicious warning in brw_blorp_clear.cpp
- Bug 95403 - [GK110] misaligned_gpr spamming dmesg when playing victor vran
- Bug 95419 - [HSW][regression][bisect] RPG Maker game gives "invalid floating point operation" at startup
- Bug 95456 - glXGetFBConfigs has invalid screen bounds
- Bug 95462 - [BXT,BSW] arb_gpu_shader_fp64 causes gpu hang
- Bug 95529 - [regression, bisected] Image corruption in Chrome
- Bug 95537 - Invalid argument in anv_ioctl called from anv_physical_device_init
- Bug 96221 - nir/nir_lower_tex.c:202: error: unknown field ‘f32’ specified in initializer
- Bug 96228 - SSBO test regressions from mesa 5b267509
- Bug 96236 - dri_interface.h:404: error: redefinition of typedef ‘mesa_glinterop_device_info’
- Bug 96238 - swr fails to build outside of the main directory
- Bug 96239 - [radeonsi tessellation] [R9 290/390] Random "texture flickering" (Shadow of Mordor, Tomb Raider, Unigine Heaven 4.0)
- Bug 96258 - [NVC0] Hang when running compute program
- Bug 96285 - Mesa build broken
- Bug 96299 - [vulkan] 64 regressions due to mesa d5f2f32
- Bug 96346 - [SNB,CTS] es2-cts.gtf.gl.atan regression
- Bug 96349 - [CTS,SKL,BSW,BDW,KBL,BXT] es31-cts.arrays_of_arrays.interactionuniformbuffers3
- Bug 96351 - [CTS,SKL,KBL,BXT] es2-cts.gtf.gl2extensiontests.egl_image.egl_image
- Bug 96358 - SSO: wrong interface validation between GS and VS (regresion due to latest gles 3.1)
- Bug 96425 - [bisected] occasional dark render in The Talos Principle
- Bug 96504 - [vulkancts] compute tests crash
- Bug 96516 - [bisected: 482526] "clover: Update OpenCL version string to match OpenGL": clover's build fails because of missing git_sha1.h
- Bug 96565 - Clive Barker's Jericho displays strange,vivid colors when motion blur enabled
- Bug 96607 - [bisected] texture misrender / flicker in The Talos Principle on SKL
- Bug 96617 - gl_SecondaryFragDataEXT doesn't work for extended blend func
- Bug 96629 - dEQP-GLES2.functional.texture.completeness.cube.not_positive_level_0: Assertion `width >= 1' failed.
- Bug 96639 - st/mesa: transfer_map with too-high level with dEQP-GLES2.functional.texture.completeness.cube.extra_level
- Bug 96674 - [SNB, ILK] spec.ext_image_dma_buf_import.ext_image_dma_buf_import-sample_nv1
- Bug 96765 - BindFragDataLocationIndexed on array fragment shader output.
- Bug 96791 - Cannot use image from swapchains for sampling
- Bug 96825 - anv_device.c:31:27: fatal error: anv_timestamp.h: No such file or directory

## Changes

Radeon drivers (r600 and radeonsi) now require LLVm 3.6 as a minimum.