Timo Aaltonen pushed to branch upstream-unstable at X Strike Force / lib / mesa
Commits: ce21088e by Eric Engestrom at 2020-09-02T22:35:27+02:00 docs/relnotes: add sha256 sums to 20.1.7 - - - - - 60eaaf7f by Eric Engestrom at 2020-09-16T19:23:18+02:00 .pick_status.json: Update to 123bdb61cc0be64ee29b63cf27565ec98c2a0ab8 - - - - - 3f55b4c5 by Eric Engestrom at 2020-09-16T19:23:23+02:00 .pick_status.json: Mark c8ac01af33a5bc63822915f08f89a7dbaf7d433f as denominated - - - - - 2f6cd0af by Danylo Piliaiev at 2020-09-16T19:23:23+02:00 intel/compiler: Fix pointer arithmetic when reading shader assembly start_offset is a byte offset. Fixes: 04a995158084acbd1917b4c7e0f8d381e1c9222d Signed-off-by: Danylo Piliaiev <[email protected]> Reviewed-by: Lionel Landwerlin <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6557> (cherry picked from commit 87fa645b9438ce7943ae09012f695a7a1bca3eeb) - - - - - 022c22d1 by Eric Anholt at 2020-09-16T19:23:23+02:00 gallium/tgsi_exec: Fix up NumOutputs counting We can get duplicate declarations for an index (for example dvec3 + float packed into 2 vec4s, the second one won't pack into the first's array decl), and we'd end up stepping by the wrong amount in GS vtx/prim emit. Fixes vs-gs-fs-double, sso-vs-gs-fs-array-interleave piglit tests. Fixes: 49155c3264d0 ("draw/tgsi: fix geometry shader input/output swizzling") Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6567> (cherry picked from commit 329dee14555b8c8da59e6b47a51050f2aa736596) - - - - - 361de93f by Jason Ekstrand at 2020-09-16T19:23:23+02:00 intel/fs: Don't copy-propagate stride=0 sources into ddx/ddy This can come up if, for instance, the shader does a derivative of a uniform or flat input. Ideally, NIR would use divergence analysis to get rid of the derivative in this case but it doesn't right now. This fixes a crash in F1 2017. Cc: [email protected] Reported-by: Marcin Ślusarz <[email protected]> Tested-by: Marcin Ślusarz <[email protected]> Reviewed-by: Matt Turner <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6564> (cherry picked from commit 8e8701b43a0fc1997ecdb6a9557dd3e2c1a0d398) - - - - - c4089181 by Bas Nieuwenhuizen at 2020-09-16T19:23:23+02:00 radv: Fix threading issue with submission refcounts. If decrement == 0 then: - it isn't safe to access the submission - even if it is, checking that the result of the atomic_sub is 0 doesn't given an unique owner anymore. So skip it. The submission always starts out with refcount >= 1, so first one to decrement to 0 still get dibs on executing it. Fixes: 4aa75bb3bdd "radv: Add wait-before-submit support for timelines." Reviewed-by: Samuel Pitoiset <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6478> (cherry picked from commit 6b75262941b55960e2f73d93f85020fa6c9c2d2f) - - - - - 489e07d8 by Tony Wasserka at 2020-09-16T19:23:23+02:00 radv: Fix various non-critical integer overflows The result of 0xf << 28 is a signed integer and hence overflows into the sign bit. In practice compilers did the right thing here, since the intent of the code was unsigned arithmetic anyway. These conditions were observed in: * dEQP-VK.pipeline.image.suballocation.sampling_type.combined.view_type.1d.format.r4g4b4a4_unorm_pack16.count_8.size.512x1 * dEQP-VK.binding_model.descriptorset_random.sets32.noarray.ubolimitlow.sbolimitlow.sampledimglow.outimgonly.noiub.nouab.frag.ialimithigh.0 Cc: mesa-stable Reviewed-by: Bas Nieuwenhuizen <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6568> (cherry picked from commit f18fc34c4d56d6e7d511002b39a257e18d8b3af3) - - - - - 3c19a2cf by Tony Wasserka at 2020-09-16T19:23:24+02:00 aco: Fix integer overflows when emitting parallel copies during RA 32-bit shifts were accidentally used before this change despite the intended output being 64 bits. This was observed when compiling Dolphin's ubershaders. Cc: mesa-stable Reviewed-by: Bas Nieuwenhuizen <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6568> (cherry picked from commit 2182bbf84f0f19846a47f0438ec702f4d862731e) - - - - - db89c572 by Tony Wasserka at 2020-09-16T19:23:24+02:00 amd/common: Fix various non-critical integer overflows The result of 0xf << 28 is a signed integer and hence overflows into the sign bit. In practice compilers did the right thing here, since the intent of the code was unsigned arithmetic anyway. Cc: mesa-stable Reviewed-by: Daniel Schürmann <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6568> (cherry picked from commit 93c8777ace8453f4cbc879d0829e582cf151066f) - - - - - 59bd16ee by Nanley Chery at 2020-09-16T19:23:24+02:00 iris: Fix aux assertion in resource_get_handle iris_resource_get_handle currently asserts that the resource has an aux state that is suitable for sharing. However, the caller of this function can pass a flag to specify that it will handle flushing/resolving the resource as needed for sharing. Take this flag into account when asserting the state of the aux buffer. Fixes: e81392868e6 ("iris/resource: Drop redundant checks for aux support") Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/128 Reviewed-by: Kenneth Graunke <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/1371> (cherry picked from commit 3cf6325e724dbc20076629983dd1fed5ecac533a) - - - - - b1433c1b by Eric Engestrom at 2020-09-16T19:23:24+02:00 meson: drop leftover PTHREAD_SETAFFINITY_IN_NP_HEADER 55765f80 replaced this with a check for the header itself. Fixes: 55765f80b9ce7cce4ec6 ("util/u_thread: include pthread_np.h if found") Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Jonathan Gray <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6548> (cherry picked from commit 0f4d09443eba0c5a219c943940ff970f3d583f56) - - - - - 7c6bff55 by Rhys Perry at 2020-09-16T19:23:24+02:00 aco: fix byte_align_scalar for 3 dword vectors Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]> Fixes: fe08f0ccf94a7315bded5868b4f6a8bae744de79 ('aco: add byte_align_scalar() & trim_subdword_vector() helper functions') Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4710> (cherry picked from commit 8faf85f68770ee3e060bb74c87e857070f336a02) - - - - - 6781cc30 by Andrey Vostrikov at 2020-09-16T19:23:24+02:00 egl/x11: Free memory allocated for reply structures on error This patch fixes memory leaks when reply is allocated and is not freed on error execution path. Found by enabling address sanitizer on simple EGL app. ```c int main() { EGLDisplay display = eglGetDisplay(EGL_DEFAULT_DISPLAY); EGLint major; EGLint minor; if (!eglInitialize(display, &major, &minor)) { return 1; } eglTerminate(display); return 0; } ``` Compiled with: `gcc testme.c -o testme -fsanitize=address -lasan -lEGL` Execution environment: - Windows 10, VMWare Player 15.5.2 build-15785246 without 3D accelaration - Guest OS: OpenSUSE Leap 15.2 - Mesa 19.3.4 Program output: ```sh ASAN_OPTIONS=fast_unwind_on_malloc=0 ./testme libEGL warning: DRI2: failed to authenticate ==52510==ERROR: LeakSanitizer: detected memory leaks Direct leak of 32 byte(s) in 1 object(s) allocated from: #0 0x7fa62315f500 in malloc (/usr/lib64/libasan.so.4+0xdc500) #1 0x7fa61e12d86b (/usr/lib64/libxcb.so.1+0xf86b) #2 0x7fa61e12b5c7 (/usr/lib64/libxcb.so.1+0xd5c7) #3 0x7fa61e12cc3e (/usr/lib64/libxcb.so.1+0xec3e) #4 0x7fa61e12cd4f in xcb_wait_for_reply (/usr/lib64/libxcb.so.1+0xed4f) #5 0x7fa61ebe02a5 (/usr/lib64/libEGL_mesa.so.0+0x202a5) #6 0x7fa61ebdb5ca (/usr/lib64/libEGL_mesa.so.0+0x1b5ca) #7 0x7fa61ebd750c (/usr/lib64/libEGL_mesa.so.0+0x1750c) #8 0x7fa61ebd7554 (/usr/lib64/libEGL_mesa.so.0+0x17554) #9 0x7fa61ebd1107 (/usr/lib64/libEGL_mesa.so.0+0x11107) #10 0x400856 in main (/home/user/testme+0x400856) #11 0x7fa622ad8349 in __libc_start_main (/lib64/libc.so.6+0x24349) #12 0x4006e9 in _start (/home/user/testme+0x4006e9) SUMMARY: AddressSanitizer: 32 byte(s) leaked in 1 allocation(s). ``` Signed-off-by: Andrey Vostrikov <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> Cc: mesa-stable Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6611> (cherry picked from commit 42420730d1cc88c5b4f1518365e9c273d7d4a120) - - - - - b8127c7c by Marek Olšák at 2020-09-16T19:23:24+02:00 Revert "ac: generate FMA for inexact instructions for radeonsi" This reverts commit 4b9370cb0f3a2d9030e827f847f66bdefeaf08fd. Fixes: 4b9370cb0f3a2d9030e827f847f66bdefeaf08fd Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3429 Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6284> (cherry picked from commit f85294207f808c8f3072d63ac9e8624f9594045c) - - - - - 8a3404c5 by Qiang Yu at 2020-09-16T19:23:25+02:00 radeonsi: fix syncobj wait timeout syncobj wait takes absolute timeout value. Fixes: 162502370c7 "winsys/amdgpu: implement sync_file import/export" Reviewed-by: Marek Olšák <[email protected]> Signed-off-by: Qiang Yu <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6579> (cherry picked from commit c638301b42bc6ea1a623c2a53646047197fb8030) - - - - - a7a64ae9 by Michel Zou at 2020-09-16T19:23:25+02:00 swr: fix build with mingw Reviewed-by: Jan Zielinski <[email protected]> Tested-by: Prodea Alexandru-Liviu <[email protected]> Cc: mesa-stable closes #3454 Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6532> (cherry picked from commit 2c94a9788e79e5b5ea17c581ab49bc4c2aaf9a0c) - - - - - e0987370 by Bas Nieuwenhuizen at 2020-09-16T19:23:25+02:00 radeonsi: Work around Wasteland 2 bug. Confirmed by an user on AMD HW that this driconf flag works around the issue. Gitlab: https://gitlab.freedesktop.org/mesa/mesa/-/issues/1535 CC: mesa-stable Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6637> (cherry picked from commit 9b3491870fcf76028a2eef42a95e35a4732a5bd4) - - - - - f524454b by Rhys Perry at 2020-09-16T19:23:25+02:00 nir/opt_if: fix opt_if_merge when destination branch has a jump Fixes a case where opt_if_merge created code like: if (...) { break; loop { ... } } which caused opt_peel_loop_initial_if to complain that the loop pre-header wasn't a predecessor of the loop header. This patch prevents this (invalid, I think) unreachable code from being created. Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Timothy Arceri <[email protected]> Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3496 Fixes: 4d3f6cb9739 ('nir: merge some basic consecutive ifs') Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6633> (cherry picked from commit 6cef8040672e84393e59ed6efa9953c95f5f8c92) - - - - - 76bb0541 by Jason Ekstrand at 2020-09-16T19:23:26+02:00 spirv: Run repair_ssa if there are discard instructions SPIR-V's OpKill is a control-flow instruction but NIR's discard is not. Therefore, it can be valid SPIR-V to have if (...) { foo = /* something */ } else { discard; } use(foo); without any phi between the definition of foo and its use. This is not true in NIR, however, because NIR's discard isn't considered control-flow. Arguably, this is a NIR bug but making discard control- flow is a very deep change that can have serious ans subtle side-effects. The easier thing to do is just fix up the SSA in case we have an OpKill which might have gotten us into the above case. Fixes dEQP-VK.graphicsfuzz.vectors-and-discard-in-function with the new NIR dominance validation pass enabled. Cc: [email protected] Reviewed-by: Daniel Schürmann <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5288> (cherry picked from commit 7cedc4128a1f9d8ecae00ff41ccf1b63e4f3ebd0) - - - - - dfdefc94 by Eric Anholt at 2020-09-16T19:23:26+02:00 freedreno: Make the pack struct have a .qword for wide addresses. Storing a precomputed iova in reg packing wasn't possible because you'd truncate to 32 bits. Making it be .qword makes it possible. Cc: mesa-stable Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6592> (cherry picked from commit 3b3772d6e694da91ead40c144292f5a93b2aa42e) - - - - - a57ecd7f by Jason Ekstrand at 2020-09-16T19:23:26+02:00 nir: More NIR_MAX_VEC_COMPONENTS fixes A couple of these probably aren't strictly necessary but they won't hurt. The one that's particularly tricky is a fixed-length array in nir_search.h. However, to avoid blowing up the binary size of nir_opt_algebraic by about 2x, we just assert that only small ops are used. Cc: [email protected] Reviewed-by: Jesse Natalie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6655> (cherry picked from commit d86e38af2c6c9e7f70b31fb6482a875c6d10427c) - - - - - b5531f57 by Icecream95 at 2020-09-16T19:23:26+02:00 pan/mdg: Fix spilling of non-32-bit types The source argument for mov has index 1, not 0. Fixes a vertex shader in SuperTuxKart. Fixes: b4de9e035ac ("pan/mdg: Mask spills from texture write") Reported-by: macc24 Reviewed-by: Alyssa Rosenzweig <[email protected]>~ Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6659> (cherry picked from commit a4885d26915d290192f3bb5e5f50355cfa266a59) - - - - - 1cd61810 by Dave Airlie at 2020-09-16T19:23:27+02:00 gallivm: disable brilinear for lod bias and explicit lod. This allows GL 4.5 CTS to pass in full with no flags, other than that I'm not sure if it's a good or bad idea. Reviewed-by: Roland Scheidegger <[email protected]> Cc: [email protected] Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6638> (cherry picked from commit b0722cb670156ef7d8d1ada4afaf8bf5cd5b9dba) - - - - - 8e6f14e6 by Nanley Chery at 2020-09-16T19:23:27+02:00 blorp: Fix alignment test for HIZ_CCS_WT fast-clears Remove the extra logical ORs in the ternary operation. Fixes: 5425fcf2cb3 ("intel/blorp: Satisfy HIZ_CCS fast-clear alignments") Reviewed-by: Kenneth Graunke <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6650> (cherry picked from commit 1eff389bd3ee17c340d9047051f559f0ac4e44b5) - - - - - e3fe502b by Qiang Yu at 2020-09-16T19:23:27+02:00 radeonsi: fix max syncobj wait timeout syncobj wait takes int64_t timeout and won't clamp it in kernel code, so we have to pass in INT64_MAX instead of OS_TIMEOUT_INFINITE which is UINT64_MAX. Otherwise syncobj wait with OS_TIMEOUT_INFINITE case just return fail. Fixes: c638301b42b "radeonsi: fix syncobj wait timeout" Reviewed-by: Marek Olšák <[email protected]> Signed-off-by: Qiang Yu <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6676> (cherry picked from commit ef980ac0c1cd65993ba0c1d20e1c09b45bfef99d) - - - - - 94faf66a by Jordan Justen at 2020-09-16T19:23:27+02:00 anv, iris: Set MediaSamplerDOPClockGateEnable for gen12+ This has been shown to help performance on TGL and DG1. This could be applied to gen9+, but we still need to show if it helps with those platforms. Rework: * Make change in src/intel/vulkan/genX_cmd_buffer.c too. (Ken) * Keep mask as 3 for gen < 12 Cc: [email protected] Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6684> (cherry picked from commit 20a4235c4c96592e13648da494ca446288ac9a2f) - - - - - 0e1aa8da by Timur Kristóf at 2020-09-16T19:23:27+02:00 aco: Fix emit_boolean_exclusive_scan in wave32 mode. Use the lane mask instead of s2 for the register class. Cc: [email protected] Signed-off-by: Timur Kristóf <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6699> (cherry picked from commit efa1c760d15fb645bed9d6c83e73a770b2fe0bd6) - - - - - 0831f06c by Pierre-Eric Pelloux-Prayer at 2020-09-16T19:23:28+02:00 mesa: rename _mesa_free_errors_data Use the _mesa_init_XXX / _mesa_destroy_XXX pattern to clearly associate the 2 functions. Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5789> (cherry picked from commit e6f7b4312f5f924c8da74d8989ef4ebec7466240) - - - - - 94047bae by Pierre-Eric Pelloux-Prayer at 2020-09-16T19:23:28+02:00 mesa: add bool param to _mesa_free_context_data The param controls whether _mesa_destroy_debug_output should be called or not. No functional changes; this will be used by the next commit. Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5789> (cherry picked from commit 7f0b6a5df8e360e52a97f59948dda927fe9df15e) - - - - - d0634a16 by Pierre-Eric Pelloux-Prayer at 2020-09-16T19:23:28+02:00 mesa/st: release debug_output after destroying the context Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3230 Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2218 Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5789> (cherry picked from commit 25baceafd3dfbc288fe05876c7c088549e46d9d4) - - - - - 2dc3d4c6 by Pierre-Eric Pelloux-Prayer at 2020-09-16T19:23:28+02:00 r600/uvd: set dec->bs_ptr = NULL on unmap To avoid using a dangling pointer. See https://gitlab.freedesktop.org/mesa/mesa/-/issues/1308 Cc: mesa-stable Reviewed-by: Boyuan Zhang <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6556> (cherry picked from commit eb60849ea2484c6ba09843ce1c29ba161fa6d02e) - - - - - 6a766857 by Pierre-Eric Pelloux-Prayer at 2020-09-16T19:23:28+02:00 radeon/vcn: set dec->bs_ptr = NULL on unmap To avoid using a dangling pointer. Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/1308 Cc: mesa-stable Reviewed-by: Boyuan Zhang <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6556> (cherry picked from commit 7d853966df4f6d0ded845a6ba2b2af7c46404157) - - - - - fcab33fc by Eric Engestrom at 2020-09-16T19:24:14+02:00 docs: add release notes for 20.1.8 - - - - - e60a00a3 by Eric Engestrom at 2020-09-16T19:27:48+02:00 VERSION: bump to release 20.1.8 - - - - - 30 changed files: - .gitlab-ci/deqp-llvmpipe-fails.txt - .gitlab-ci/piglit/quick_shader.txt - .pick_status.json - VERSION - docs/relnotes/20.1.7.html - + docs/relnotes/20.1.8.html - meson.build - src/amd/common/ac_shader_util.c - src/amd/compiler/aco_instruction_selection.cpp - src/amd/compiler/aco_register_allocation.cpp - src/amd/llvm/ac_llvm_helper.cpp - src/amd/llvm/ac_llvm_util.h - src/amd/llvm/ac_nir_to_llvm.c - src/amd/vulkan/radv_device.c - src/amd/vulkan/radv_pipeline.c - src/amd/vulkan/radv_shader_args.c - src/amd/vulkan/radv_shader_info.c - src/compiler/nir/nir_algebraic.py - src/compiler/nir/nir_instr_set.c - src/compiler/nir/nir_lower_regs_to_ssa.c - src/compiler/nir/nir_lower_subgroups.c - src/compiler/nir/nir_move_vec_src_uses_to_dest.c - src/compiler/nir/nir_opt_comparison_pre.c - src/compiler/nir/nir_opt_idiv_const.c - src/compiler/nir/nir_opt_if.c - src/compiler/nir/nir_opt_vectorize.c - src/compiler/spirv/vtn_cfg.c - src/compiler/spirv/vtn_private.h - src/egl/drivers/dri2/platform_x11.c - src/freedreno/registers/gen_header.py The diff was not included because it is too large. View it on GitLab: https://salsa.debian.org/xorg-team/lib/mesa/-/compare/c0e5cf9a874dc573a8e012216179c4b94e19ef13...e60a00a35653ef8d7eddc1905a66a74026ed843d -- View it on GitLab: https://salsa.debian.org/xorg-team/lib/mesa/-/compare/c0e5cf9a874dc573a8e012216179c4b94e19ef13...e60a00a35653ef8d7eddc1905a66a74026ed843d You're receiving this email because of your account on salsa.debian.org.

