radeonsi: implement nir_intrinsic_load_tcs_num_patches_amd
Used by ac_nir_lower_tess_io_to_mem.c. Reviewed-by: Marek Olšák <marek.olsak@amd.com> Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@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/16705>
This commit is contained in:
parent
a1763ad4b3
commit
07e025a390
|
@ -3637,6 +3637,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_amd:
|
||||||
case nir_intrinsic_load_ring_esgs_amd:
|
case nir_intrinsic_load_ring_esgs_amd:
|
||||||
case nir_intrinsic_load_lshs_vertex_stride_amd:
|
case nir_intrinsic_load_lshs_vertex_stride_amd:
|
||||||
|
case nir_intrinsic_load_tcs_num_patches_amd:
|
||||||
result = ctx->abi->intrinsic_load(ctx->abi, instr->intrinsic);
|
result = ctx->abi->intrinsic_load(ctx->abi, instr->intrinsic);
|
||||||
break;
|
break;
|
||||||
case nir_intrinsic_load_vertex_id:
|
case nir_intrinsic_load_vertex_id:
|
||||||
|
|
|
@ -780,6 +780,11 @@ static LLVMValueRef si_llvm_load_intrinsic(struct ac_shader_abi *abi, nir_intrin
|
||||||
return LLVMBuildShl(ctx->ac.builder, si_get_tcs_in_vertex_dw_stride(ctx),
|
return LLVMBuildShl(ctx->ac.builder, si_get_tcs_in_vertex_dw_stride(ctx),
|
||||||
LLVMConstInt(ctx->ac.i32, 2, 0), "");
|
LLVMConstInt(ctx->ac.i32, 2, 0), "");
|
||||||
|
|
||||||
|
case nir_intrinsic_load_tcs_num_patches_amd:
|
||||||
|
return LLVMBuildAdd(ctx->ac.builder,
|
||||||
|
si_unpack_param(ctx, ctx->tcs_offchip_layout, 0, 6),
|
||||||
|
ctx->ac.i32_1, "");
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue