Mesa (21.2): 40 new commits

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Oct 28 16:49:32 UTC 2021


URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d1529993454aa28b0f80ee1108bd28421ba07b60
Author: Dylan Baker <dylan.c.baker at intel.com>
Date:   Thu Oct 28 09:48:59 2021 -0700

    VERSION: bump for 21.2.5 release

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f206419dfc6eac682aebced12959705957947159
Author: Dylan Baker <dylan.c.baker at intel.com>
Date:   Thu Oct 28 09:48:04 2021 -0700

    docs: add release notes for 21.2.5

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f1926fed4a4a3d112787d08eac7a82dc8cfd97ed
Author: Marcin Ślusarz <marcin.slusarz at intel.com>
Date:   Wed Oct 13 11:21:41 2021 +0200

    intel: fix INTEL_DEBUG environment variable on 32-bit systems
    
    INTEL_DEBUG is defined (since 4015e1876a77162e3444eeaa29a0dfbc47efe90e) as:
    
     #define INTEL_DEBUG __builtin_expect(intel_debug, 0)
    
    which unfortunately chops off upper 32 bits from intel_debug
    on platforms where sizeof(long) != sizeof(uint64_t) because
    __builtin_expect is defined only for the long type.
    
    Fix this by changing the definition of INTEL_DEBUG to be function-like
    macro with "flags" argument. New definition returns 0 or 1 when
    any of the flags match.
    
    Most of the changes in this commit were generated using:
    for c in `git grep INTEL_DEBUG | grep "&" | grep -v i915 | awk -F: '{print $1}' | sort | uniq`; do
        perl -pi -e "s/INTEL_DEBUG & ([A-Z0-9a-z_]+)/INTEL_DBG(\1)/" $c
        perl -pi -e "s/INTEL_DEBUG & (\([A-Z0-9_ |]+\))/INTEL_DBG\1/" $c
    done
    but it didn't handle all cases and required minor cleanups (like removal
    of round brackets which were not needed anymore).
    
    Signed-off-by: Marcin Ślusarz <marcin.slusarz at intel.com>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira at intel.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13406>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=702b0c31bd9de67cf40c19f7fc54fece6352e68b
Author: Jason Ekstrand <jason at jlekstrand.net>
Date:   Thu Sep 24 13:35:32 2020 -0500

    nir/algebraic: Lower fisfinite
    
    Reviewed-by: Alyssa Rosenzweig <alyssa at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13552>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d2176e7ee69cab976da4b8cbd52eea735d8387f5
Author: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Date:   Fri Oct 22 14:04:45 2021 -0400

    nir/lower_samplers_as_deref: rewrite more image intrinsics
    
    "I think we want to lower them."
    
    -Jason "And I do know how the pass works" Ekstrand
    
    fixes #5540
    
    cc: mesa-stable
    
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13489>
    (cherry picked from commit b0c40bc9054404c1b0e42516b72d6d9d070a4c10)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=29fac5d7159c75ba7cfbeaf5a47acded4e7020f0
Author: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Date:   Fri Oct 22 13:47:16 2021 -0400

    zink: fix gl_SampleMaskIn spirv generation
    
    the uint[1] -> uint dance is only relevant on the first load, so move
    the variable type shuffling inside the create block to avoid breaking successive
    loads
    
    fixes #5543
    
    cc: mesa-stable
    
    Reviewed-by: Dave Airlie <airlied at redhat.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13488>
    (cherry picked from commit 8899f6a19857d533d62945889c413b55cea5223c)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a29d40b5639ce8ee157ee4dc5ac0d2f8ab4f38f7
Author: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Date:   Tue Oct 26 14:27:18 2021 +0300

    anv: fix push constant lowering with bindless shaders
    
    Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
    Fixes: 9fa1cdfe7ffd ("intel/rt: Implement push constants as global memory reads")
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13529>
    (cherry picked from commit a6031cd9bd409c793c3a2928eaf9f04f09d2f55a)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=34ddc2a5b59c78bb1032f54e0a100ff55239ecdf
