Mesa (staging/21.1): 43 new commits

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Sat Jun 26 17:23:53 UTC 2021


URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9110f5051af4ba6efc74a944d9db37220277dd7e
Author: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Date:   Sat Jun 19 13:14:16 2021 +0300

    anv: allocate bigger batches as we grow command buffers
    
    This is the first time we see an application running out of mmap().
    
    We essentially allocate too many batches (+65k) and end up not being
    able to mmap them, at which point we can't mmap anything anymore and
    things go sideways.
    
    This change allocates bigger batch BOs as we grow an existing command
    buffer. This drastically reduces the number of BOs we need to allocate
    (the benchmark that reported the issue now reaches a max of ~630 BOs,
    instead of reaching 65k and failing previously).
    
    v2: Track the total batch size of command buffers (Jason)
        Just give 0 for batch_len to i915 (Jason)
    
    v3: Fix indentation (Jason)
    
    v4: Drop uncessary reshuffling of error labels (Jason)
    
    v5: Remove empty lines (Marcin)
    
    v6: Limit BO growing to chunks of 16Mb (Jason)
    
    v7: Add assert on initial size (Jason)
    
    v8: Add define for max size (Jason)
    
    v9: Fixup v7 assert for non softpin platforms (Lionel)
    
    Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
    Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4956
    Cc: mesa-stable
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11482>
    (cherry picked from commit 40b67a292297606f0a7576e3ef4087028d5edd17)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e9e1a891585d21d94b9c8481ad320bb3bbe2659b
Author: Caio Marcelo de Oliveira Filho <caio.oliveira at intel.com>
Date:   Fri Jun 18 12:24:11 2021 -0700

    nir/opt_if: Don't split ALU for single block infinite loops
    
    Some infinite loop cases were already covered by other
    restrictions (e.g. if the loop had a body), but the case with a single
    block in the loop body wasn't yet.
    
    This prevents an infinite loop when optimizing the shader in
    dEQP-VK.reconvergence.subgroup_uniform_control_flow_ballot.compute.nesting2.3.2
    and various others reconvergence tests.
    
    Fixes: 0881e90c099 ("nir: Split ALU instructions in loops that read phis")
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com> [v1]
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11476>
    (cherry picked from commit b9519297955c3a75095f986b0e29afaf3a8c923a)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e8627cc66e972030b74281c21531f289ae0622dd
Author: Erik Faye-Lund <erik.faye-lund at collabora.com>
Date:   Tue Jun 22 12:42:50 2021 +0200

    ci/windows: work around meson encoding issues
    
    It turns out, some combinations of Meson and MSVC doesn't handle UTF-8
    symbols in source-files as gracefully as we'd like. Luckily, there's a
    work-around; forcing UTF-8 as the default-encoding.
    
    Please see this Meson ticket for details:
    https://github.com/mesonbuild/meson/issues/8263
    
    Cc: mesa-stable
    Reviewed-by: Jesse Natalie <jenatali at microsoft.com>
    Reviewed-by: Daniel Stone <daniels at collabora.com>
    Acked-by: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11424>
    (cherry picked from commit b437fb810a83382cfae9aa2f38875a9a47e011a1)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=45b8874ddcbf79dde50b770e5ad3d6a504f66abf
Author: Erik Faye-Lund <erik.faye-lund at collabora.com>
Date:   Tue Jun 22 16:01:49 2021 +0200

    aux/trace: fix bool argument
    
    The second argument to debug_get_bool_option is a boolean, not a
    pointer. Passing a NULL-pointer there triggers a warning, which we treat
    as an error on MSVC:
    
    ---8<---
    ../src/gallium/auxiliary/driver_trace/tr_screen.c(1071): error C2220:
    the following warning is treated as an error
    ../src/gallium/auxiliary/driver_trace/tr_screen.c(1071): warning C4047:
    'function': 'bool' differs in levels of indirection from 'void *'
    ../src/gallium/auxiliary/driver_trace/tr_screen.c(1071): error C4024:
    'debug_get_bool_option': different types for formal and actual parameter 2
    ---8<---
    
    Fixes: c1270d4845d ("aux/trace: add screen deduplication for zink+lavapipe tracing")
    Reviewed-by: Jesse Natalie <jenatali at microsoft.com>
    Reviewed-by: Daniel Stone <daniels at collabora.com>
    Acked-by: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11424>
    (cherry picked from commit bae4dca8e461640d8bed57dc77875afb4d5087ce)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9f3f84ab3c178a040d99df140481e3ee81f415cd
