add_arg_assign(fninfo, ARG_VGPR, ctx->i32, &ctx->abi.instance_id);
add_arg(fninfo, ARG_VGPR, ctx->i32); /* unused */
}
- } else if (ctx->screen->info.chip_class == GFX10 &&
- !shader->is_gs_copy_shader) {
- add_arg(fninfo, ARG_VGPR, ctx->i32); /* user vgpr */
+ } else if (ctx->screen->info.chip_class >= GFX10) {
add_arg(fninfo, ARG_VGPR, ctx->i32); /* user vgpr */
+ ctx->param_vs_prim_id = add_arg(fninfo, ARG_VGPR, ctx->i32); /* user vgpr or PrimID (legacy) */
add_arg_assign(fninfo, ARG_VGPR, ctx->i32, &ctx->abi.instance_id);
} else {
add_arg_assign(fninfo, ARG_VGPR, ctx->i32, &ctx->abi.instance_id);