From 1e69db003da22c9068e5fd08bcf217442da5712c Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Fri, 9 Feb 2018 13:54:24 +0100 Subject: [PATCH] ac/nir: remove useless bitcast in load_tess_coord() nir_intrinsic_load_tess_coord always returns a v3i32. Signed-off-by: Samuel Pitoiset Reviewed-by: Bas Nieuwenhuizen --- src/amd/common/ac_nir_to_llvm.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c index f99c9d3d692..dff9fd2ee34 100644 --- a/src/amd/common/ac_nir_to_llvm.c +++ b/src/amd/common/ac_nir_to_llvm.c @@ -4243,8 +4243,7 @@ load_tess_coord(struct ac_shader_abi *abi, LLVMTypeRef type, coord[2] = LLVMBuildFSub(ctx->builder, ctx->ac.f32_1, LLVMBuildFAdd(ctx->builder, coord[0], coord[1], ""), ""); - LLVMValueRef result = ac_build_gather_values(&ctx->ac, coord, num_components); - return LLVMBuildBitCast(ctx->builder, result, type, ""); + return ac_build_gather_values(&ctx->ac, coord, 3); } static LLVMValueRef @@ -4487,13 +4486,9 @@ static void visit_intrinsic(struct ac_nir_context *ctx, case nir_intrinsic_end_primitive: ctx->abi->emit_primitive(ctx->abi, nir_intrinsic_stream_id(instr)); break; - case nir_intrinsic_load_tess_coord: { - LLVMTypeRef type = ctx->nctx ? - get_def_type(ctx->nctx->nir, &instr->dest.ssa) : - NULL; - result = ctx->abi->load_tess_coord(ctx->abi, type, instr->num_components); + case nir_intrinsic_load_tess_coord: + result = ctx->abi->load_tess_coord(ctx->abi, NULL, 0); break; - } case nir_intrinsic_load_tess_level_outer: result = ctx->abi->load_tess_level(ctx->abi, VARYING_SLOT_TESS_LEVEL_OUTER); break; -- 2.30.2