Author: Erik Faye-Lund <erik.faye-lund at collabora.com>
Date:   Tue Jun 22 19:37:18 2021 +0200

    libgl-gdi: add missing include
    
    Without this, I get the following error if I try to compile Zink without
    any other drivers:
    
    src/gallium/targets/libgl-gdi/libgl_gdi.c(210): error C2037: left of
    'flush_frontbuffer' specifies undefined struct/union 'pipe_screen'
    
    Fixes: fdfe4a4d307 ("libgl-gdi: add zink support")
    Reviewed-by: Jesse Natalie <jenatali at microsoft.com>
    Acked-by: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11536>
    (cherry picked from commit 9aff548ff4f6c2d52bfca972050324e0eba043ec)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=807fac6371ef52b50734f2df45fb217d56ddbadb
Author: Erik Faye-Lund <erik.faye-lund at collabora.com>
Date:   Wed Jun 23 09:40:44 2021 +0200

    zink: remove unused moltenvk functions
    
    These functions were added, but never used. Let's get rid of them.
    
    Fixes: c2cb2dd3bc6 ("zink: Added support for MacOS MoltenVK APIs.")
    Acked-By: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
    Acked-by: Hoe Hao Cheng <haochengho12907 at gmail.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11554>
    (cherry picked from commit 95cbb560cf73ba60086b3c91d35ebcf577a95320)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c884a02e25270ea41f78dd32f7b3408405a606fc
Author: Timothy Arceri <tarceri at itsqueeze.com>
Date:   Wed Jun 23 23:42:53 2021 +1000

    util: add work around for the game We Happy Few
    
    This is another Unreal engine game that requires the
    allow_glsl_cross_stage_interpolation_mismatch workaround.
    
    Cc: mesa-stable
    Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4966
    
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11558>
    (cherry picked from commit d22cdcd33a4ee2e47b07235f986273b9b69d5804)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f0d4f840f836af0f7560c87fd41df7131c1b31b4
Author: Icecream95 <ixn at disroot.org>
Date:   Wed Jun 23 20:31:37 2021 +1200

    pan/mdg: Add 16 bytes of padding to the end of shaders
    
    Fixes INSTR_INVALID_PC faults when a shader ends on a 16MB boundary.
    
    Cc: mesa-stable
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11551>
    (cherry picked from commit 08495a948e16ac4fe54e282b77e8265551606219)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d743d6c17334d825a211e0a60166ac5533ecb4b3
Author: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer at amd.com>
Date:   Mon Jun 14 17:52:00 2021 +0200

    radeonsi: disable ngg culling on llvm < 12
    
    Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4874
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    CC: mesa-stable
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11362>
    (cherry picked from commit 52547cfbd0dac490ddff6bd8e4f25539fb994d80)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0e3942259f872039080c25d38006effc45747e0e
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Mon May 24 22:53:27 2021 -0700

    intel/fs: Fix synchronization of accumulator-clearing W/A move on TGL+.
    
    Right now the accumulator-clearing move emitted by the generator for
    Wa_14010017096 inherits the SWSB field from the previous instruction.
    This can lead to redundant synchronization, or possibly more serious
    issues if the previous instruction had a TGL_SBID_SET SWSB
    synchronization mode.  Take the SWSB synchronization information from
    the IR.
    
    Fixes: a27542c5ddec8 ("intel/compiler: Clear accumulator register before EOT")
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11433>
    (cherry picked from commit c19cfa9dc22b805581ac5ed3ad835fed3c8506c2)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2b5ac1147bec23c0509109feb50c8f4a639d4fba
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Tue May 25 15:43:01 2021 -0700

    intel/fs: Teach IR about EOT instruction writing the accumulator implicitly on TGL+.
    
    This is unlikely to have had any negative side effect on the original
    TGL, but will lead to issues on XeHP+ if the software scoreboard pass
    isn't able to synchronize the accumulator writes.
    
    Fixes: a27542c5ddec8 ("intel/compiler: Clear accumulator register before EOT")
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11433>
    (cherry picked from commit 63abc083ce5e03843d72465a76fdb93064bc3eb9)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7a2e0b2a87f87d57a7a1f8cdc743c25f48b6b029
