From: Rob Clark Date: Tue, 16 Jun 2020 18:21:29 +0000 (-0700) Subject: spirv: atomic_counter_read_deref is not vectorized X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f43a2cd1d967bd1d4448fbf1f929e56e4ce82d44;p=mesa.git spirv: atomic_counter_read_deref is not vectorized Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3141 Signed-off-by: Rob Clark Reviewed-by: Jason Ekstrand Part-of: --- 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: