Mesa 19.2.0 Release Notes / 2019.09.25¶
Mesa 19.2.0 is a new development release. People who are concerned with stability and reliability should stick with a previous release or wait for Mesa 19.2.1.
Mesa 19.2.0 implements the OpenGL 4.5 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.5. OpenGL 4.5 is only available if requested at context creation. Compatibility contexts may report a lower version depending on each driver.
Mesa 19.2.0 implements the Vulkan 1.1 API, but the version reported by the apiVersion property of the VkPhysicalDeviceProperties struct depends on the particular driver being used.
SHA256 checksums¶
b060caa2a00f856431160ff7377d0e8f58f2aa48c16ee5a9e265ebdccb10852a mesa-19.2.0.tar.xz
New features¶
GL_ARB_post_depth_coverage on radeonsi (Navi)
GL_ARB_seamless_cubemap_per_texture on etnaviv (if GPU supports SEAMLESS_CUBE_MAP)
GL_EXT_shader_image_load_store on radeonsi (with LLVM >= 10)
GL_EXT_shader_samples_identical on iris and radeonsi (if using NIR)
GL_EXT_texture_shadow_lod on i965, iris
EGL_EXT_platform_device
VK_AMD_buffer_marker on radv
VK_EXT_index_type_uint8 on radv
VK_EXT_post_depth_coverage on radv
VK_EXT_queue_family_foreign on radv
VK_EXT_sample_locations on radv
VK_EXT_shader_demote_to_helper_invocation on Intel.
VK_KHR_depth_stencil_resolve on radv
VK_KHR_imageless_framebuffer on radv
VK_KHR_shader_atomic_int64 on radv
VK_KHR_uniform_buffer_standard_layout on radv
Bug fixes¶
Bug 103674 - u_queue.c:173:7: error: implicit declaration of function ‘timespec_get’ is invalid in C99
Bug 104395 - [CTS] GTF-GL46.gtf32.GL3Tests.packed_pixels.packed_pixels tests fail on 32bit Mesa
Bug 110765 - ANV regression: Assertion `pass->attachment_count == framebuffer->attachment_count’ failed
Bug 110814 - KWin compositor crashes on launch
Bug 111069 - Assertion fails in nir_opt_remove_phis.c during compilation of SPIR-V shader
Bug 111213 - VA-API nouveau SIGSEGV and asserts
Bug 111241 - Shadertoy shader causing hang
Bug 111248 - Navi10 Font rendering issue in Overwatch
Bug 111271 - Crash in eglMakeCurrent
Bug 111308 - [Regression, NIR, bisected] Black squares in Unigine Heaven via DXVK
Bug 111401 - Vulkan overlay layer - async compute not supported, making overlay disappear in Doom
Bug 111405 - Some infinite ‘do{}while’ loops lead mesa to an infinite compilation
Bug 111411 - SPIR-V shader leads to GPU hang, sometimes making machine unstable
Bug 111414 - [REGRESSION] [BISECTED] Segmentation fault in si_bind_blend_state after removal of the blend state NULL check
Bug 111467 - WOLF RPG Editor + Gallium Nine Standalone: Rendering issue when using Iris driver
Bug 111490 - [REGRESSION] [BISECTED] Shadow Tactics: Blades of the Shogun - problems rendering water
Bug 111493 - In the game The Surge (378540) - textures disappear then appear again when I change the camera angle view
Bug 111509 - [regression][bisected] piglit.spec.ext_image_dma_buf_import.ext_image_dma_buf_import-export fails on iris
Bug 111522 - [bisected] Supraland no longer start
Bug 111529 - EGL_PLATFORM=drm doesn’t expose MESA_query_driver extension
Bug 111552 - Geekbench 5.0 Vulkan compute benchmark fails on Anvil
Bug 111566 - [REGRESSION] [BISECTED] Large CS workgroup sizes broken in combination with FP64 on Intel.
Bug 111576 - [bisected] Performance regression in X4:Foundations in 19.2
Bug 111676 - Tropico 6 apitrace throws error into logs
Bug 111734 - Geometry shader with double interpolators fails in LLVM
Changes¶
Adam Jackson (1):
docs: Update bug report URLs for the gitlab migration
Alex Smith (1):
radv: Change memory type order for GPUs without dedicated VRAM
Alyssa Rosenzweig (1):
pan/midgard: Fix writeout combining
Andres Gomez (1):
docs: Add the maximum implemented Vulkan API version in 19.2 rel notes
Andres Rodriguez (1):
radv: additional query fixes
Arcady Goldmints-Orlov (1):
anv: fix descriptor limits on gen8
Bas Nieuwenhuizen (6):
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.
Revert “ac/nir: Lower large indirect variables to scratch”
tu: Set up glsl types.
radv: Add workaround for hang in The Surge 2.
Caio Marcelo de Oliveira Filho (2):
nir/lower_explicit_io: Handle 1 bit loads and stores
glsl/nir: Avoid overflow when setting max_uniform_location
Connor Abbott (1):
radv: Call nir_propagate_invariant()
Danylo Piliaiev (3):
nir/loop_unroll: Prepare loop for unrolling in wrapper_unroll
nir/loop_analyze: Treat do{}while(false) loops as 0 iterations
tgsi_to_nir: Translate TGSI_INTERPOLATE_COLOR as INTERP_MODE_NONE
Dave Airlie (2):
virgl: fix format conversion for recent gallium changes.
gallivm: fix atomic compare-and-swap
Dave Stevenson (1):
broadcom/v3d: Allow importing linear BOs with arbitrary offset/stride.
Dylan Baker (9):
bump version to 19.2-rc2
nir: Add is_not_negative helper function
Bump version for rc3
meson: don’t generate file into subdirs
add patches to be ignored
Bump version for 19.2.0-rc4
cherry-ignore: Add patches
rehardcode from origin/master to upstream/master
bin/get-pick-list: use –oneline=pretty instead of –oneline
Emil Velikov (1):
Update version to 19.2.0-rc1
Eric Engestrom (14):
ttn: fix 64-bit shift on 32-bit `1`
egl: fix deadlock in malloc error path
util/os_file: fix double-close()
anv: fix format string in error message
freedreno/drm-shim: fix mem leak
nir: fix memleak in error path
anv: add support for driconf
wsi: add minImageCount override
anv: add support for vk_x11_override_min_image_count
amd: move adaptive sync to performance section, as it is defined in xmlpool
radv: add support for vk_x11_override_min_image_count
drirc: override minImageCount=2 for gfxbench
gl: drop incorrect pkg-config file for glvnd
meson: re-add incorrect pkg-config files with GLVND for backward compatibility
Erik Faye-Lund (2):
gallium/auxiliary/indices: consistently apply start only to input
util: fix SSE-version needed for double opcodes
Haihao Xiang (1):
i965: support AYUV/XYUV for external import only
Hal Gentz (2):
glx: Fix SEGV due to dereferencing a NULL ptr from XCB-GLX.
gallium/osmesa: Fix the inability to set no context as current.
Iago Toral Quiroga (1):
v3d: make sure we have enough space in the CL for the primitive counts packet
Ian Romanick (8):
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
nir/algebraic: Do not apply late DPH optimization in vertex processing stages
Ilia Mirkin (1):
gallium/vl: use compute preference for all multimedia, not just blit
Faith Ekstrand (9):
anv: Bump maxComputeWorkgroupSize
nir: Handle complex derefs in nir_split_array_vars
nir: Don’t infinitely recurse in lower_ssa_defs_to_regs_block
nir: Add a block_is_unreachable helper
nir/repair_ssa: Repair dominance for unreachable blocks
nir/repair_ssa: Insert deref casts when needed
nir/dead_cf: Repair SSA if the pass makes progress
intel/fs: Handle UNDEF in split_virtual_grfs
nir/repair_ssa: Replace the unreachable check with the phi builder
Jonathan Marek (1):
freedreno/a2xx: ir2: fix lowering of instructions after float lowering
Jose Maria Casanova Crespo (1):
mesa: recover target_check before get_current_tex_objects
Juan A. Suarez Romero (1):
bin/get-pick-list.sh: sha1 commits can be smaller than 8 chars
Kenneth Graunke (20):
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.
iris: Report correct number of planes for planar images
iris: Fix constant buffer sizes for non-UBOs
gallium: Fix util_format_get_depth_only
iris: Initialize ice->state.prim_mode to an invalid value
intel: Increase Gen11 compute shader scratch IDs to 64.
Lepton Wu (1):
virgl: Fix pipe_resource leaks under multi-sample.
Lionel Landwerlin (9):
util/timespec: use unsigned 64 bit integers for nsec values
util: fix compilation on macos
egl: fix platform selection
vulkan/overlay: bounce image back to present layout
radv: store engine name
driconfig: add a new engine name/version parameter
vulkan: add vk_x11_strict_image_count option
util/xmlconfig: fix regexp compile failure check
drirc: include unreal engine version 0 to 23
Marek Olšák (23):
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
radeonsi/gfx10: don’t call gfx10_destroy_query with compute-only contexts
radeonsi/gfx10: fix wave occupancy computations
radeonsi: add Navi12 PCI ID
amd: add more PCI IDs for Navi14
ac/addrlib: fix chip identification for Vega10, Arcturus, Raven2, Renoir
Mauro Rossi (2):
android: mesa: revert “Enable asm unconditionally”
android: anv: libmesa_vulkan_common: add libmesa_util static dependency
Paulo Zanoni (2):
intel/fs: grab fail_msg from v32 instead of v16 when v32->run_cs fails
intel/fs: fix SHADER_OPCODE_CLUSTER_BROADCAST for SIMD32
Pierre-Eric Pelloux-Prayer (1):
glsl: replace ‘x + (-x)’ with constant 0
Rafael Antognolli (1):
anv: Only re-emit non-dynamic state that has changed.
Rhys Perry (1):
radv: always emit a position export in gs copy shaders
Samuel Iglesias Gonsálvez (1):
intel/nir: do not apply the fsin and fcos trig workarounds for consts
Samuel Pitoiset (11):
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
nir: do not assume that the result of fexp2(a) is always an integral
radv: fix allocating number of user sgprs if streamout is used
radv: fix loading 64-bit GS inputs
radv/gfx10: fix VK_KHR_pipeline_executable_properties with NGG GS
Sergii Romantsov (2):
intel/dri: finish proper glthread
nir/large_constants: more careful data copying
Tapani Pälli (5):
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
iris: close screen fd on iris_destroy_screen
egl: check for NULL value like eglGetSyncAttribKHR does
Thong Thai (1):
Revert “radeonsi: don’t emit PKT3_CONTEXT_CONTROL on amdgpu”
Timur Kristóf (1):
st/nine: Properly initialize GLSL types for NIR shaders.
Vinson Lee (2):
swr: Fix build with llvm-9.0 again.
travis: Fail build if any command in if statement fails.