Author: Marek Olšák <marek.olsak at amd.com>
Date:   Mon Jun 14 15:51:30 2021 -0400

    mesa: unreference zombie buffers when creating buffers to lower memory usage
    
    This fixes an issue where one context only creates buffers while another
    context only destroys buffers. Only the creating context can release its
    buffers and the destroying context only turns them into zombie buffers.
    
    This fix makes the creating context release its zombie buffers.
    It's not a plot from an apocalyptic movie.
    
    Fixes: e014e3b6be6 "mesa: don't count buffer references for the context that created them"
    Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4840
    
    Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer at amd.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11514>
    (cherry picked from commit ec7e26234901359a694b54f72e7ac78f00b6ab60)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=31aa33c18295b233a4b3a97a9791e0f28e229a53
Author: Simon Ser <contact at emersion.fr>
Date:   Tue Jun 22 14:58:16 2021 +0200

    amd/addrlib: remove Meson debug message()
    
    This message pops up in the Meson build logs, but has no context
    and doesn't seem to be directed at end-users. Sounds like a leftover
    from a debugging session.
    
    Signed-off-by: Simon Ser <contact at emersion.fr>
    Fixes: d0767fc045a1 ("amd/addrlib: use cpp.has_argument() to filter compiler arguments")
    Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer at amd.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11524>
    (cherry picked from commit 17f0d7ef83d753f26957359b471d2471f52a4523)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=94bc232abedd4ce19d8731b5beaa53d55777469a
Author: Thong Thai <thong.thai at amd.com>
Date:   Tue Jun 22 13:47:52 2021 -0400

    radeon/vcn/enc: Add missing line to HEVC SPS header code
    
    Add previously missing line in HEVC SPS header generation on VCN 1.0
    devices, for when an image does not need to be cropped.
    
    Fixes: e62c7e7c6ca ("radeon: Add cropping to encoded H.265 when padding is used")
    Signed-off-by: Thong Thai <thong.thai at amd.com>
    Reviewed-by: Leo Liu <leo.liu at amd.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11535>
    (cherry picked from commit d977e7fbe107898480506fdd7bca9b177718587a)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5378895d48cf473d265e055a883785c550a24f5f
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Mon Feb 1 16:55:33 2021 -0600

    spirv: Create acceleration structure and shader record variables
    
    spirv_to_nir now requires NIR variables to be created for everything.
    
    Fixes: 10b3eecd361af "spirv: Don't remove variables used by resource..."
    Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira at intel.com>
    Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8637>
    (cherry picked from commit 72437f6d540d77e7bcfcfd46938accd996684b51)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=78059b4f52022e99ed6df231b4638c508339082c
Author: Timur Kristóf <timur.kristof at gmail.com>
Date:   Sat Jun 19 14:36:15 2021 +0200

    aco/gfx10: Emit barrier at the start of NGG VS and TES.
    
    The Navi 1x NGG hardware can hang in certain conditions when
    not every wave launched before s_sendmsg(GS_ALLOC_REQ).
    
    As a workaround, to ensure this never happens, let's emit a
    workgroup barrier at the beginning of NGG VS and TES.
    Note that NGG GS already has a workgroup barrier so it doesn't
    need this.
    
    Cc: mesa-stable
    Signed-off-by: Timur Kristóf <timur.kristof at gmail.com>
    Reviewed-by: Rhys Perry <pendingchaos02 at gmail.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10837>
    (cherry picked from commit e6bf5cfe59bfc19124785d39ab25584bfbf07f5e)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f670a5b87754960de8da6e157b626e3c1c49ff5d
Author: Timur Kristóf <timur.kristof at gmail.com>
Date:   Mon May 17 12:28:15 2021 +0200

    aco/gfx10: NGG zero output workaround for conservative rasterization.
    
    Navi 1x GPUs have an issue: they can hang when the output vertex
    and primitive counts are zero. The workaround is exporting a dummy
    triangle.
    
    This commit changes the dummy triangle's vertex so its positions
    are all NaN. This should make sure the triangle is never rendered.
    
    Cc: mesa-stable
    Signed-off-by: Timur Kristóf <timur.kristof at gmail.com>
    Reviewed-by: Rhys Perry <pendingchaos02 at gmail.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10837>
    (cherry picked from commit f9447abb365c0e33a1afeb2ed25a5f10cc4aa968)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=20df6c58cba079e5aff1f62a1c4b9669b08ec0f0
