radeonsi: lower nir streamout intrinsics in abi
authorQiang Yu <yuq825@gmail.com>
Mon, 17 Oct 2022 09:16:40 +0000 (17:16 +0800)
committerMarge Bot <emma+marge@anholt.net>
Wed, 18 Jan 2023 05:30:13 +0000 (05:30 +0000)
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19489>

src/gallium/drivers/radeonsi/si_nir_lower_abi.c

index 9020956..b0684d9 100644 (file)
@@ -298,6 +298,16 @@ static bool lower_abi_instr(nir_builder *b, nir_instr *instr, struct lower_abi_s
    case nir_intrinsic_load_ring_gs2vs_offset_amd:
       replacement = ac_nir_load_arg(b, &args->ac, args->ac.gs2vs_offset);
       break;
+   case nir_intrinsic_load_streamout_config_amd:
+      replacement = ac_nir_load_arg(b, &args->ac, args->ac.streamout_config);
+      break;
+   case nir_intrinsic_load_streamout_write_index_amd:
+      replacement = ac_nir_load_arg(b, &args->ac, args->ac.streamout_write_index);
+      break;
+   case nir_intrinsic_load_streamout_offset_amd:
+      replacement =
+         ac_nir_load_arg(b, &args->ac, args->ac.streamout_offset[nir_intrinsic_base(intrin)]);
+      break;
    default:
       return false;
    }