Mesa 19.2 rc2 released with support for Navi and "unreleased" AMD chip
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.
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"
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"
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