Author: Timur Kristóf <timur.kristof at gmail.com>
Date:   Mon May 17 14:00:58 2021 +0200

    radv/llvm: Emit s_barrier at the beginning of NGG non-GS shaders.
    
    This is to fix a hang that can potentially happen when not every
    wave had launched when a gs_alloc_req is executed.
    
    Cc: mesa-stable
    Signed-off-by: Timur Kristóf <timur.kristof at gmail.com>
    Reviewed-by: Rhys Perry <pendingchaos02 at gmail.com>
    Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10837>
    (cherry picked from commit 25314996d058629ff9d669fe917741c29222b35b)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=20acb90a673a8ef0526be4de7abf4b9676020d98
Author: Dave Airlie <airlied at redhat.com>
Date:   Tue Jun 22 17:00:41 2021 +1000

    i965: fix regression in pipe control on g45
    
    The cleanups got the wrong value here, just noticed in drive by.
    
    Fixes: b505db3864b0 ("intel: Simplify few version checks involving G4X")
    Reviewed-by: Tapani Pälli <tapani.palli at intel.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11519>
    (cherry picked from commit 7c4478f43bbb18f6c71cb85433139c1a0d2cb697)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9de17a8491b1dfaad4a3f0368f9b05c9f749d35c
Author: Daniel Stone <daniels at collabora.com>
Date:   Mon Jun 21 19:44:01 2021 +0100

    llvmpipe: Add handle export for resource_get_param
    
    mesa/mesa at 2dcc9c7f54ed from mesa/mesa!6639 added a resource_get_param
    hook for llvmpipe, which was nice since it gave lavapipe more features.
    One of those features was not exporting llvmpipe textures, so those
    parts were stubbed out and landed in an assert(0).
    
    This completely broke kms_swrast (llvmpipe+GBM) on non-release builds,
    since that definitely does need to export llvmpipe textures.
    
    The query codepath which caused this explosion does fall back to
    resource_get_handle() - which is how it worked previously - but not all
    callers do this, so just do what all other drivers implementing
    resource_get_param() do and open-code the translation.
    
    Signed-off-by: Daniel Stone <daniels at collabora.com>
    Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
    Reviewed-by: Dave Airlie <airlied at redhat.com>
    Reported-by: Jonas Ådahl <jadahl at gmail.com>
    Tested-by: Jonas Ådahl <jadahl at gmail.com>
    Fixes: 2dcc9c7f54ed ("llvmpipe: add resource get param support.")
    Ref: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6639
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11504>
    (cherry picked from commit 91029211093c7ab9e32de101ac7499a958635ac6)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=29a41ca214b9c8287f4d4cf44446b8be71208b48
Author: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Date:   Mon Jun 21 09:49:18 2021 -0400

    zink: handle custom border color without matching wrap mode case
    
    this is just default border color and the custom color is ignored
    
    Fixes: 36f4e61403a ("zink: rework border color handling")
    
    Reviewed-by: Erik Faye-Lund <erik.faye-lund at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11495>
    (cherry picked from commit 7144f338025e1f4db4d01cf79e1d9bda218fea0d)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=12d568edbf4b32210ff7b54885b20bef1e991b88
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Sun Jun 20 01:06:53 2021 +0200

    util/fossilize_db: Do not lock the fossilize db permanently.
    
    This avoids all locks for reads and using lock only while actually
    writing.
    
    This is enabled by doing two things:
    
    1) Reading the index incrementally. This way we get new entries
       written by other processes and do not write duplicate entries.
    2) Taking the lock only during writes, and applying the incremental
       read while holding the lock so we always append to the actual end of the file.
    
    Fixes: eca6bb9540d ("util/fossilize_db: add basic fossilize db util to read/write shader caches")
    Reviewed-by: Timothy Arceri <tarceri at itsqueeze.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11485>
    (cherry picked from commit 4f0f8133a35ec2fec8d99936cd7425e40d092169)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f695fd9bb1e55a5162eba58d6c15080ca37ee989
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Sat Jun 19 19:51:09 2021 +0200

    util/fossilize_db: Split out reading the index.
    
    Fixes: eca6bb9540d ("util/fossilize_db: add basic fossilize db util to read/write shader caches")
    Reviewed-by: Timothy Arceri <tarceri at itsqueeze.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11485>
    (cherry picked from commit 2ec1bff0f3a4450a9739d59421dc9c9fe72c94c6)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=baf92537293371b347595d94d7a8c9cdcfa84768
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Sat Jun 19 18:40:49 2021 +0200

    util/fossilize_db: Pull seek into lock.
    
    Otherwise the seek can overlap with other reads/writes.
    
    Fixes: eca6bb9540d ("util/fossilize_db: add basic fossilize db util to read/write shader caches")
    Reviewed-by: Timothy Arceri <tarceri at itsqueeze.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11485>
    (cherry picked from commit bd41c51c8f4d67d18d8a4407358ea4b71f153d2a)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8360f0d03309edccc472fd27598f01e52e6072d7
