Mesa 19.1.0 is now available
The long-delayed major update to the Linux graphics stack has parallel shader compiling for all drivers and many new GL extensions for AMD and Intel GPUs. There is also a whole lot of new Vulkan features added, many of which are specific to AMD GPUs. The two blocker-bugs which cased this release to be delayed are finally resolved.
There's also conservative rasterization for those who want to experiment with the new Intel Iris graphics driver which will eventually replace the currently-used i965 driver.
More than 3700 commits from 158 different developers went into this major Mesa update.
- GL_ARB_parallel_shader_compile for all drivers.
- GL_EXT_gpu_shader4 on all GL 3.1 drivers.
- GL_EXT_shader_image_load_formatted on radeonsi.
- GL_EXT_texture_buffer_object on all GL 3.1 drivers.
- GL_EXT_texture_compression_s3tc_srgb on Gallium and i965 drivers (ES extension).
- GL_NV_compute_shader_derivatives on Iris and i965 drivers.
- GL_KHR_parallel_shader_compile on all drivers.
- GL_INTEL_conservative_rasterization on Iris.
The New Vulkan Features
The New AMD GPU-specific Vulkan Features
Changes since the last release-candidate
The changes since the release of 19.1.0 RC5 are as follows:
- radv: Prevent out of bound shift on 32-bit builds.
- svga: Remove unnecessary check for the pre flush bit for setting vertex buffers
- winsys/drm: Fix out of scope variable usage
- winsys/svga/drm: Fix 32-bit RPCI send message
- egl/dri: flesh out and use dri2_create_drawable()
- mapi: add static_date offset to MaxShaderCompilerThreadsKHR
- mapi: correctly handle the full offset table
- util/os_file: actually return the error read() gave us
- nir/propagate_invariant: Don't add NULL vars to the hash table
- Update version to 19.1.0
- docs: Add release notes for 19.1.0
- egl/x11: calloc dri2_surf so it's properly zeroed
- intel/perf: fix EuThreadsCount value in performance equations
- intel/perf: improve dynamic loading config detection
- anv/cmd_buffer: Initalize the clear color struct for CNL+
- anv: Fix check for isl_fmt in assert
- freedreno/a6xx: fix issues with gallium HUD
- freedreno/a6xx: fix hangs with newer sqe fw
- radv: fix alpha-to-coverage when there is unused color attachments
- radv: fix setting CB_SHADER_MASK for dual source blending
The new features are not the whole story. There's also many smaller optimizations which should give you more frames per second in fun free games like SuperTuxKart.
There will be one last release of the 19.0.x series, 19.0.7 was not meant to be but will be released due to the delayed release of 19.1.0. Then it's over and 19.0 is done for and distributions will be forced to upgrade to Mesa 19.1.0 and let you and your family have access to this fancy new graphics technology. Expect most distributions to let you have these new graphics features sometime this summer. Some will of course let you have it sooner than others, Manjaro Linux users will probably have Mesa 19.1.0 this week while Debian users may not get it for years.
The Bright Future for 3D Games and Applications on Linux
Mesa 19.2.0 RC1 is scheduled for August 6th and with a final release at the end of August. A complete timeline is available at https://www.mesa3d.org/release-calendar.html
Quick last tip for Fedora 30 users
There is a copr backport of Mesa 19.1 with packages for both Fedrao 29 and Fedora 30.
published 2019-06-11 - last edited 2019-06-26