nir/load_store_vectorize: Fix shared atomic info
authorJason Ekstrand <jason@jlekstrand.net>
Tue, 31 Mar 2020 08:19:39 +0000 (03:19 -0500)
committerMarge Bot <eric+marge@anholt.net>
Fri, 3 Apr 2020 20:26:54 +0000 (20:26 +0000)
These were clearly copied and pasted from SSBOs.  The shared atomics
don't have an SSBO index so their offset is src0 and data is src1.

Fixes: ce9205c03bd20 "nir: add a load/store vectorization pass"
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4367>

src/compiler/nir/nir_opt_load_store_vectorize.c

index 414a97fec458abf4b148f68ae63a6d3487de1ec4..b0d3a7d0d90192ce11cfde94e13bc816d073b092 100644 (file)
@@ -108,20 +108,20 @@ case nir_intrinsic_##op: {\
    ATOMIC(0, deref, fmin, -1, -1, 0, 1)
    ATOMIC(0, deref, fmax, -1, -1, 0, 1)
    ATOMIC(0, deref, fcomp_swap, -1, -1, 0, 1)
-   ATOMIC(nir_var_mem_shared, shared, add, 0, 1, -1, 2)
-   ATOMIC(nir_var_mem_shared, shared, imin, 0, 1, -1, 2)
-   ATOMIC(nir_var_mem_shared, shared, umin, 0, 1, -1, 2)
-   ATOMIC(nir_var_mem_shared, shared, imax, 0, 1, -1, 2)
-   ATOMIC(nir_var_mem_shared, shared, umax, 0, 1, -1, 2)
-   ATOMIC(nir_var_mem_shared, shared, and, 0, 1, -1, 2)
-   ATOMIC(nir_var_mem_shared, shared, or, 0, 1, -1, 2)
-   ATOMIC(nir_var_mem_shared, shared, xor, 0, 1, -1, 2)
-   ATOMIC(nir_var_mem_shared, shared, exchange, 0, 1, -1, 2)
-   ATOMIC(nir_var_mem_shared, shared, comp_swap, 0, 1, -1, 2)
-   ATOMIC(nir_var_mem_shared, shared, fadd, 0, 1, -1, 2)
-   ATOMIC(nir_var_mem_shared, shared, fmin, 0, 1, -1, 2)
-   ATOMIC(nir_var_mem_shared, shared, fmax, 0, 1, -1, 2)
-   ATOMIC(nir_var_mem_shared, shared, fcomp_swap, 0, 1, -1, 2)
+   ATOMIC(nir_var_mem_shared, shared, add, -1, 0, -1, 1)
+   ATOMIC(nir_var_mem_shared, shared, imin, -1, 0, -1, 1)
+   ATOMIC(nir_var_mem_shared, shared, umin, -1, 0, -1, 1)
+   ATOMIC(nir_var_mem_shared, shared, imax, -1, 0, -1, 1)
+   ATOMIC(nir_var_mem_shared, shared, umax, -1, 0, -1, 1)
+   ATOMIC(nir_var_mem_shared, shared, and, -1, 0, -1, 1)
+   ATOMIC(nir_var_mem_shared, shared, or, -1, 0, -1, 1)
+   ATOMIC(nir_var_mem_shared, shared, xor, -1, 0, -1, 1)
+   ATOMIC(nir_var_mem_shared, shared, exchange, -1, 0, -1, 1)
+   ATOMIC(nir_var_mem_shared, shared, comp_swap, -1, 0, -1, 1)
+   ATOMIC(nir_var_mem_shared, shared, fadd, -1, 0, -1, 1)
+   ATOMIC(nir_var_mem_shared, shared, fmin, -1, 0, -1, 1)
+   ATOMIC(nir_var_mem_shared, shared, fmax, -1, 0, -1, 1)
+   ATOMIC(nir_var_mem_shared, shared, fcomp_swap, -1, 0, -1, 1)
    default:
       break;
 #undef ATOMIC