Author: Timur Kristóf <timur.kristof at gmail.com>
Date:   Sat Jun 19 16:09:38 2021 +0200

    ac/nir: Update TCS output barriers with nir_var_mem_shared.
    
    Output loads and stores are lowered to shared memory access,
    so we have to update the barriers to also reflect this.
    
    Closes: #4955
    Fixes: bf966d1c1dd968116b8b547ca2739f5113caccb5
    
    Signed-off-by: Timur Kristóf <timur.kristof at gmail.com>
    Reviewed-by: Daniel Schürmann <daniel at schuermann.dev>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11484>
    (cherry picked from commit 72174a3eef230883444e7f7c77a89c4919bb38d5)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=687dc37c01183a14d27989727c9d666be3492b98
Author: Eric Engestrom <eric at engestrom.ch>
Date:   Sat Jun 26 13:49:48 2021 +0100

    .pick_status.json: Update to 40b67a292297606f0a7576e3ef4087028d5edd17

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=95476690e04dd700d0bed7c8c169aa1ae4525f81
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Wed Jun 9 14:26:15 2021 +0200

    radv: always decompress both aspects of a depth/stencil image
    
    If compressed rendering is only used for the depth aspect of a
    depth/stencil image, stencil might also be compressed and it needs
    to be decompressed. This only happens for non-TC compatible images.
    
    As long as the driver needs to decompress the depth aspect, I don't
    think that decompressing the stencil aspect introduces extra cost.
    
    Fixes dEQP-VK.renderpass*late_fragment_tests*.d32_sfloat_s8_uint for
    chips that don't support TC-compat HTILE.
    
    Cc: 21.1 mesa-stable
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11263>
    (cherry picked from commit 213c4c5f44f0f731a2c7538405612eea81f874fa)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0b51040b5ee85242921b87208ef5c452e47eb192
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Thu Jun 17 14:46:50 2021 +0200

    radv: reject binding buffer/image when the device memory is too small
    
    From the Vulkan spec 1.2.181:
        "The difference of the size of memory and memoryOffset must be
         greater than or equal to the size member of the
         VkMemoryRequirements structure returned from a call to
         vkGetImageMemoryRequirements with the same image"
    
    This is invalid usage but adding a check in the driver is safe and
    might avoid spurious failures.
    
    This is a workaround for the inventory GPU hang with Cyberpunk 2077
    which is actually a game bug. Luckily the game handles this error
    gracefully.
    
    Since the addrlib change from March, addrlib now selects a better
    swizzle mode (4KB instead of 64KB) which reduces image size. Though,
    the game assumes that an image with 2 mips is always smaller than the
    same image but with 6 mips. This is not always true if the swizzle mode
    is different. Then, it creates a D312 heap that is too small for the 2
    mips image and the GPU hang with a memory violation, ugh...
    
    Note that next vkd3d-proton release should also reject this but
    fixing both sides is fine.
    
    Cc: 21.1 mesa-stable
    Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4823
    Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4593
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11448>
    (cherry picked from commit 50233d0daa3ca444a1f1caf6e9eab1144d28530d)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9f5576771a712bcf64acb9cc6469345b3a21fa23
Author: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer at amd.com>
Date:   Mon Jun 14 09:53:45 2021 +0200

    radeonsi: skip instance_count==0 draws on <= GFX9
    
    This changes seems to prevent a hang, at least on Renoir chips.
    
    Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4866
    Cc: mesa-stable
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11356>
    (cherry picked from commit 66dbd16f38e6acccb9ba3ba02d0f9bbb18e4e3b1)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=aaee162781bce0ae85b94a7f31740fd2d5e098c0
