Mesa 19.1's New Features From The Intel Gallium3D Driver To New Drivers & Vulkan Optimizations
Mesa 19.1 should be out any day now as the new quarterly feature release for this collection of open-source graphics drivers predominantly used on Linux systems. While we cover the Mesa development features on a near daily basis, here is a recap of all the exciting changes and new features to find with the upcoming Mesa 19.1.
Mesa 19.1 is quite a significant step forward for open-source graphics drivers. Mesa 19.1 brings multiple new OpenGL/Vulkan drivers and plenty of improvements to the existing drivers. Among the changes worked on for Mesa 19.1 over the past three months include:
- Arguably the biggest change with Mesa 19.1 is the introduction of their new Gallium3D driver called Iris while supporting all HD/UHD/Iris Graphics hardware going back to the Gen8 Broadwell days. Broadwell is the oldest Intel hardware to be supported by this new Gallium3D driver while the earlier Gen hardware will still be supported by the mature i965 driver. The Intel Gallium3D driver isn't yet enabled by default in place of their existing driver but that is a goal they have to address by year's end. In our benchmarking of the Intel Gallium3D driver on Mesa 19.1 at least for Skylake and newer, the Gallium3D performance is already comparable (or exceeding) their classic OpenGL driver.
- While the Intel Gallium3D driver already has support for Gen11 Icelake graphics, the current i965 OpenGL driver did see more Gen11 graphics support improvements in 19.1.
- Mesa 19.1 also saw the addition of Intel Comet Lake support as more Gen 9 graphics while on the Gen 11 front is also Elkhart Lake support.
- RADV now supports Adaptive-Sync / FreeSync, joining the RadeonSI FreeSync support since Mesa 19.0. This FreeSync AMD support requires at least the Linux 5.0 kernel.
- A Vulkan overlay for showing performance metrics of similar nature to the Gallium3D HUD but for Vulkan games/applications instead.
- Another new driver to Mesa 19.1 is the long-awaited Lima driver for supporting older Arm Mali 400/450 series graphics processors and works with the new DRM/KMS driver to be found in Linux 5.2.
- Meanwhile there's also the Panfrost Gallium3D driver for supporting newer Arm Mali Bifrost/Midgard hardware and is becoming quite vibrant and good performance.
- There's also a new Vulkan driver with Mesa 19.1 and that is the TURNIP driver in working on Qualcomm Adreno open-source Vulkan support.
- Reduction of Gallium3D input lag. Rade - Minor Intel performance optimizations to their OpenGL and Vulkan drivers.
- The RadeonSI/RADV performance has been mostly flat with 19.1 albeit with some exceptions.
- ARB_parallel_shader_compile / KHR_parallel_shader_compile are now enabled for all drivers, which are the OpenGL extensions for controlling the parallel GLSL shader compilation behavior.
- Other newly-supported OpenGL extensions include EXT_shader_image_load_formatted (RadeonSI), EXT_gpu_shader4 (GL 3.1+ drivers), EXT_texture_buffer_object (GL 3.1+ drivers), EXT_texture_compression_s3tc_srgb, NV_compute_shader_derivatives (Iris / i965), and INTEL_conservative_rasterization (Iris).
- The Intel ANV and Radeon RADV Vulkan drivers also picked up support for a number of new extensions including EXT_buffer_device_address, EXT_depth_clip_enable, EXT_inline_uniform_block, EXT_host_query_reset, KHR_surface_protected_capabilities, EXT_pipeline_creation_feedback, and KHR_shader_float16_int8.
- The Intel Vulkan driver additionally added KHR_ycbcr_image_arrays. EXT_external_memory_host, NV_compute_shader_derivatives, KHR_shader_atomic_int64, EXT_descriptor_indexing and EXT_memory_budget.