Author: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Date:   Fri Oct 22 14:24:48 2021 -0400

    zink: don't break early when applying fb clears
    
    a resource can be bound to multiple fb attachments, each with
    its own clear, so ensure that all of these are applied
    
    fixes #5542
    
    cc: mesa-stable
    
    Reviewed-by: Dave Airlie <airlied at redhat.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13491>
    (cherry picked from commit dabe477b4f273964afedab2fce2be22f2617268f)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=eadc3eca00b760d0e35c7629647681751a9ece51
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date:   Sat Oct 16 19:45:27 2021 -0400

    panfrost: Add internal afbc_formats
    
    We need to know the internal (physical) formats used for AFBC of a given
    logical format, in order to check format compatibility and determine if
    we need to decompress AFBC for conformance.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
    Cc: mesa-stable
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13205>
    (cherry picked from commit 93c9123c313d688913ed86f77c6841738f94988a)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f88826f2af2a9c8bfed5ac0cb16208a84a876b02
Author: Timur Kristóf <timur.kristof at gmail.com>
Date:   Tue Oct 12 16:29:01 2021 +0200

    drirc: Apply radv_invariant_geom workaround to Resident Evil Village.
    
    Cc: mesa-stable
    Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5071
    Signed-off-by: Timur Kristóf <timur.kristof at gmail.com>
    Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13312>
    (cherry picked from commit bbce747a0d68a92e4f10cf9c514eedf7a599eed7)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=55f3f08e97d3e57fe3bd235ca54c1ff61a6faa0a
Author: Daniel Schürmann <daniel at schuermann.dev>
Date:   Mon Oct 11 16:14:21 2021 +0200

    driconf: set vk_x11_strict_image_count for Wolfenstein: Youngblood
    
    Otherwise, the game refuses to start on xwayland.
    
    Cc: mesa-stable
    Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13289>
    (cherry picked from commit b34a3459f893df10024d06c0055123a8fe199f17)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=73b35cb7e8b274c042f2355b668086204d05fb07
Author: Boris Brezillon <boris.brezillon at collabora.com>
Date:   Mon Oct 25 18:37:21 2021 +0200

    vulkan: Fix entrypoint generation when compiling for x86 with MSVC
    
    When compiling for x86 with MSVC, Vulkan API entry points follow the
    __stdcall convention (VKAPI_CALL maps to __stdcall), which uses the
    following name mangling:
    
       _<function_name>@<arguments_size>
    
    Fix the vk_entrypoint_stub()/alternatename definitions accordingly.
    
    Fixes: 6d44b21d4fd ("vulkan: Fix weak symbol emulation when compiling with MSVC")
    Signed-off-by: Boris Brezillon <boris.brezillon at collabora.com>
    Reviewed-by: Jesse Natalie <jenatali at microsoft.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13516>
    (cherry picked from commit 1813bb59174a8f6e60a4f7aff2ac9af81a8810f5)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=983b14a2c3f44317e9133c47e4d38d9c4c7e86d1
Author: Dylan Baker <dylan.c.baker at intel.com>
Date:   Wed Oct 27 10:18:04 2021 -0700

    .pick_status.json: Update to 16f838576cf29e26f1af198ac93a0fb3a3cfad8f

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d44a78c078f89e1bb11f75e2d12c5648da93f312
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date:   Sat Oct 16 16:14:00 2021 -0400

    panfrost: Fix gl_FragColor lowering
    
    The gl_FragColor lowering in the fragment shader depends on the number
    of render targets, which can change every set_framebuffer_state.
    set_framebuffer_state thus needs to force a rebind of the fragment
    shader.
    
    Fixes a regression in Piglit fbo-drawbuffers-none gl_FragColor -auto
    -fbo from enabling AFBC on Mali G52.
    
    Fixes: 28ac4d1e005 ("panfrost: Call nir_lower_fragcolor based on key")
    Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13498>
    (cherry picked from commit e0335ad8881d3feeb89b571b1047bb8799ae23b7)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b7917c7e560ed07ba164595882939055d9ebc6d8
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date:   Tue Oct 5 16:05:56 2021 -0400

    panfrost,panvk: Use dev->has_afbc instead of quirks
    
    This uses the new property for AFBC we've added. The AFBC quirk is
    applied only to v4, and we only set dev->has_afbc on v5+ so this is not
    a regression. It now respects the hardware-specific AFBC disable.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
    Cc: mesa-stable
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13497>
    (cherry picked from commit 68a7fafe2a54ca61700a955bd8d7884e2f750814)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f80f983226a800e3a82976420e4070645ea1dd8a
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date:   Tue Oct 5 16:01:00 2021 -0400

    panfrost: Detect implementations support AFBC
    
    AFBC is an optional feature on Bifrost. If it is missing, a bit will be
    set in the poorly named AFBC_FEATURES register. Check this so we can act
    appropriately.
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
    Cc: mesa-stable
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13497>
    (cherry picked from commit 3e168b97cc7d38e757fa5cd51ecd25c18d84daf6)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=af4a05f15cb614f719b31560938044d5c657880c
