Mesa (main): radeonsi: implement nir_intrinsic_load_tcs_num_patches_amd
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Mon Jun 27 03:16:29 UTC 2022
Module: Mesa
Branch: main
Commit: 07e025a390a0d07bdf2d8888a4291f1153f088cd
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=07e025a390a0d07bdf2d8888a4291f1153f088cd
Author: Qiang Yu <yuq825 at gmail.com>
Date: Mon May 23 14:42:06 2022 +0800
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 at amd.com>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer at amd.com>
Reviewed-by: Timur Kristóf <timur.kristof at gmail.com>
Signed-off-by: Qiang Yu <yuq825 at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16705>
---
src/amd/llvm/ac_nir_to_llvm.c | 1 +
src/gallium/drivers/radeonsi/si_shader_llvm.c | 5 +++++
2 files changed, 6 insertions(+)
diff --git a/src/amd/llvm/ac_nir_to_llvm.c b/src/amd/llvm/ac_nir_to_llvm.c
index 4ee645e746c..c116543fbfb 100644
--- a/src/amd/llvm/ac_nir_to_llvm.c
+++ b/src/amd/llvm/ac_nir_to_llvm.c
@@ -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_esgs_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);
break;
case nir_intrinsic_load_vertex_id:
diff --git a/src/gallium/drivers/radeonsi/si_shader_llvm.c b/src/gallium/drivers/radeonsi/si_shader_llvm.c
index 5e9b3d441ab..dd48b83cf6b 100644
--- a/src/gallium/drivers/radeonsi/si_shader_llvm.c
+++ b/src/gallium/drivers/radeonsi/si_shader_llvm.c
@@ -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),
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:
return NULL;
}
More information about the mesa-commit
mailing list