[Mesa-dev] [PATCH 07/18] ac/nir: remove useless bitcast in load_tess_coord()

Samuel Pitoiset samuel.pitoiset at gmail.com
Fri Feb 9 12:54:24 UTC 2018


nir_intrinsic_load_tess_coord always returns a v3i32.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
---
 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 5bd5171438..5d08e36c2d 100644
--- a/src/amd/common/ac_nir_to_llvm.c
+++ b/src/amd/common/ac_nir_to_llvm.c
@@ -4242,8 +4242,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
@@ -4486,13 +4485,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.16.1



More information about the mesa-dev mailing list