radeonsi: implement two esgs ring nir intrinsic
nir_intrinsic_load_ring_esgs_amd nir_intrinsic_load_ring_es2gs_offset_amd Will be used by esgs lowering. Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Timur Kristóf <timur.kristof@gmail.com> Signed-off-by: Qiang Yu <yuq825@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16788>
This commit is contained in:
@@ -3619,6 +3619,7 @@ static void visit_intrinsic(struct ac_nir_context *ctx, nir_intrinsic_instr *ins
|
||||
case nir_intrinsic_load_ring_tess_offchip_amd:
|
||||
case nir_intrinsic_load_ring_tess_offchip_offset_amd:
|
||||
case nir_intrinsic_load_ring_esgs_amd:
|
||||
case nir_intrinsic_load_ring_es2gs_offset_amd:
|
||||
case nir_intrinsic_load_lshs_vertex_stride_amd:
|
||||
case nir_intrinsic_load_tcs_num_patches_amd:
|
||||
case nir_intrinsic_load_hs_out_patch_data_offset_amd:
|
||||
|
||||
@@ -790,6 +790,12 @@ static LLVMValueRef si_llvm_load_intrinsic(struct ac_shader_abi *abi, nir_intrin
|
||||
case nir_intrinsic_load_tess_rel_patch_id_amd:
|
||||
return si_get_rel_patch_id(ctx);
|
||||
|
||||
case nir_intrinsic_load_ring_esgs_amd:
|
||||
return ctx->esgs_ring;
|
||||
|
||||
case nir_intrinsic_load_ring_es2gs_offset_amd:
|
||||
return ac_get_arg(&ctx->ac, ctx->args.es2gs_offset);
|
||||
|
||||
default:
|
||||
return NULL;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user