Author: Marek Olšák <marek.olsak at amd.com>
Date:   Thu Oct 21 15:40:20 2021 -0400

    st/mesa: don't crash when draw indirect buffer has no storage
    
    Fixes: 22f6624ed318e8 - gallium: separate indirect stuff from pipe_draw_info
    
    Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer at amd.com>
    Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13471>
    (cherry picked from commit 520300ad2202adbe652909839b94f6eedf489aa5)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6c8fca240640c3dc73fb67fab4c162e4120a24ae
Author: Dylan Baker <dylan.c.baker at intel.com>
Date:   Mon Oct 25 11:42:52 2021 -0700

    .pick_status.json: Update to dc74285d32df9c09eb896bc4571066402d32d10b

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=fff5f4708987a901794b70c2d158b7e83b474429
Author: Nanley Chery <nanley.g.chery at intel.com>
Date:   Tue Jun 22 10:24:31 2021 -0700

    iris: Tile cache flush for depth before fast clear
    
    Instead of doing a tile cache flush after slow clears or when the clear
    value changes, do it before every fast clear of a HIZ_CCS_WT surface.
    This agrees with the Bspec.
    
    Fixes: c85ea824bca ("iris: reduce redundant tile cache flushes")
    Reviewed-by: Felix DeGrood <felix.j.degrood at intel.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11539>
    (cherry picked from commit d7e836443a530bfb50fc1333311b00e2514e1051)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=47fe7f13c43c67a378f23ddafae1d7cc8e72ba0d
Author: Mykhailo Skorokhodov <mykhailo.skorokhodov at globallogic.com>
Date:   Wed Sep 22 16:03:23 2021 +0300

    iris: Add missed tile flush flag
    
    Without adding `PIPE_CONTROL_TILE_CACHE_FLUSH` into `iris_emit_pipe_control`
    gen12+ (UHD 750 in my case) has issues with textures.
    
    Related-to: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5029
    Fixes: c85ea824('iris: reduce redundant tile cache flushes')
    
    Signed-off-by: Mykhailo Skorokhodov <mykhailo.skorokhodov at globallogic.com>
    Reviewed-by: Felix DeGrood <felix.j.degrood at intel.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12979>
    (cherry picked from commit 0523607ebb108d8c90bbda9c6564b66a0a6250e6)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2c7e1a90607399c64a2faef22bbd35c611980afe
Author: Marek Olšák <marek.olsak at amd.com>
Date:   Mon Oct 18 12:39:08 2021 -0400

    mesa: fix crashes in the no_error path of glUniform
    
    Fixes: bd2662bfa1c87 - mesa: add KHR_no_error support to glUniform*() functions
    
    Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer at amd.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13417>
    (cherry picked from commit 03186773a6bfcba3dce19ea3cc5d66afbeae0501)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=81d4f432a956b5967089320c5b86ba9bf72e9325
Author: Jan Beich <jbeich at FreeBSD.org>
Date:   Sat Feb 20 12:30:56 2021 +0000

    meson: disable -Werror=thread-safety on FreeBSD
    
    Annotated <pthread.h> exposes too many errors in Mesa that are
    non-trivial to fix and keep working without FreeBSD CI.
    
    Fixes: 0d5fe24c9b7d ("macros: Add thread-safety annotation macros")
    Reviewed-by: Eric Engestrom <eric at engestrom.ch>
    Cc: mesa-stable
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9168>
    (cherry picked from commit 60b7c3a0f49241f95e5b6f8da5d60eaa7bbeaabb)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e64308f71a7ba560d13df02087a54228fea2aaf7
Author: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Date:   Mon Oct 18 10:40:12 2021 -0400

    zink: fully zero surface creation struct
    
    gotta get those holes for caching
    
    cc: mesa-stable
    
    Reviewed-by: Hoe Hao Cheng <haochengho12907 at gmail.com>
    Reviewed-by: Dave Airlie <airlied at redhat.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13410>
    (cherry picked from commit e66558985a9e85393ff844f8a16e85b4cf812f0e)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=452d63583e330dff7590cbd831a5fcc59318a77a
