Mesa (staging/22.1): 25 new commits

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Jun 13 21:16:56 UTC 2022


URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=268cf1fe4153d0fabe29af2ddb29d42acefa99c2
Author: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer at amd.com>
Date:   Fri Jun 10 11:57:20 2022 +0200

    radeonsi: prevent recursion in si_decompress_dcc
    
    This avoids u_blitter recursion:
    
     #0  util_blitter_set_running_flag
     #1  util_blitter_custom_color
     #2  si_blit_decompress_color
     #3  si_decompress_dcc
     #4  si_texture_disable_dcc
     #5  si_update_ps_colorbuf0_slot
     #6  si_bind_ps_shader
     #7  util_blitter_restore_fragment_states
     #8  util_blitter_custom_color
     #9  si_blit_decompress_color
     #10 si_decompress_dcc
     #11 si_sdma_copy_image
     #12 si_blit
    
    cc: mesa-stable
    
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16962>
    (cherry picked from commit 3d37291e1c1e2d9d0319bad9888f518a1bcfba04)
    
    Conflicts:
    	src/gallium/drivers/radeonsi/si_blit.c

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7272134cbf32d618f2b520f3e3eca57912da652c
Author: Jesse Natalie <jenatali at microsoft.com>
Date:   Tue Jun 7 14:49:59 2022 -0700

    d3d12: Properly set HS input control point count
    
    Looks like some hardware needs this info in the shader to match the
    topology. Since there's no spot in the shader info for it, we're
    currently using the array size of the TCS input vars to store it.
    
    Cc: mesa-stable
    Reviewed-by: Paul Dodzweit <paul.dodzweit at amd.com>
    Tested-by: Paul Dodzweit <paul.dodzweit at amd.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16920>
    (cherry picked from commit cc805aef69d48720b929531f0338e4cc79cda5e5)
    
    Conflicts:
    	src/microsoft/compiler/dxil_nir.h

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8000ae1bf0654072bffba5390192b19de28ea591
Author: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Date:   Thu Jun 9 09:20:01 2022 -0400

    zink: defer old swapchain destruction
    
    ensure that swapchains that are about to be presented asynchronously
    cannot be destroyed
    
    Fixes: 8ade5588e39 ("zink: add kopper api")
    
    Reviewed-by: Adam Jackson <ajax at redhat.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16932>
    (cherry picked from commit 4bee678df3afb654c4f52987fefd039750609976)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f9420564137b29ae7a455f1a3eac55bacf76e84c
Author: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Date:   Thu Jun 9 09:19:18 2022 -0400

    zink: keep a count of async presents occuring for a given swapchain
    
    this provides info about whether a swapchain is in use in another thread
    
    Fixes: 8ade5588e39 ("zink: add kopper api")
    
    Reviewed-by: Adam Jackson <ajax at redhat.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16932>
    (cherry picked from commit 1dfa19c541d2d1da1ba3f440d4d0107c4968b3e0)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=39fc5b548dcee03c87f90a8660fc92c37e944eba
Author: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Date:   Wed Jun 8 15:56:47 2022 -0400

    zink: use separate pointer for swapchain presents
    
    this ensures that the same pointer is being accessed from the present
    thread as was intended when the present was queued
    
    Fixes: 8ade5588e39 ("zink: add kopper api")
    
    Reviewed-by: Adam Jackson <ajax at redhat.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16932>
    (cherry picked from commit 892f42271fcd67566db01ef651a5a491b54f262c)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7f3f9c6d555bee75d16782ea0693756fc8c450e7
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date:   Fri Jun 10 11:28:09 2022 -0400

    panfrost: Disable CRC at <16x16 tile sizes
    
    The hardware writes one CRC per (effective) tile, the tile size of the CRC
    buffer is the same as the configured effective tile size. However, all our CRC
    infrastructure assumes 16x16 tiles. In case CRC is used with smaller tiles,
    buffer overflows and incorrect rendering are all possible. Don't use CRC at
    smaller tile sizes. Note disabling CRC correctly invalidates any bound CRC
    buffers.
    
    Fixes: 2e97d7c8350 ("panfrost: Transaction elimination support")
    Closes: #6332
    Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16983>
    (cherry picked from commit 44223e5f28c42ff19a5ddba182b403315bbac3ef)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=54f7445119dfbaa87e43652bf5cc1c7f8ba9de02
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date:   Fri Jun 10 11:43:53 2022 -0400

    panfrost: Inline pan_fbd_has_zs_crc_ext
    
    It has a single user -- in a section of code that only runs for MFBD GPUs and
    that has already decided whether to use CRCs -- so inlining it simplifies its
    definition greatly and may avoid redeciding the CRC setting.
    
    [Note for mesa-stable maintainers: This is not a bug fix but is marked for
    backport so the next patch applies cleanly.]
    
    Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
    Cc: mesa-stable
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16983>
    (cherry picked from commit cac0578ee58c5b0838ececbe2b7aa5f7c29874c3)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=bc053bb7a2badf3a240d8edac913f9a44900f226
