diff --git a/src/compiler/nir/nir_intrinsics.py b/src/compiler/nir/nir_intrinsics.py index 2b8a6c6ab6e..b4247efd44b 100644 --- a/src/compiler/nir/nir_intrinsics.py +++ b/src/compiler/nir/nir_intrinsics.py @@ -1222,7 +1222,7 @@ intrinsic("shared_atomic_comp_swap_dxil", src_comp=[1, 1, 1], dest_comp=1) # src[] = { value } store("raw_output_pan", [], []) -store("combined_output_pan", [1, 1, 1, 4], [COMPONENT, SRC_TYPE, DEST_TYPE]) +store("combined_output_pan", [1, 1, 1, 4], [BASE, COMPONENT, SRC_TYPE, DEST_TYPE]) load("raw_output_pan", [1], [BASE], [CAN_ELIMINATE, CAN_REORDER]) # Loads the sampler paramaters diff --git a/src/panfrost/util/pan_lower_writeout.c b/src/panfrost/util/pan_lower_writeout.c index bce8e3e71c6..ea8fb5f1a55 100644 --- a/src/panfrost/util/pan_lower_writeout.c +++ b/src/panfrost/util/pan_lower_writeout.c @@ -55,6 +55,8 @@ pan_nir_emit_combined_store(nir_builder *b, intr->num_components = rt0_store ? rt0_store->src[0].ssa->num_components : 4; + if (rt0_store) + nir_intrinsic_set_base(intr, nir_intrinsic_base(rt0_store)); nir_intrinsic_set_src_type(intr, pan_nir_rt_store_type(rt0_store)); nir_intrinsic_set_dest_type(intr, pan_nir_rt_store_type(stores[2])); nir_intrinsic_set_component(intr, writeout);