Mesa (staging/21.3): intel/nir: preserve access value when duping intrinsic

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Dec 6 20:33:25 UTC 2021


Module: Mesa
Branch: staging/21.3
Commit: 76e757d650aa1e3d5ad4f8d7ab110c0a1b6d2021
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=76e757d650aa1e3d5ad4f8d7ab110c0a1b6d2021

Author: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Date:   Wed Oct 27 19:02:38 2021 +0300

intel/nir: preserve access value when duping intrinsic

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Fixes: 6339aba775ecdc ("intel/compiler: Lower SSBO and shared loads/stores in NIR")
Reviewed-by: Caio Oliveira <caio.oliveira at intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13718>
(cherry picked from commit 7661237a313cdac13aee866041963a1f00c13f3a)

---

 .pick_status.json                                       | 2 +-
 src/intel/compiler/brw_nir_lower_mem_access_bit_sizes.c | 3 +++
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/.pick_status.json b/.pick_status.json
index 4916842deeb..47bedfb80ec 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -364,7 +364,7 @@
         "description": "intel/nir: preserve access value when duping intrinsic",
         "nominated": true,
         "nomination_type": 1,
-        "resolution": 0,
+        "resolution": 1,
         "main_sha": null,
         "because_sha": "6339aba775ecdcaf74136479d02e3622bc1d4c0a"
     },
diff --git a/src/intel/compiler/brw_nir_lower_mem_access_bit_sizes.c b/src/intel/compiler/brw_nir_lower_mem_access_bit_sizes.c
index 27b4c14ff61..1b83b28b8db 100644
--- a/src/intel/compiler/brw_nir_lower_mem_access_bit_sizes.c
+++ b/src/intel/compiler/brw_nir_lower_mem_access_bit_sizes.c
@@ -60,6 +60,9 @@ dup_mem_intrinsic(nir_builder *b, nir_intrinsic_instr *intrin,
    for (unsigned i = 0; i < info->num_indices; i++)
       dup->const_index[i] = intrin->const_index[i];
 
+   if (nir_intrinsic_has_access(intrin))
+      nir_intrinsic_set_access(dup, nir_intrinsic_access(intrin));
+
    nir_intrinsic_set_align(dup, align, 0);
 
    if (info->has_dest) {



More information about the mesa-commit mailing list