Author: Erik Faye-Lund <erik.faye-lund at collabora.com>
Date:   Wed Jun 8 18:07:43 2022 +0200

    ci/windows: add back build-error detection
    
    This was accidentally broken while refactoring the script.
    
    Fixes: bf3c772e5e5 ("ci: Improve vs2019 mesa_build.ps1 for remove the need of cmd.exe")
    Reviewed-by: Yonggang Luo <luoyonggang at gmail.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16965>
    (cherry picked from commit 003d05281011b77b24e56d9168d3104ea8ebe021)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=750e0c7a950fb4ff16e00866f1f2a51c32f1a70f
Author: Boris Brezillon <boris.brezillon at collabora.com>
Date:   Wed Feb 16 16:55:36 2022 +0100

    nir: Fix flat new_var assignment in create_new_io_vars()
    
    If the type is not an array, glsl_get_length() returns 0 and we don't
    update the new_vars[]/flat_vars[] entries.
    
    Fixes: bcd14756eec ("nir/lower_io_to_vector: add flat mode")
    Reviewed-by: Jason Ekstrand <jason.ekstrand at collabora.com>
    Reviewed-by: Jesse Natalie <jenatali at microsoft.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16960>
    (cherry picked from commit d9ec7df2f43975cf77d261adac2f68489172fd99)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=38da57d08bd1d79f84cffe090612c8c32d2cb146
Author: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Date:   Thu May 26 17:27:39 2022 -0400

    zink: scalarize when rewriting explicit 64bit io
    
    all of ntv requires scalarized io since the offsets are now array indices
    instead of byte offsets, so enforce scalarization here to avoid breaking
    the universe
    
    Fixes: 150d6ee97e3 ("zink: move all 64-32bit shader load rewriting to nir pass")
    
    Reviewed-by: Adam Jackson <ajax at redhat.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16669>
    (cherry picked from commit cdaa601de38a147aff0839d9622e281ac7a80b33)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6c86766084dfececb9dd54117dfa886781ac7b2a
Author: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Date:   Sat May 21 18:53:59 2022 -0400

    zink: fix variable locations in manual xfb emission
    
    the last output isn't always only consuming 1 slot, so ensure that the
    xfb outputs begin at the appropriate place
    
    cc: mesa-stable
    
    Reviewed-by: Adam Jackson <ajax at redhat.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16669>
    (cherry picked from commit e9d28cbe3fbe56076f85e9e309211d831368d1fc)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0498d26e15be13812cf3b377f7b9aa2864ded550
Author: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Date:   Fri May 20 13:23:05 2022 -0400

    zink: fix ntv partial stores
    
    the previous conditional here was stupid and wrong: it should be comparing
    to see whether the writemask is the full mask of the type's size
    
    cc: mesa-stable
    
    Reviewed-by: Adam Jackson <ajax at redhat.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16669>
    (cherry picked from commit 31ba19ff681224208943787cedd0b1ada11329e2)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3f3ecf818f0760852881d406cc948195d26b590f
Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Mon Jun 6 15:50:53 2022 -0700

    anv: Remove FS executables when applying the null FS optimization
    
    If the executables are still hanging out,
    anv_GetPipelineExecutableStatisticsKHR will try to dereference NULL
    pointers in pipeline->shaders[MESA_SHADER_FRAGMENT].
    
    At least in terms of fossil-db output, this matches the behavior from
    before 73b3efcd59a.
    
    Fixes: 73b3efcd59a ("anv: Handle the null FS optimization after compiling shaders")
    Closes: #6590
    Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
    Reviewed-by: Jason Ekstrand <jason.ekstrand at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16898>
    (cherry picked from commit 65d6708bc33694b662d1195fd65842b85b7afc99)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e8047d6434bf0469a559a21a2af46453023f5895