Author: Dylan Baker <dylan.c.baker at intel.com>
Date:   Wed Oct 20 10:08:23 2021 -0700

    .pick_status.json: Update to 39f25945311e1385a54ddd17f71f9f6023d97256

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b720849cd0e8bacf58253c3c34c1c0c6c9c79763
Author: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer at amd.com>
Date:   Fri Oct 15 17:28:19 2021 +0200

    radeonsi: use viewport offset in quant_mode determination
    
    Instead of only using the viewport extent.
    
    Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5344
    Cc: mesa-stable
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13382>
    (cherry picked from commit 234c69f60097d01b2c31a51421abc5a39321130c)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=23e7e486b0da0c9f9b9bd0e6b11d275a4e63d3ed
Author: Karol Herbst <kherbst at redhat.com>
Date:   Tue Nov 3 17:41:53 2020 +0100

    spirv: Don't add 0.5 to array indicies for OpImageSampleExplicitLod
    
    This fixes CLs 1.2 1Darray and 2Darray images.
    
    Fixes: 589d918a4f9da83e3ae441aa674372a141d23349
           ("spirv: Add 0.5 to integer coordinates for OpImageSampleExplicitLod")
    
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Signed-off-by: Karol Herbst <kherbst at redhat.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13401>
    (cherry picked from commit f6ecd284e5dee852a87bdc77a1fab625d061b440)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2242376a5ab6761f3e0af0fd13a218ed2163fb4c
Author: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Date:   Fri Oct 15 16:01:52 2021 -0400

    aux/pb: more correctly check number of reclaims
    
    the increment needs to happen before the comparison here
    
    Fixes: 3d6c8829f54 ("aux/pb: add a tolerance for reclaim failure")
    
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13388>
    (cherry picked from commit fe2674dd52dd63e6fb4a69e037a7cb5266049e4a)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c1fef8605447529c60e203ebe5c87c7e4f729569
Author: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Date:   Wed Oct 13 13:34:30 2021 -0400

    aux/pb: add a tolerance for reclaim failure
    
    originally, a slab attempts to reclaim a single bo. there are two outcomes
    to this which can occur:
    * the bo is reclaimed
    * the bo is not reclaimed
    
    if the bo is reclaimed, great.
    
    if the bo is not reclaimed, it remains at the head of the list until it can
    be reclaimed. this means that any bo with a "long" work queue which makes it
    into a slab will effectively kill the entire slab. in a benchmarking scenario,
    this can occur in rapid succession, and every slab will get 1-2 suballocations
    before it reaches a bo that blocks long enough for a new slab to be needed.
    
    the inevitable result of this scenario is that all memory is depleted almost instantly,
    all because pb assumes that if the first bo in the reclaim list isn't ready, none of them
    can be ready
    
    for drivers like radeonsi, this happens to be a fine assumption
    
    for drivers like zink, this is entirely not workable and explodes the gpu
    
    Cc: mesa-stable
    
    Reviewed-by: Witold Baryluk <witold.baryluk at gmail.com>
    Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer at amd.com>
    Tested-by: Witold Baryluk <witold.baryluk at gmail.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13345>
    (cherry picked from commit 3d6c8829f54e52ae39b91b18d49acccf47755320)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5ef777276cb97280fd0d0b7e9082512625a4c193
Author: Dylan Baker <dylan.c.baker at intel.com>
Date:   Mon Oct 18 13:13:52 2021 -0700

    .pick_status.json: Update to be6d584de43966ee58bf1fcac156ebf8040081d1

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3f5449f049dbc26877e6fffcd1ac95ac2d41fd03
Author: Marcin Ślusarz <marcin.slusarz at intel.com>
Date:   Thu Oct 14 13:22:08 2021 +0200

    iris: fix scratch address patching for TESS_EVAL stage
    
    Scratch patching code in iris_upload_dirty_render_state (see MERGE_SCRATCH_ADDR
    calls) assumes that in all shader stages derived_data field stores 3DSTATE_XS
    packet first.
    
    This is not true for TESS_EVAL (DS), so we end up patching 3DSTATE_TE
    instead of 3DSTATE_DS leading to DWordLength becoming 11 instead of 9
    (9 == 3DSTATE_DS.DWordLength, 2 == 3DSTATE_TE.DWordLength, and 9|2 == 11),
    and hardware hanging on the next instruction.
    
    Fix this by reversing the order of packets for TESS_EVAL stage.
    
    Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5499
    
    Fixes: 4256f7ed584 ("iris: Fill out scratch base address dynamically")
    Signed-off-by: Marcin Ślusarz <marcin.slusarz at intel.com>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13358>
    (cherry picked from commit 5387522bd00147f298e5799db41db94f9a4a37e3)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=84a54880cef5ac3f2d64c144de162e303384e8db