Author: Caio Marcelo de Oliveira Filho <caio.oliveira at intel.com>
Date:   Thu Feb 25 12:31:51 2021 -0800

    spirv: Fix handling of OpBranchConditional with same THEN and ELSE
    
    When an OpBranchConditional that had two equal branches was parsed, we
    were treating it as a regular OpBranch.  However this doesn't work
    well when there's an associated OpSelectionMerge.  We ended up
    skipping marking the merge block as such, and depending on what was
    inside the construct we would end up trying to process the block
    twice.
    
    Fix this by keeping the vtn_if around, but when emitting NIR identify
    the two equal branch case.
    
    Fixes: 9c2a11430e1 ("spirv: Rewrite CFG construction")
    Closes: #3786, #4580
    Reviewed-by: Yevhenii Kolesnikov <yevhenii.kolesnikov at globallogic.com>
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
    Acked-by: Jason Ekstrand <jason at jlekstrand.net>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9297>
    (cherry picked from commit 64cb143b922b4c074a8404359e7ed9b790941744)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b6d704d5a1ce1184713b03696b10fcd9c0c9e2eb
Author: Icecream95 <ixn at disroot.org>
Date:   Mon Jun 7 19:33:54 2021 +1200

    pan/mdg: Fix reading a spilt register in the bundle it's written
    
    Read directly from the instruction getting spilt. Otherwise a fill
    will be inserted before the spill writing the value, so the
    instruction reading the spilt value gets garbage data.
    
    Use the bundle_id to check if the instructions are in the same bundle.
    
    Insert a move instruction, as the spill needs the value in a LD/ST
    register such as AL0, while the ALU instruction reading the value
    needs it in a work register such as R0.
    
    Cc: mesa-stable
    Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4857
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11212>
    (cherry picked from commit 38e8d7afe30bb33218191ac681607de48753fbae)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5c6f340bf5a929335928c709a10abaac674ac79f
Author: Icecream95 <ixn at disroot.org>
Date:   Mon Jun 7 19:30:02 2021 +1200

    pan/mdg: Fill from TLS before spilling non-SSA nodes
    
    Otherwise the data already written to the node will get overwritten.
    
    Cc: mesa-stable
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11212>
    (cherry picked from commit 31d26ebf1b9d0f819c894aec10c29a44052a995a)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=538b8d132bcbf6c1951ac518da0e44492ad6c57f
Author: Icecream95 <ixn at disroot.org>
Date:   Mon Jun 7 19:25:42 2021 +1200

    pan/mdg: Reorder some code in mir_spill_register
    
    Cc: mesa-stable
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11212>
    (cherry picked from commit ed9a9a09f2899baadbcf700352a70df677f658ef)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=30b99a6a9db013584f7bb374b33ce2d65c03cb52
Author: Icecream95 <ixn at disroot.org>
Date:   Mon Jun 7 19:21:41 2021 +1200

    pan/mdg: Add a bundle ID to instructions
    
    So that it is possible to check if two instructions were scheduled
    into the same bundle.
    
    Cc: mesa-stable
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11212>
    (cherry picked from commit 1490e7e622d1b3ffe35ad9f577f13744497c0169)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c0d172016d4a98fac8a95d4064b8263091a291ce
Author: Iván Briano <ivan.briano at intel.com>
Date:   Wed Jun 16 15:49:25 2021 -0700

    intel/nir: Fix txs for null surfaces
    
    Closes: #4860
    Fixes: 05a37e24220 ("intel/nir: Set lower txs with non-zero LOD")
    
    Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11435>
    (cherry picked from commit 4c67924251292106963afa4f27639fe5d3c32eef)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=46d222c2abcf1bc447f473abfb210fd2f78505c5
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Wed Jun 16 15:58:28 2021 -0700

    anv: Fix dynamic primitive topology for tess on Gfx7.x too
    
    Commit 24342e499bc58348b257716f629dccca3c1b0833 changed how primitive
    topology is handled on Gfx8+ but missed updating the Gfx7.x code.
    
    As a result, tests which previously used topologies like PATCHLIST_3
    instead started using bogus ones like LINESTRIP_ADJ.  This caused a
    GPU hangs in a bunch of Vulkan conformance tests involving tessellation.
    
    This fixes those hangs.
    
    Fixes: 24342e499bc ("anv: fix dynamic primitive topology for tess")
    Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
    Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11434>
    (cherry picked from commit 0510a947ba287f8b416601fcbc64512164b2918e)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=482e34c78af5cb2c486de1342a7f662a5f1b45bb
Author: Martin Krastev <krastevm at vmware.com>
Date:   Tue Jun 15 12:18:31 2021 -0700

    compiler/glsl: Use mutex lock while freeing up mem_ctx
    
    builtin_builder::~builtin_builder() and builtin_builder::release()
    are running into race condition. This leads lightsmark to crash at
    the end because both calls ralloc_free which mutates the arguments state
    
    This patch fixes lightsmark2008 crash
    
    Fixes: e4da8b9c331cc3a ("mesa/compiler: rework tear down of builtin/types")
    
    Reviewed-by: Charmaine Lee <charmainel at vmware.com>
    Reviewed-by: Neha Bhende <bhenden at vmware.com>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    Tested-by: Neha Bhende <bhenden at vmware.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11385>
    (cherry picked from commit eb272f65715c21c38c0dc0f5a84f431851aa87d0)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c4e33a4ed76774492c1549727987212598e79474
Author: Erik Faye-Lund <erik.faye-lund at collabora.com>
Date:   Wed Jun 16 02:29:45 2021 -0700

    zink: do not check buffer-format for usage-bits
    
    Buffers are created without a format in Vulkan, and we always pass in
    R8_UNORM for them in Gallium. It's the view-formats we should have
    checked, if anything.
    
    But that's orthogonal to this. We shoudn't keep checking R8_UNORM
    capabilities for buffers, all it's going to do is trigger asserts.
    
    Fixes: 00dc0036b ("zink: flatten out buffer creation usage flags codepath")
    Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11416>
    (cherry picked from commit a8fc38b276fcdcf3c5f3d3ea0351843c7e8e38c3)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1151f52ccfb03e5040a2a259b7f616542dd45bee
Author: Erik Faye-Lund <erik.faye-lund at collabora.com>
Date:   Wed Jun 16 01:51:07 2021 -0700

    zink: drop repeated usage-bit
    
    We already set this bit unconditionally right before, no point in
    repeating it.
    
    Fixes: 00dc0036b ("zink: flatten out buffer creation usage flags codepath")
    Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11416>
    (cherry picked from commit 662dc70002c0749cdab796701424bf6876f49b9e)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f3f253a69404307ac3f637fe259b4b2167cbf99f
Author: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Date:   Fri Jun 11 17:47:53 2021 -0400

    anv: fix dynamic primitive topology for tess
    
    this needs to use the pre-converted topology using tess state patch control points
    
    Fixes: f6fa4a80000 ("anv: add support for dynamic primitive topology change")
    
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11332>
    (cherry picked from commit 24342e499bc58348b257716f629dccca3c1b0833)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3771988c55b4aa763c9421fdbdc0fe389407226f
Author: Erik Faye-Lund <erik.faye-lund at collabora.com>
Date:   Wed Jun 16 02:34:18 2021 -0700

    zink: do not unmap dt-buffers twice
    
    Seems I missed that we already did an unconditional unmap here, and
    forgot to remove it. Whoops.
    
    Fixes: 5159f406d ("zink: use gallium api to copy to display-target")
    Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11414>
    (cherry picked from commit 0bb47032922b6faf043311ada0407bb43460de0c)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=007e596ac5d5fb43c1a08b8d7fe6125083fb156d
Author: Karol Herbst <kherbst at redhat.com>
Date:   Tue Jun 16 20:17:55 2020 +0200

    nv50/ir: fix surface lowering when values get shared accross operations
    
    With nir I encountered the case where the same value can be written to from
    multiple surface operations. This caused some weird messups with the unions
    as the def.rewrite operations caused unrelated instructions to get new their
    value replaced as well.
    
    In order to replace def.rewrite, we have to create a new temp value, write
    to that one instead and move to the original value.
    
    Fixes: 869e32593a9 ("gm107/ir: fix loading z offset for layered 3d image bindings")
    Signed-off-by: Karol Herbst <kherbst at redhat.com>
    Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11053>
    (cherry picked from commit c1f938b6475b1c936a78f6aacf76a1601c87a0bb)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f7d970b274c0a1fb96dea091d92533f43be6769f
Author: Eric Engestrom <eric at engestrom.ch>
Date:   Fri Jun 18 18:29:41 2021 +0100

    .pick_status.json: Update to 977355c6e5efd781dde85d834172dd23cd4852f1



More information about the mesa-commit mailing list