Author: Jason Ekstrand <jason at jlekstrand.net>
Date:   Sat Oct 24 13:28:39 2020 -0500

    compiler/types: Don't place members in the previous substruct's end padding
    
    With the following structures :
    
      struct StructA
      {
         uint64_t value0;
         uint8_t  value1;
      };
    
      struct TopStruct
      {
         struct StructA a;
         uint8_t value3;
      };
    
    Currently offsetof(struct TopStruct, value3) = 9. While the same code
    on the CPU gives offsetof(struct TopStruct, value3) = 16.
    
    This is impacting OpenCL kernels we're trying to use to build
    acceleration structures.
    
    v2: Add comment/link to some description of the alignment/size
        computation
    
    Cc: mesa-stable
    Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
    Reviewed-by: Jason Ekstrand <jason.ekstrand at collabora.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16940>
    (cherry picked from commit 133620196d57cc1c6874c806095fc3cf1f054274)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=09c3cec0b0c1ab521bd14a94cfea5152298b01c4
Author: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Date:   Wed Jun 8 13:52:47 2022 -0400

    zink: always create descriptor templates
    
    the 'notemplates' debug mode is somewhat misleading since there's no
    uncached+notemplates mechanism, meaning that if the descriptor cache
    explodes it'll still use templates for updating in the fallback path
    
    Fixes: 4e3768914d4 ("zink: add ZINK_DESCRIPTORS env var to explicitly set a mode")
    
    Reviewed-by: Dave Airlie <airlied at redhat.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16927>
    (cherry picked from commit ee1a0a0772d0aaf4f5124d451f6a087bc6910b58)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8e217533fff8fa8ef1027f20c70aefdfd6c10a51
Author: Jason Ekstrand <jason.ekstrand at collabora.com>
Date:   Mon Jun 6 12:29:15 2022 -0500

    nir/deref: Handle RESTRICT for SSBO deref bindings
    
    Tested-by: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
    Reviewed-by: M Henning <drawoc at darkrefraction.com>
    Reviewed-by: Rhys Perry <pendingchaos02 at gmail.com>
    Cc: mesa-stable at lists.freedesktop.org
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16894>
    (cherry picked from commit 4655ff1f5b34d45c3d20e817488b70275c5b9c98)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0a8780a094148a8c9d5670e60eaa94b9a07f31b5
Author: Jason Ekstrand <jason.ekstrand at collabora.com>
Date:   Mon Jun 6 12:13:02 2022 -0500

    nir/deref: Handle SSBO array bindings specially
    
    Instead of just checking for the variables to match, check that the
    entire deref up to the interface type matches.
    
    Tested-by: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
    Reviewed-by: M Henning <drawoc at darkrefraction.com>
    Reviewed-by: Rhys Perry <pendingchaos02 at gmail.com>
    Cc: mesa-stable at lists.freedesktop.org
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16894>
    (cherry picked from commit 8492e78f9d14c187596c13725f6974816d02a0e9)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=acc2005a5506ed6996d5ef69f729bb655d6c9d2e
Author: Jason Ekstrand <jason.ekstrand at collabora.com>
Date:   Wed Jun 8 13:48:23 2022 -0500

    nir/vars_tests: Use nir_var_mem_global instead of ssbo
    
    We're about to add a bunch of SSBO special cases which will depend on
    SSBOs always being either structs or arrays of structs.  All those
    little vector SSBOs we're creating will no longer be valid.  Switch to
    nir_var_mem_global to avoid this.
    
    Cc: mesa-stable at lists.freedesktop.org
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16894>
    (cherry picked from commit a5b127427586ba5a834e3015e88f569c68ce8765)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2c9127f7fc5669b5925f6179cb023647c4e9fa08
Author: Jason Ekstrand <jason.ekstrand at collabora.com>
Date:   Wed Jun 8 13:47:31 2022 -0500

    nir: Increase nir_variable_data::mode to 16 bits
    
    This is required if we want to have variables with nir_var_mem_global
    which we will for CL eventually.  Also, they're useful in unit tests
    because they're the most generic thing imaginable and can't get
    eliminated by normal means.
    
    Cc: mesa-stable at lists.freedesktop.org
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16894>
    (cherry picked from commit 2d221c64e78db76e4002f27e2fb5571f4c271494)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=da1de1f9fbb430152600941b8fc7fad5590a0ce4