Author: Maniraj D <md at nvidia.com>
Date:   Mon Oct 11 22:37:02 2021 +0530

    egl: set TSD as NULL after deinit
    
    When eglReleaseThread() is called from application's
    destructor (API with __attribute__((destructor))),
    it crashes due to invalid memory access.
    
    In this case, _egl_TLS is freed in the flow of
    _eglAtExit() as below but _egl_TLS is not set to NULL.
    
        _eglDestroyThreadInfo
            _eglFiniTSD
                _eglAtExit
                    _run_exit_handlers
                        exit
    
    Later when the eglReleaseThread is called from
    application's destructor, it ends-up accessing
    the freed _egl_TLS pointer.
    
        eglReleaseThread -> in libEGL_mesa
            eglReleaseThread -> in libEGL(glvnd)
                destructor() -> App's destructor
    
    To resolve the invalid access, setting the _egl_TLS
    pointer as NULL after freeing it.
    
    Reviewed-by: Eric Engestrom <eric at engestrom.ch>
    Reviewed-by: Jesse Natalie <jenatali at microsoft.com>
    Reviewed-by: Tapani Pälli <tapani.palli at intel.com>
    Cc: mesa-stable
    
    Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5466
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13302>
    (cherry picked from commit 796c9ab3fd6b897ae3b3c069568182178c7661d4)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=12b464b2b8bf011c9c3ead06926b3688100fd62a
Author: Jason Ekstrand <jason at jlekstrand.net>
Date:   Wed Oct 13 16:31:57 2021 -0500

    i965: Emit a NULL surface for buffer textures with no buffer
    
    This is a preexisting bug but it was uncovered by 231653ea3506
    ("intel/isl: Add a max_buffer_size limit to isl_device") which added an
    assert(num_elements > 0) for typed buffers.
    
    Cc: mesa-stable at lists.freedesktop.org
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13351>
    (cherry picked from commit 393fda2d341f65cba6e160d4704983370ae041f9)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8a7ebf9dcb8180f787509540a33eecdd44646067
Author: Dylan Baker <dylan.c.baker at intel.com>
Date:   Fri Oct 15 09:05:15 2021 -0700

    .pick_status.json: Update to d43f89f17a8259c842016fa559fa33c1c6279105

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2c1bd88f601d3781ee43d7d1e7ab958af6f868f7
Author: Boris Brezillon <boris.brezillon at collabora.com>
Date:   Thu Oct 14 10:34:37 2021 +0200

    vulkan: Set unused entrypoints to vk_entrypoint_stub when compiling with MSVC
    
    If we don't do that we hit the assert(entry[i] != NULL) added by commit
    6d44b21d4fd ("vulkan: Fix weak symbol emulation when compiling with MSVC").
    
    Fixes: 6d44b21d4fd ("vulkan: Fix weak symbol emulation when compiling with MSVC")
    Signed-off-by: Boris Brezillon <boris.brezillon at collabora.com>
    Reviewed-by: Jesse Natalie <jenatali at microsoft.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13355>
    (cherry picked from commit fd467492349ee32cd196a8bd747269404965e3b1)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ce5eae0f053c77e6696eee0eff27ed16024de2f2
Author: Boris Brezillon <boris.brezillon at collabora.com>
Date:   Wed Oct 13 21:50:59 2021 +0200

    vulkan: Fix weak symbol emulation when compiling with MSVC
    
    Mapping unimplemented entrypoints to a global function pointer variable
    initialized to NULL is a bit cumbersome, and actually led to a bug
    in the vk_xxx_dispatch_table_from_entrypoints() template: the !override
    case didn't have the right check on the source table entries. Instead of
    fixing that case, let's simplify the logic by creating a stub function
    and making the alternatename pragma point to this stub. This way we get
    rid of all those uneeded xxx_Null symbols/variables and simplify the
    tests in vk_xxxx_dispatch_table_from_entrypoints().
    
    Cc: mesa-stable
    Fixes: 98c622a96e28 ("vulkan: Update dispatch table gen for Windows")
    Signed-off-by: Boris Brezillon <boris.brezillon at collabora.com>
    Reviewed-by: Jesse Natalie <jenatali at microsoft.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13348>
    (cherry picked from commit 6d44b21d4fdea89673541de265f69258747c5499)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7c088e7024eb87d79b43e6da8ca6e1639664e520
