From: Rob Clark Date: Mon, 8 Jun 2020 21:02:16 +0000 (-0700) Subject: nir/lower-atomics-to-ssbo: don't set num_components X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2e5b5d9584fc85dd4e0ea3eb55f457bb269c4080;p=mesa.git nir/lower-atomics-to-ssbo: don't set num_components Of the possible intrinsics generated, only load_ssbo is vectorized (and store_ssbo is never generated) Signed-off-by: Rob Clark Reviewed-by: Jason Ekstrand Part-of: --- diff --git a/src/compiler/nir/nir_lower_atomics_to_ssbo.c b/src/compiler/nir/nir_lower_atomics_to_ssbo.c index a72c20e5491..8c8f9f8121e 100644 --- a/src/compiler/nir/nir_lower_atomics_to_ssbo.c +++ b/src/compiler/nir/nir_lower_atomics_to_ssbo.c @@ -127,10 +127,16 @@ lower_instr(nir_intrinsic_instr *instr, unsigned ssbo_offset, nir_builder *b) break; } - if (new_instr->intrinsic == nir_intrinsic_load_ssbo || - new_instr->intrinsic == nir_intrinsic_store_ssbo) + if (new_instr->intrinsic == nir_intrinsic_load_ssbo) { nir_intrinsic_set_align(new_instr, 4, 0); + /* we could be replacing an intrinsic with fixed # of dest + * num_components with one that has variable number. So + * best to take this from the dest: + */ + new_instr->num_components = instr->dest.ssa.num_components; + } + nir_ssa_dest_init(&new_instr->instr, &new_instr->dest, instr->dest.ssa.num_components, instr->dest.ssa.bit_size, NULL); @@ -145,11 +151,6 @@ lower_instr(nir_intrinsic_instr *instr, unsigned ssbo_offset, nir_builder *b) nir_ssa_def_rewrite_uses(&instr->dest.ssa, nir_src_for_ssa(&new_instr->dest.ssa)); } - /* we could be replacing an intrinsic with fixed # of dest num_components - * with one that has variable number. So best to take this from the dest: - */ - new_instr->num_components = instr->dest.ssa.num_components; - return true; }