Author: Jason Ekstrand <jason.ekstrand at collabora.com>
Date:   Fri Jun 3 15:06:46 2022 -0500

    nir/deref: Re-arrange variable checks in compare_deref_paths
    
    Instead of having a bunch of mode checks as special cases, assert that
    the modes equal and then switch on the mode.  This should make the
    special cases a bit easier to understand.  Handling of `a_var == b_var`
    looks redundant now but it won't be in the next patch.
    
    Tested-by: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
    Reviewed-by: M Henning <drawoc at darkrefraction.com>
    Reviewed-by: Rhys Perry <pendingchaos02 at gmail.com>
    Cc: mesa-stable at lists.freedesktop.org
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16894>
    (cherry picked from commit 0ad2dfe942dff42ea230786c23502d208b50928f)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e5d3489d25348e27fb8e5a8af0122d4dd0cdd97a
Author: Jason Ekstrand <jason.ekstrand at collabora.com>
Date:   Fri Jun 3 16:06:33 2022 -0500

    nir/deref: Make compare_deref_paths take a stop callback
    
    This will let us use it to compare only the first part of a pair of
    deref paths and continue the comparison later.
    
    Tested-by: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
    Reviewed-by: M Henning <drawoc at darkrefraction.com>
    Reviewed-by: Rhys Perry <pendingchaos02 at gmail.com>
    Cc: mesa-stable at lists.freedesktop.org
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16894>
    (cherry picked from commit 130d9d80dbbe4a2e64c8c2b5882f94176ea1e12d)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c290af65c6d6f0e235297205699eb3ca8024bd23
Author: Jason Ekstrand <jason.ekstrand at collabora.com>
Date:   Fri Jun 3 16:03:03 2022 -0500

    nir/deref: Use an index in compare_deref_paths
    
    Instead of incrementing pointers, use an integer index.  This makes it
    clear that we always increment them together.  It'll also make the next
    change a bit easier.  We use a pointer to an integer because the next
    patch is going to let us abort the walk and we want to be able to
    continue where we left off.
    
    Tested-by: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
    Reviewed-by: M Henning <drawoc at darkrefraction.com>
    Reviewed-by: Rhys Perry <pendingchaos02 at gmail.com>
    Cc: mesa-stable at lists.freedesktop.org
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16894>
    (cherry picked from commit 7ebcdada000d9c0476bac27e55e1b132dde5d9d3)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=883ded33e37e3ea441f37611b17ab4c580bf5c50
Author: Jason Ekstrand <jason.ekstrand at collabora.com>
Date:   Fri Jun 3 15:45:37 2022 -0500

    nir/deref: Break out a helper for compare_deref_paths
    
    Tested-by: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
    Reviewed-by: M Henning <drawoc at darkrefraction.com>
    Reviewed-by: Rhys Perry <pendingchaos02 at gmail.com>
    Cc: mesa-stable at lists.freedesktop.org
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16894>
    (cherry picked from commit 4d80b3217e692e626182511c9a4d87f25a09221d)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5aca78cef2f8dcc676b005298eaae524173c57a4
Author: Rhys Perry <pendingchaos02 at gmail.com>
Date:   Fri May 20 14:28:29 2022 +0100

    nir/deref: stop assuming coherent accesses of different SSBOs may alias
    
    Whether it's coherent should be irrelevant and the ACCESS_RESTRICT check
    above should consider all cases aliasing unless NIR makes it clear they're
    not.
    
    Signed-off-by: Rhys Perry <pendingchaos02 at gmail.com>
    Reviewed-by: Jason Ekstrand <jason.ekstrand at collabora.com>
    Tested-by: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
    Reviewed-by: M Henning <drawoc at darkrefraction.com>
    Cc: mesa-stable at lists.freedesktop.org
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16894>
    (cherry picked from commit cb5c1bcb7c660e1966b891841f94020a36d348a1)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f2f9aa5e8d1fd6b14335b1741a14d9b9f1430dee
Author: Dylan Baker <dylan.c.baker at intel.com>
Date:   Mon Jun 13 13:19:49 2022 -0700

    .pick_status.json: Update to 2ef6b0aab1c7b99b85f2d88ced44a63f28cfca6b



More information about the mesa-commit mailing list