Author: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Date:   Fri Sep 24 13:28:05 2021 +0300

    isl: only bump the min row pitch for display when not specified
    
    If the ISL caller didn't specify a row_pitch_B, let's use the
    NVIDIA/AMD requirements. Otherwise keep using the Intel requirement,
    as the caller is likely trying to import a buffer and if we can deal
    with that row_pitch_B, we should accept it.
    
    Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
    Fixes: a3a4517f4147a0 ("isl: Work around NVIDIA and AMD display pitch requirements")
    Reported-by: Dongwon Kim <dongwon.kim at intel.com>
    Reviewed-by: Nanley Chery <nanley.g.chery at intel.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13024>
    (cherry picked from commit 9fb2c84768c30702fd8177b81ec0bb45c110bdd7)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6d4f4ade711dc849200342dd0d953983bd769265
Author: Tapani Pälli <tapani.palli at intel.com>
Date:   Wed Oct 13 10:37:32 2021 +0300

    anv: use vk_object_zalloc for wsi fences created
    
    Otherwise we hit assert in vk_object_base_assert_valid when attemping to
    create handle from anv_fence with unknown base type.
    
    Cc: mesa-stable
    Signed-off-by: Tapani Pälli <tapani.palli at intel.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13330>
    (cherry picked from commit d729038c073d267e1c04bdd49cc5a53f34acbf63)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=121359791d28e874c865c4f0e9385f64089ea6b8
Author: Emma Anholt <emma at anholt.net>
Date:   Tue Oct 12 13:40:42 2021 -0700

    radeonsi: Fix leak of screen->perfcounters.
    
    A refactor dropped one of the frees.
    
    Fixes: 380ac288911d ("ac: import performance counters from RadeonSI")
    
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13322>
    (cherry picked from commit 4721352f975c752673e8073fb2fe627eb358d9f4)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=98ac5376596105ab93ad64ecd53a1858978f7a98
Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Tue Oct 12 13:06:04 2021 -0700

    nir/loop_unroll: Always unroll loops that iterate at most once
    
    Two carchase compute shaders (shader-db) and two Fallout 4 fragment
    shaders (fossil-db) were helped.  Based on the NIR of the shaders, all
    four had structures like
    
        for (i = 0; i < 1; i++) {
            ...
    
    	for (...) {
                ...
    	}
        }
    
    All HSW+ platforms had similar results. (Ice Lake shown)
    total loops in shared programs: 6033 -> 6031 (-0.03%)
    loops in affected programs: 4 -> 2 (-50.00%)
    helped: 2
    HURT: 0
    
    All Intel platforms had similar results. (Ice Lake shown)
    Instructions in all programs: 143692018 -> 143692006 (-0.0%)
    SENDs in all programs: 6947154 -> 6947154 (+0.0%)
    Loops in all programs: 38285 -> 38283 (-0.0%)
    Cycles in all programs: 8434822225 -> 8434476815 (-0.0%)
    Spills in all programs: 191665 -> 191665 (+0.0%)
    Fills in all programs: 298822 -> 298822 (+0.0%)
    
    In the presense of loop unrolling like this, the change in cycles is not
    accurate.
    
    v2: Rearrange the logic in the if-condition to read a little better.
    Suggested by Tim.
    
    Closes: #5089
    Reviewed-by: Timothy Arceri <tarceri at itsqueeze.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13323>
    (cherry picked from commit ae99ea6f4ddb90f7120b4986709a9e9064037f94)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7fce546f6e11e524f2b8c1e10fe11b4a4d0f15de
Author: Dylan Baker <dylan.c.baker at intel.com>
Date:   Thu Oct 14 13:18:41 2021 -0700

    .pick_status.json: Update to 1c0eb7aa78bac4494dbff0c502a8c09e23a4c123



More information about the mesa-commit mailing list