aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRob Clark <[email protected]>2020-06-16 11:21:29 -0700
committerMarge Bot <[email protected]>2020-06-18 03:40:54 +0000
commitf43a2cd1d967bd1d4448fbf1f929e56e4ce82d44 (patch)
treed231787e8efc55baa26aedd9ded41ef5dfb47325
parent0a84d22bf2b81ff483b7728bf0e6c267d98c6b9c (diff)
spirv: atomic_counter_read_deref is not vectorized
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3141 Signed-off-by: Rob Clark <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5505>
-rw-r--r--src/compiler/spirv/spirv_to_nir.c5
1 files changed, 1 insertions, 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: