Mesa (master): spirv: atomic_counter_read_deref is not vectorized

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Jun 18 03:59:22 UTC 2020


Module: Mesa
Branch: master
Commit: f43a2cd1d967bd1d4448fbf1f929e56e4ce82d44
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f43a2cd1d967bd1d4448fbf1f929e56e4ce82d44

Author: Rob Clark <robdclark at chromium.org>
Date:   Tue Jun 16 11:21:29 2020 -0700

spirv: atomic_counter_read_deref is not vectorized

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3141
Signed-off-by: Rob Clark <robdclark at chromium.org>
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5505>

---

 src/compiler/spirv/spirv_to_nir.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/src/compiler/spirv/spirv_to_nir.c b/src/compiler/spirv/spirv_to_nir.c
index b222e2b67a0..6fac715136c 100644
--- a/src/compiler/spirv/spirv_to_nir.c
+++ b/src/compiler/spirv/spirv_to_nir.c
@@ -3127,15 +3127,12 @@ vtn_handle_atomics(struct vtn_builder *b, SpvOp opcode,
        */
 
       switch (opcode) {
-      case SpvOpAtomicLoad:
-         atomic->num_components = glsl_get_vector_elements(deref_type);
-         break;
-
       case SpvOpAtomicStore:
          atomic->num_components = glsl_get_vector_elements(deref_type);
          nir_intrinsic_set_write_mask(atomic, (1 << atomic->num_components) - 1);
          break;
 
+      case SpvOpAtomicLoad:
       case SpvOpAtomicExchange:
       case SpvOpAtomicCompareExchange:
       case SpvOpAtomicCompareExchangeWeak:



More information about the mesa-commit mailing list