URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=40792790517d09b641bd0666d9e6cda1f027f6a1
Author: Jason Ekstrand <ja...@jlekstrand.net>
Date:   Tue Mar 16 10:08:21 2021 -0500

    anv/apply_pipeline_layout: Add support for A64 descriptor access
    
    Reviewed-by: Caio Marcelo de Oliveira Filho <caio.olive...@intel.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8635>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=b704d03efd47678613248fce3d63954f1fae61f8
Author: Jason Ekstrand <jason.ekstr...@intel.com>
Date:   Fri Jan 15 16:44:44 2021 -0600

    anv: Do UBO loads with global addresses for bindless
    
    This makes UBO loads in the variable pointers or bindless case work just
    like SSBO loads in the sense that they use A64 messages and 64-bit
    global addresses.  The primary difference is that we have an
    optimization in anv_nir_lower_ubo_loads which uses a (possibly
    predicated) block load message when the offset is constant so we get
    roughly the same performance as we would from plumbing load_ubo all the
    way to the back-end.
    
    Reviewed-by: Kenneth Graunke <kenn...@whitecape.org>
    Reviewed-by: Caio Marcelo de Oliveira Filho <caio.olive...@intel.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8635>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=61749b5a1513888767c39b2099be3e82f8d91871
Author: Jason Ekstrand <jason.ekstr...@intel.com>
Date:   Fri Jan 15 14:59:42 2021 -0600

    anv: Add a pass for lowering A64 UBO access
    
    Instead of load_global_constant_offset/bounded, we want to use the
    Intel-specific block load intrinsic whenever we can.  This way we get
    the same wide block loads that we usually use for constant offset UBO
    pulls with a binding table.
    
    Reviewed-by: Kenneth Graunke <kenn...@whitecape.org>
    Reviewed-by: Caio Marcelo de Oliveira Filho <caio.olive...@intel.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8635>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=c8748771bb68951a2921e76ceab61b68fca9417d
Author: Jason Ekstrand <jason.ekstr...@intel.com>
Date:   Fri Jan 15 00:35:19 2021 -0600

    nir/lower_io: Support global addresses for UBOs in nir_lower_explicit_io
    
    For nir_address_format_64bit_global_32bit_offset and
    nir_address_format_64bit_bounded_global, we use a new intrinsics which
    take the base address and offset as separate parameters.  For bounds-
    checked access, the bound is also included in the intrinsic.  This gives
    the drive more control over the bounds checking so that UBOs don't
    suddenly become massively more expensive.
    
    Reviewed-by: Kenneth Graunke <kenn...@whitecape.org>
    Reviewed-by: Caio Marcelo de Oliveira Filho <caio.olive...@intel.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8635>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=bd65e4d19923be87e94a5a4eca6cc5285a3c3d40
Author: Jason Ekstrand <ja...@jlekstrand.net>
Date:   Sat Mar 13 23:58:13 2021 -0600

    anv/apply_pipeline_layout: Use the new helpers for images
    
    Reviewed-by: Caio Marcelo de Oliveira Filho <caio.olive...@intel.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8635>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=4113a3750cf5f2b72cf75dd74e6af0ba2b0b67ee
Author: Jason Ekstrand <ja...@jlekstrand.net>
Date:   Fri Mar 12 17:35:32 2021 -0600

    anv/apply_pipeline_layout: Use the new helpers for early lowering
    
    This also means that some of the newly added helpers need to grow a bit
    to support VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_DATA_EXT.
    
    Reviewed-by: Caio Marcelo de Oliveira Filho <caio.olive...@intel.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8635>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=93126b641c61717264464b36b3e72b0a9330cdde
Author: Jason Ekstrand <ja...@jlekstrand.net>
Date:   Fri Mar 12 17:49:40 2021 -0600

    anv/apply_pipeline_layout: Rework the desc_addr_format helper
    
    We're about to add a new helper which is more detailed.
    
    Reviewed-by: Caio Marcelo de Oliveira Filho <caio.olive...@intel.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8635>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f95134a0fe7a8fb5bf02e5419926bbfebaca1e73
Author: Jason Ekstrand <ja...@jlekstrand.net>
Date:   Fri Mar 12 15:25:13 2021 -0600

    anv/apply_pipeline_layout: Refactor all our descriptor address builders
    
    Reviewed-by: Caio Marcelo de Oliveira Filho <caio.olive...@intel.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8635>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=42de744155b801c45c80dbaa69ea280c4a5612ba
