diff --git a/src/compiler/nir/nir_lower_shader_calls.c b/src/compiler/nir/nir_lower_shader_calls.c index 0a37ccc94fd..052f5db847a 100644 --- a/src/compiler/nir/nir_lower_shader_calls.c +++ b/src/compiler/nir/nir_lower_shader_calls.c @@ -273,7 +273,8 @@ spill_fill(nir_builder *before, nir_builder *after, nir_ssa_def *def, unsigned o switch(address_format) { case nir_address_format_32bit_offset: nir_store_scratch(before, def, nir_imm_int(before, offset), - .align_mul = MIN2(comp_size, stack_alignment), .write_mask = ~0); + .align_mul = MIN2(comp_size, stack_alignment), + .write_mask = BITFIELD_MASK(def->num_components)); def = nir_load_scratch(after, def->num_components, def->bit_size, nir_imm_int(after, offset), .align_mul = MIN2(comp_size, stack_alignment)); break;