The second Mesa 19.2 release candidate is now available for hardcore and bleeding edge GNU/Linux users who want the latest in graphics technology. Mesa 19.2 will be the first Mesa version to support the AMD Navi GPUs released this summer as well as a mysterious "unreleased" AMD chip referred to as "Navi14". There is also improvements in the Intel Iris graphics driver for Intel iGPUs.



AMD GPU. Not a Navi.

Mesa 19.2 will be the first Mesa version with support for the AMD Navi GPUs which were released this summer. The upcoming soon to be released Linux kernel 5.3 is also required.

Mesa 19.2 rc2 was brought to you by (ordered by (edits)): Marek Olšák (18), Kenneth Graunke (15), Samuel Pitoiset (7), Tapani Pälli (3), Bas Nieuwenhuizen (3), Lionel Landwerlin (2), Dave Airlie (2), Thong Thai (1), Rafael Antognolli (1), Pierre-Eric Pelloux-Prayer (1), Paulo Zanoni (1), Jose Maria Casanova Crespo (1), Ilia Mirkin (1), Dylan Baker (1), Danylo Piliaiev (1), Andres Rodriguez (1), Alyssa Rosenzweig (1), Alex Smith (1).

We asked AMD employed Mesa developer Marek Olšák about the highlights in the upcoming Mesa 19.2 release:

"Navi10 and Navi14 are the biggest highlights, other than that, 19.2.0.html contains the list of new extensions" Marek Olšák on September 5th, 2019

The mention of a Navi14 in addition to the already-released Navi10 chip peaked our curiosity. Marek Olšák clammed up when we tried to follow up on this:

"sorry, it's an unreleased chip, so I'm not allowed to say what it is" Marek Olšák on September 5th, 2019

Both Navi14 and Navi10 are referred to as gfx10 in the code.

There's also improvements on the Intel side where the Intel Iris driver is slowly striding towards feature-parity with the existing i915 driver for Intel GPUs. The Intel Iris driver is not yet the default driver for Intel graphics, i915 is and it will remain the default for some time. The new Iris driver will eventually replace it- Early adopters eager to test it can try it by starting OpenGL applications with environment variable MESA_LOADER_DRIVER_OVERRIDE=iris set. The Iris drivers performance seems to be pretty much on-par with i915 at this point but your mileage may vary.

The complete shortlog story for Mesa 19.2 rc 2 is:

radv: Change memory type order for GPUs without dedicated VRAM

pan/midgard: Fix writeout combining

radv: additional query fixes

radv: Use correct vgpr_comp_cnt for VS if both prim_id and instance_id are needed.

radv: Emit VGT_GS_ONCHIP_CNTL for tess on GFX10.

radv: Disable NGG for geometry shaders.

nir/loop_unroll: Prepare loop for unrolling in wrapper_unroll

virgl: fix format conversion for recent gallium changes.

gallivm: fix atomic compare-and-swap

nir/algrbraic: Don't optimize open-coded bitfield reverse when lowering is enabled

intel/compiler: Request bitfield_reverse lowering on pre-Gen7 hardware

nir/algebraic: Mark some value range analysis-based optimizations imprecise

nir/range-analysis: Adjust result range of exp2 to account for flush-to-zero

nir/range-analysis: Adjust result range of multiplication to account for flush-to-zero

nir/range-analysis: Fix incorrect fadd range result for (ne_zero, ne_zero)

nir/range-analysis: Handle constants in nir_op_mov just like nir_op_bcsel

gallium/vl: use compute preference for all multimedia, not just blit

mesa: recover target_check before get_current_tex_objects

gallium/ddebug: Wrap resource_get_param if available

gallium/trace: Wrap resource_get_param if available

gallium/rbug: Wrap resource_get_param if available

gallium/noop: Implement resource_get_param

iris: Replace devinfo->gen with GEN_GEN

iris: Fix broken aux.possible/sampler_usages bitmask handling

iris: Update fast clear colors on Gen9 with direct immediate writes.

iris: Drop copy format hacks from copy region based transfer path.

iris: Avoid unnecessary resolves on transfer maps

iris: Fix large timeout handling in rel2abs()

isl: Drop UnormPathInColorPipe for buffer surfaces.

isl: Don't set UnormPathInColorPipe for integer surfaces.

util: Add a _mesa_i64roundevenf() helper.

mesa: Fix _mesa_float_to_unorm() on 32-bit systems.

iris: Fix partial fast clear checks to account for miplevel.

util/timespec: use unsigned 64 bit integers for nsec values

util: fix compilation on macos

radeonsi/gfx10: fix the legacy pipeline by storing as_ngg in the shader cache

radeonsi: move some global shader cache flags to per-binary flags

radeonsi/gfx10: fix tessellation for the legacy pipeline

radeonsi/gfx10: fix the PRIMITIVES_GENERATED query if using legacy streamout

radeonsi/gfx10: create the GS copy shader if using legacy streamout

radeonsi/gfx10: add as_ngg variant for VS as ES to select Wave32/64

radeonsi/gfx10: fix InstanceID for legacy VS+GS

radeonsi/gfx10: don't initialize VGT_INSTANCE_STEP_RATE_0

radeonsi/gfx10: always use the legacy pipeline for streamout

radeonsi/gfx10: finish up Navi14, add PCI ID

radeonsi/gfx10: add AMD_DEBUG=nongg

winsys/amdgpu+radeon: process AMD_DEBUG in addition to R600_DEBUG

radeonsi: add PKT3_CONTEXT_REG_RMW

radeonsi/gfx10: remove incorrect ngg/pos_writes_edgeflag variables

radeonsi/gfx10: set PA_CL_VS_OUT_CNTL with CONTEXT_REG_RMW to fix edge flags

radeonsi: consolidate determining VGPR_COMP_CNT for API VS

radeonsi: unbind blend/DSA/rasterizer state correctly in delete functions

radeonsi: fix scratch buffer WAVESIZE setting leading to corruption

intel/fs: grab fail_msg from v32 instead of v16 when v32->run_cs fails

glsl: replace 'x + (-x)' with constant 0

anv: Only re-emit non-dynamic state that has changed.

radv: allow to enable VK_AMD_shader_ballot only on GFX8+

radv: add a new debug option called RADV_DEBUG=noshaderballot

radv: force enable VK_AMD_shader_ballot for Wolfenstein Youngblood

ac: fix exclusive scans on GFX8-GFX9

radv/gfx10: don't initialize VGT_INSTANCE_STEP_RATE_0

radv/gfx10: do not use NGG with NAVI14

radv: fix getting the index type size for uint8_t

|util: fix os_create_anonymous_file on android

iris/android: fix build and link with libmesa_intel_perf

egl: reset blob cache set/get functions on terminate

Mesa 19.2 final is scheduled to be released on September 18th, 2019. It may be delayed if there are major blockers. One is present in the 19.2 blocker release tracker as of today. There is a patch available and nothing indicates that this will cause the final release to be delayed.

published 2019-09-06 - last edited 2019-09-06