Author: Jason Ekstrand <jason.ekstr...@intel.com>
Date:   Wed Jan 20 15:59:23 2021 -0600

    anv/apply_pipeline_layout: Apply dynamic offsets in load_ssbo_descriptor
    
    This function has exactly two call sites.  The first is where we had
    these calculations before.  The second only cares about the size of the
    SSBO so all the extra code we emit will be dead.  However, NIR should
    easily clean that up and this lets us consolidate things a bit better.
    
    Reviewed-by: Kenneth Graunke <kenn...@whitecape.org>
    Reviewed-by: Caio Marcelo de Oliveira Filho <caio.olive...@intel.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8635>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=8a61e3a0c0704dcc81fcccb17b815f5f5475b7e0
Author: Jason Ekstrand <jason.ekstr...@intel.com>
Date:   Fri Jan 15 17:20:22 2021 -0600

    anv: Zero out the last dword of UBO/SSBO descriptors in the shader
    
    This way, NIR can constant fold it.
    
    Reviewed-by: Kenneth Graunke <kenn...@whitecape.org>
    Reviewed-by: Caio Marcelo de Oliveira Filho <caio.olive...@intel.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8635>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=422798caef9d5bb711008bf57751974f978e3df4
Author: Jason Ekstrand <ja...@jlekstrand.net>
Date:   Fri Mar 12 18:27:28 2021 -0600

    anv: Rework the 64bit_bounded_global resource index format
    
    Instead of packing the descriptor offset into the packed portion, use
    that unused channel we have lying around.  This potentially allows for
    larger descriptor sets.  We also re-arrange the components a bit to make
    it more like the 64bit_bounded_global memory address format.
    
    Reviewed-by: Caio Marcelo de Oliveira Filho <caio.olive...@intel.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8635>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e06144a818950e1b3aaefaae04fd1c5df23ca536
Author: Jason Ekstrand <jason.ekstr...@intel.com>
Date:   Wed Jan 20 15:07:23 2021 -0600

    anv: Use 64bit_global_32bit_offset for SSBOs
    
    This has the advantage of giving us cheaper address calculations because
    we can calculate in 32 bits first and then do a single 64x32 add.  It
    also lets us delete a bunch of code for dealing with descriptor
    dereferences (vulkan_resource_reindex, and friends) because our bindless
    SSBO pointers are now vec4s regardless of whether or not we're doing
    bounds checking.  This also unifies UBOs and SSBOs.  The one down-side
    is that, in certain variable pointers cases, it may end up burning more
    memory and/or increasing register pressure.  This seems like a worth-
    while trade-off.
    
    Reviewed-by: Kenneth Graunke <kenn...@whitecape.org>
    Reviewed-by: Caio Marcelo de Oliveira Filho <caio.olive...@intel.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8635>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=93a3f187195aad44624451a2929f5803be619fe2
Author: Jason Ekstrand <jason.ekstr...@intel.com>
Date:   Wed Jan 20 14:27:32 2021 -0600

    nir: Add a new 64+32-bit address format
    
    This is a global address format where you have a 64-bit base pointer and
    a 32-bit offset.  It's intentionally identical to 64bit_bounded_global
    except nir_lower_explicit_io does no bounds checking with it.
    
    Reviewed-by: Kenneth Graunke <kenn...@whitecape.org>
    Reviewed-by: Caio Marcelo de Oliveira Filho <caio.olive...@intel.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8635>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e13246e053fd994dbe95b9ba2f50913529a5bc30
Author: Jason Ekstrand <jason.ekstr...@intel.com>
Date:   Thu Jan 21 17:31:50 2021 -0600

    anv/apply_pipeline_layout: Add some switch statements
    
    Reviewed-by: Kenneth Graunke <kenn...@whitecape.org>
    Reviewed-by: Caio Marcelo de Oliveira Filho <caio.olive...@intel.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8635>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f872a269916d1a5d032f3db41fc63ba769b5b231
Author: Jason Ekstrand <jason.ekstr...@intel.com>
Date:   Fri Jan 15 16:40:41 2021 -0600

    anv/apply_pipeline_layout: Plumb through a UBO address format
    
    Reviewed-by: Kenneth Graunke <kenn...@whitecape.org>
    Reviewed-by: Caio Marcelo de Oliveira Filho <caio.olive...@intel.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8635>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=2b8f76b12896a548893ad9f45a10b9b3a15918bc
