Mesa (main): 41 new commits

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Oct 28 20:03:07 UTC 2021


URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7b78b2fcac6ec2782a8296aeda195d1d3942a703
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Mon Oct 18 22:48:14 2021 -0700

    intel/genxml: Assert that all MOCS fields are non-zero on Gfx7+
    
    Let's try and catch performance problems before we have to do large
    painful amounts of analysis to detect a missed field.
    
    Acked-by: Jason Ekstrand <jason at jlekstrand.net>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13480>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ebe2a2b5f6a461ec4644accb4e7b02c430bb8f16
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Mon Oct 18 22:35:33 2021 -0700

    intel/genxml: Add an field option for nonzero="true"
    
    This asserts that the value supplied is non-zero.  Useful for things
    like MOCS fields on modern platforms where we really want to avoid
    setting it to 0 (uncached).
    
    mbz types cannot be flagged as nonzero.
    
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13480>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e6ebf5add7f86b57f300e6e4612333b9efbe8de2
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Wed Oct 27 12:56:01 2021 -0700

    i965: Set MOCS for Bindless Surface/Sampler State base addresses
    
    We don't use bindless surface or sampler states today, and are unlikely
    to ever implement that in i965, but we can set a MOCS value regardless
    to avoid asserts in upcoming patches that assert MOCS isn't zero.
    
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13480>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=148ea65ee1554dcdb5aad37184b56cad2d3e622a
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Wed Oct 20 15:59:40 2021 -0700

    i965: Port STATE_BASE_ADDRESS to genxml and fix bugs
    
    This largely copies crocus's code for this (but with Gfx9+ handling).
    
    This version also fixes missing MOCS settings on several platforms,
    which we hadn't noticed were missing.
    
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13480>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0a64007676ff5cdfa46fc25a479d1b4b48ca9b31
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Wed Oct 20 01:08:07 2021 -0700

    i965: Fix MOCS for BLORP buffer copies
    
    We were passing a MOCS of 0, which is uncached.  Yikes.
    
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13480>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=75e86afb500993b3a068323570f427c17a1865be
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Wed Oct 20 00:25:47 2021 -0700

    i965: Set MOCS for 3DSTATE_INDEX_BUFFER on Gfx6/7 as well.
    
    For some reason we were only setting this on Gfx8+.
    
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13480>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ab44a546461572cd50901ae8285fcd19e87bef8f
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Wed Oct 20 00:13:29 2021 -0700

    i965: Set MOCS for 3DSTATE_SO_BUFFERS on Gfx7.x too
    
    For some reason we were only setting this on Gfx8+.
    
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13480>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=eaaa3c7e04eaf3c94cc7219a1a6a89918bbe2dbb
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Oct 19 15:24:51 2021 -0700

    i965: Set MOCS on NULL stream output buffers
    
    We'd like to add safeguards against accidental use of MOCS 0 (uncached),
    which can have large performance implications.  One case where we use
    MOCS of 0 is disabled stream output targets,  MOCS shouldn't matter, as
    there's no actual buffer to be cached.
    
    That said, it should be harmless to set MOCS for these null stream
    output buffers; we can just assume a MOCS for generic internal buffers.
    
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13480>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=59f53b07c487dead0884b78f15468eefd52a2dc5
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Oct 19 15:18:09 2021 -0700

    i965: Set MOCS for push constant buffers on Haswell and Gfx9+
    
    We set MOCS on Ivybridge/Baytrail, but not Haswell, and not Skylake
    and later.  We shoud set it everywhere.  While we're at it, we also
    set it for null constant buffers, so that we aren't programming a 0
    MOCS, to allow us to add some safeguards against that.
    
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13480>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d0e356b3332e7fc4ae8b9f5a7f690454084b2d5a
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Oct 19 16:41:57 2021 -0700

    i965: Set default MOCS for NULL depth/stencil/HiZ buffers
    
    isl now uses info->mocs regardless of whether there's any actual
    depth/stencil/HiZ buffers involved, so pass it a legitimate one,
    rather than zero.  When we have entirely NULL surfaces, we just
    default to the MOCS value for an internal buffer.
    
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13480>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f0a5f10b6cc0ef6a13042d96b25053527bd73940
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Oct 19 10:18:43 2021 -0700

    i965: Use ISL for MOCS rather than open coding it everywhere
    
    The ISL MOCS infrastructure didn't exist when we wrote the i965 code,
    but now that it does, we ought to use it, deleting a complicated mess
    that was replicated all throughout the codebase.
    
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13480>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d9decdb2c4a4a63965d77267dc8ebaff6a5b56b2
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Wed Oct 20 21:29:57 2021 -0700

    crocus: Fix MOCS for buffer copies.
    
    We were passing a MOCS of 0, which is uncached.  Yikes.
    
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13480>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=dc29e9dbb3a07e923c6ce3ea8d2a9a62e21175ff
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Wed Oct 20 21:24:39 2021 -0700

    crocus: Set MOCS for 3DSTATE_SO_BUFFERS on Gfx7.x too
    
    For some reason we were only setting this on Gfx8+.
    
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13480>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=72ffcd19653c3cb7b927d2e4ff4ee0dc5a42e5ef
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Oct 19 15:42:28 2021 -0700

    crocus: Set MOCS for push constant buffers where possible
    
    We apparently were not setting MOCS for 3DSTATE_CONSTANT_XS at all.
    
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13480>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=798cc4be1b85d2acba9984f7404cc1f26fd5005e
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Oct 19 15:33:00 2021 -0700

    crocus: Set default MOCS for NULL depth/stencil/HiZ buffers
    
    isl now uses info->mocs regardless of whether there's any actual
    depth/stencil/HiZ buffers involved, so pass it a legitimate one,
    rather than zero.  When we have entirely NULL surfaces, we just
    default to the MOCS value for an internal buffer.
    
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13480>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=737b3fae737821bb7d585bf218b03b40aadd167b
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Oct 19 15:30:35 2021 -0700

    crocus: Set MOCS on NULL stream output buffers
    
    We'd like to add safeguards against accidental use of MOCS 0 (uncached),
    which can have large performance implications.  One case where we use
    MOCS of 0 is disabled stream output targets,  MOCS shouldn't matter, as
    there's no actual buffer to be cached.
    
    That said, it should be harmless to set MOCS for these null stream
    output buffers; we can just assume a MOCS for generic internal buffers.
    
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13480>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=de99b5502b11f02e0470a6af8bf27ec94e2669cb
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Wed Oct 20 14:55:01 2021 -0700

    crocus: Set MOCS for index buffers on Gen6+
    
    For some reason we were only setting them on Gen8+.
    
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13480>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=be0d22a9ce05a56f134f48b47874cbcaaa416b35
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Fri Oct 22 02:31:25 2021 -0700

    crocus: Tidy the ifdefs for emitting STATE_BASE_ADDRESS
    
    This reorganizes the code so that we set fields in a tidy order:
    
       1. Set the base addresses
    
       2. Set either buffer sizes (Gfx8) or upper bound values (Gfx4-7)
          (These are logically the same thing, but expressed differently.)
    
       3. Set MOCS (Gfx6+)
    
    I find this easier to follow.
    
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13480>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=51f843ad6034f84aafc3fe2a08f8a67112e1005a
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Wed Oct 20 14:53:23 2021 -0700

    crocus: Set MOCS for most state base addresses on pre-Gen8
    
    We were only setting MOCS for dynamic state, surface state, instruction,
    and indirect base addresses on Gen8+.  We should set them on Gen6+.
    
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13480>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=dfe455b6dfb927b43681fed29a9bc5a88f763171
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Oct 19 09:12:54 2021 -0700

    anv: Set MOCS on NULL stream output buffers
    
    We'd like to add safeguards against accidental use of MOCS 0 (uncached),
    which can have large performance implications.  One case where we use
    MOCS of 0 is disabled stream output targets,  MOCS shouldn't matter, as
    there's no actual buffer to be cached.
    
    That said, it should be harmless to set MOCS for these null stream
    output buffers; we can just assume a MOCS for generic internal buffers.
    
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13480>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=818b5d2b9eda8847830dc47187e13a1d0df5f134
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Mon Oct 18 23:43:04 2021 -0700

    anv: Set MOCS on NULL vertex buffers
    
    We'd like to add safeguards against accidental use of MOCS 0 (uncached),
    which can have large performance implications.  One case where we use
    MOCS of 0 is 3DSTATE_VERTEX_BUFFERS where we set NullVertexBuffer.
    It shouldn't matter here, as there's no actual buffer to be cached.
    
    That said, it should be harmless to set MOCS for null vertex buffers.
    We can assume an internal buffer and request isl's vertex buffer MOCS.
    
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13480>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7ae9f516f0313c2e36c70d96b86406ee559d6b21
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Mon Oct 18 23:39:30 2021 -0700

    anv: Set MOCS in 3DSTATE_CONSTANT_XS even if there isn't a buffer.
    
    This avoids MOCS != 0 assertions in later patches.  iris also does this,
    and we do it for the 3DSTATE_CONSTANT_ALL packet path as well.  It's a
    bit pointless, but it should hopefully be harmless also.
    
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13480>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=158ad07b3efc79583baa4939c56ff39a89062c3c
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Oct 19 13:44:10 2021 -0700

    anv: Set MOCS for 3DSTATE_CONSTANT_XS on Gfx7.x as well
    
    We were only setting this on Gfx9+.  It's MBZ on Gfx8, but it exists
    on Gfx7.x and doesn't have those restrictions there; we should set it.
    
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13480>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b4310ef8eebfd44ee21cbcd1bfbc98f1153b92dd
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Oct 19 14:12:32 2021 -0700

    anv: Set default MOCS for NULL depth/stencil/HiZ buffers
    
    isl now uses info->mocs regardless of whether there's any actual
    depth/stencil/HiZ buffers involved, so pass it a legitimate one,
    rather than zero.  When we have entirely NULL surfaces, we just
    default to isl's MOCS value for an internal depth buffer.
    
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13480>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d8cb76211c5d264d705dbd3c02b5fc61637d5a56
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Oct 19 23:13:47 2021 -0700

    iris: Fix MOCS for buffer copies
    
    We were passing a MOCS of 0, which is uncached.  Yikes.
    
    Fixes: c5b22441f1c ("iris: Fix buffer -> buffer copy_region")
    
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13480>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=256d48eb8cd57e9405b010982a48cf2378d299cc
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Oct 19 05:20:00 2021 -0700

    iris: Set MOCS on NULL stream output buffers
    
    We'd like to add safeguards against accidental use of MOCS 0 (uncached),
    which can have large performance implications.  One case where we use
    MOCS of 0 is disabled stream output targets,  MOCS shouldn't matter, as
    there's no actual buffer to be cached.
    
    That said, it should be harmless to set MOCS for these null stream
    output buffers; we can just assume a MOCS for generic internal buffers.
    
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13480>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d8e1d0fecc962152fa3543d7da4aa514a3b79638
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Oct 19 05:22:45 2021 -0700

    iris: Set MOCS on NULL vertex buffers
    
    We'd like to add safeguards against accidental use of MOCS 0 (uncached),
    which can have large performance implications.  One case where we use
    MOCS of 0 is 3DSTATE_VERTEX_BUFFERS where we set NullVertexBuffer.
    It shouldn't matter here, as there's no actual buffer to be cached.
    
    That said, it should be harmless to set MOCS for null vertex buffers.
    We can assume an internal buffer and request isl's vertex buffer MOCS.
    
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13480>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=369cd9ae2803e2f40a2ebf1b94918436eb779f6e
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Oct 19 05:31:55 2021 -0700

    iris: Set MOCS on 3DSTATE_CONSTANT_ALL packets that disable all buffers
    
    We'd like to add safeguards against accidental use of MOCS 0 (uncached),
    which can have large performance implications.  One case where we missed
    setting a non-zero MOCS was in 3DSTATE_CONSTANT_ALL packets which fully
    disable all constant buffers.  (If any constant buffer was present, we
    would set an actual MOCS value.)
    
    MOCS really shouldn't matter here, as there are no actual constant
    buffers to be cached.  That said, it should be harmless to do so, and
    we can just assume a generic MOCS for internal buffers.
    
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13480>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0544afd2df8a534f2f72c18c18a8489c78d8024c
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Wed May 13 15:08:33 2020 -0700

    iris: Set MOCS on 3DSTATE_CONSTANT_XS on Gfx9+
    
    We were leaving this blank due to a Broadwell restriction, causing our
    constant buffers to be uncached.  We later fixed this for Gfx12+, but
    left Gfx9-11 without a fix.  We should specify one.
    
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13480>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8336054024946bc74914fc7f24a5a33b7a9e357f
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Oct 19 05:27:04 2021 -0700

    iris: Set default MOCS for NULL depth/stencil/HiZ buffers
    
    isl now uses info->mocs regardless of whether there's any actual
    depth/stencil/HiZ buffers involved, so pass it a legitimate one,
    rather than zero.  When we have entirely NULL surfaces, we just
    default to isl's MOCS value for an internal depth buffer.
    
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13480>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0a5e2257793bc67731b0ea19ca1138ab65e8e194
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Mon Oct 18 22:56:48 2021 -0700

    iris: Set Bindless Sampler State MOCS
    
    We don't use bindless sampler states today, but when we do, we'll want
    them to have proper MOCS values.  This also avoids asserts in upcoming
    patches which enforce that MOCS isn't zero.
    
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13480>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a6690dc1eec02a3225bc42a51b6ae5029005c815
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Mon Oct 18 22:55:34 2021 -0700

    iris: Drop unnecessary parenthesis
    
    Trivial.
    
    Reviewed-by: Sagar Ghuge <sagar.ghuge at intel.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13480>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=fc5168b01d2c9b8a1e84bfdf8ca3950bf3121a59
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Mon Oct 18 23:32:46 2021 -0700

    blorp: Use a non-zero MOCS for disabled constant buffers
    
    We'd like to add safeguards against accidental use of MOCS 0 (uncached),
    which can have large performance implications.  One case where we use
    MOCS of 0 is disabled constant buffers, where MOCS shouldn't matter, as
    there's no actual buffer to be cached.
    
    That said, it should be harmless to set MOCS for these null constant
    buffers; we can just assume a generic MOCS for internal buffers.
    
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13480>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=28a503c1a17b24da362b2596356684b5ca2f3c8d
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Oct 19 05:31:06 2021 -0700

    blorp: Fill in MOCS for null depth/stencil/HiZ buffers.
    
    isl now uses info->mocs regardless of whether there's any actual
    depth/stencil/HiZ buffers involved, so pass it a legitimate one,
    rather than zero.  We just assume a generic internal MOCS when we
    have entirely NULL surfaces.
    
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13480>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=edce4649b87638cd5bbfb3553bb4744139439a4c
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Oct 19 16:34:42 2021 -0700

    blorp: Fill in MOCS even for SURFTYPE_NULL surfaces.
    
    We'd like to add safeguards against accidental use of MOCS 0 (uncached),
    which can have large performance implications.  One case where we use
    MOCS of 0 is SURFTYPE_NULL surfaces, where MOCS really shouldn't matter,
    as there's no actual surface to be cached.
    
    That said, it should be harmless to set MOCS for these null surfaces;
    we can just assume a generic MOCS for internal buffers.
    
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13480>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c27fcb1d3bac4282978529d947f3a143ae4a311f
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Oct 19 14:16:38 2021 -0700

    isl: Fill in MOCS for NULL depth, stencil, and HiZ buffers.
    
    We'd like to add safeguards against accidental use of MOCS 0 (uncached),
    which can have large performance implications.  One case where we use
    MOCS of 0 is SURFTYPE_NULL depth, stencil, and HiZ buffers, where MOCS
    really shouldn't matter, as there's no actual surface to be cached.
    
    That said, it should be harmless to set MOCS for these null surfaces.
    We now set the one provided in info->mocs regardless of whether any
    buffers actually exist or not.
    
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13480>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=801ecb6f12cee3e5c5ba6d35b254b96ca9dad67b
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Oct 19 13:54:29 2021 -0700

    isl: Fill in MOCS even for SURFTYPE_NULL surfaces.
    
    We'd like to add safeguards against accidental use of MOCS 0 (uncached),
    which can have large performance implications.  One case where we use
    MOCS of 0 is SURFTYPE_NULL surfaces, where MOCS really shouldn't matter,
    as there's no actual surface to be cached.
    
    That said, it should be harmless to set MOCS for these null surfaces;
    we can just assume a generic MOCS for internal buffers.
    
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13480>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=78d2605e575d65f705b1d01bb9afe75ac6a7ea4d
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Oct 19 10:05:47 2021 -0700

    intel/genxml: Change 3DSTATE_CONSTANT_XS::MOCS to be MBZ on Gfx8.
    
    The Broadwell PRM says: "Constant Buffer Object Control State must
    always be programmed to zero."
    
    This patch changes the MOCS field in gen8.xml to be "mbz" type, so that
    it's impossible to set it to a non-zero value.
    
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13480>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=956effb88ad6b931b6fc5625493c9ff92c578c94
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Mon Oct 18 23:06:25 2021 -0700

    intel/genxml: Drop "Hierarchical Depth Buffer MOCS" field
    
    This is redundant with the existing "MOCS" field.  We don't need both.
    
    Reviewed-by: Sagar Ghuge <sagar.ghuge at intel.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13480>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e69d395cd1c79f2ff730fbaf535a75dd7347dfb7
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Oct 26 14:46:21 2021 -0700

    intel/genxml: Add an "mbz" data type
    
    There are some fields which Must Be Zero, and we don't want to allow
    setting them from the template struct, but we do want them in the XML
    to allow them to be decoded properly, and for documentation purposes.
    
    This adds a new "mbz" type, much like "mbo", except it doesn't set
    anything in the struct.  We also update the decoder to handle it.
    
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13480>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=58dc7f6ea67eed9583850a8fe69d6289fe919b69
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Fri Oct 22 02:33:04 2021 -0700

    intel/genxml: Fix Indirect Object Access Upper Bound on Gfx4
    
    We had this field mislabeled as "Instruction Access Upper Bound", but
    instruction state base address doesn't exist until Gfx5.  This is
    supposed to be the upper bound for indirect object base address,
    matching the G45 copy.
    
    Reviewed-by: Sagar Ghuge <sagar.ghuge at intel.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13480>



More information about the mesa-commit mailing list