Author: Jason Ekstrand <jason.ekstr...@intel.com>
Date:   Tue Mar 9 17:32:14 2021 -0600

    anv/apply_pipeline_layout: Move bounds checking later for index/offset
    
    Instead of doing the array check at the load_vulkan_resource_index
    intrinsic, stuff it in the vec2 and handle it at load_vulkan_descriptor
    time.  This allows the bounds check to take any re-index intrinsics into
    account.  This only affects variablePointers + SSBOs + Gen7.
    
    Reviewed-by: Caio Marcelo de Oliveira Filho <caio.olive...@intel.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8635>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=2beba9dd5a2458203b8837233dc60a80cfc68904
Author: Jason Ekstrand <ja...@jlekstrand.net>
Date:   Fri Mar 12 14:04:38 2021 -0600

    anv/apply_pipeline_layout: Run DCE between the early and late passes
    
    This allows us to ignore UBOs in the late code going forward.
    
    Reviewed-by: Caio Marcelo de Oliveira Filho <caio.olive...@intel.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8635>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=a7fe687bde150f2e21a3994083f8d9a9ee7d970e
Author: Jason Ekstrand <jason.ekstr...@intel.com>
Date:   Fri Jan 15 00:18:37 2021 -0600

    anv/apply_pipeline_layout: Lower UBO loads in the early pass
    
    We're about to enable bindless UBOs via A64 memory access like we do for
    SSBOs.  In order to prevent 100% of UBOs from hitting that path, we
    enable them in the early lowering.  This way we'll still get binding
    table-based UBO access for any non-bindless ones.  In particular, we
    need this for UBO pushing to work.
    
    Reviewed-by: Kenneth Graunke <kenn...@whitecape.org>
    Reviewed-by: Caio Marcelo de Oliveira Filho <caio.olive...@intel.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8635>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=799a931d127f977d7720069c3fbd5263426f1fc9
Author: Jason Ekstrand <jason.ekstr...@intel.com>
Date:   Wed Jan 20 19:42:16 2021 -0600

    anv/apply_pipeline_layout: Rework the early pass index/offset helpers
    
    Rewrite them all to work on an index/offset vec2 instead of some only
    returning the index.  This means SSBO size handling is a tiny bit more
    complicated but it will also mean we can use them for descriptor buffers
    properly.
    
    This also fixes a bug where we weren't bounds-checking re-index
    intrinsics because we applied the bounds check at the tail of the
    recursion and not at the beginning.
    
    Fixes: 3cf78ec2bd "anv: Lower some SSBO operations in..."
    Reviewed-by: Kenneth Graunke <kenn...@whitecape.org>
    Reviewed-by: Caio Marcelo de Oliveira Filho <caio.olive...@intel.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8635>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=cdb88f67dc291ccf1f4e9f0a33d4e266710b20a6
Author: Jason Ekstrand <jason.ekstr...@intel.com>
Date:   Wed Jan 20 18:49:26 2021 -0600

    anv/apply_pipeline_layout: Refactor descriptor chasing code
    
    This makes things a bit more generic for use in the next commit.
    
    Reviewed-by: Kenneth Graunke <kenn...@whitecape.org>
    Reviewed-by: Caio Marcelo de Oliveira Filho <caio.olive...@intel.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8635>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=0aa3d68206f3f4ff54267037fcba896b51f24c2d
Author: Jason Ekstrand <ja...@jlekstrand.net>
Date:   Fri Mar 12 13:00:47 2021 -0600

    anv: Use nir_shader_instructions_pass in apply_pipeline_layout
    
    Reviewed-by: Caio Marcelo de Oliveira Filho <caio.olive...@intel.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8635>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=bfe92b83db46bf3b30139e17d64a4a6e0a41ed21
Author: Jason Ekstrand <jason.ekstr...@intel.com>
Date:   Wed Jan 20 16:21:38 2021 -0600

    anv: Use load_global_constant for shader constants
    
    NIR can do a bit better job optimizing this version.
    
    Reviewed-by: Kenneth Graunke <kenn...@whitecape.org>
    Reviewed-by: Caio Marcelo de Oliveira Filho <caio.olive...@intel.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8635>

URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=1ce3660a5a5a942c54d2da761dc4d3b5fa6864e7
Author: Jason Ekstrand <jason.ekstr...@intel.com>
Date:   Thu Jan 14 18:00:00 2021 -0600

    intel/fs,rt: Add a predicate to load_global_const_block
    
    This allows us to do bounds checked A64 block load without the it being
    counted as control-flow by NIR.  This means that NIR optimizations like
    CSE will be able to work on these the same as a regular load.
    
    Reviewed-by: Kenneth Graunke <kenn...@whitecape.org>
    Reviewed-by: Caio Marcelo de Oliveira Filho <caio.olive...@intel.com>
    Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8635>

_______________________________________________
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to