summaryrefslogtreecommitdiff
path: root/graphics/MesaLib/patches/patch-src_gallium_drivers_r600_r600__llvm.c
blob: 978c26037000ec846c5ef8a7170b37d3fada1ef9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
$NetBSD: patch-src_gallium_drivers_r600_r600__llvm.c,v 1.1 2017/03/22 20:22:31 markd Exp $

--- src/gallium/drivers/r600/r600_llvm.c.orig	2016-05-09 12:51:42.000000000 +0000
+++ src/gallium/drivers/r600/r600_llvm.c
@@ -101,9 +101,9 @@ llvm_load_input_vector(
 				lp_build_const_int32(&(ctx->gallivm), 2 * (ijregs % 2) + 1), "");
 			LLVMValueRef HalfVec[2] = {
 				lp_build_intrinsic(ctx->gallivm.builder, "llvm.R600.interp.xy",
-					VecType, Args, ArgCount, LLVMReadNoneAttribute),
+					VecType, Args, ArgCount, LP_FUNC_ATTR_READNONE),
 				lp_build_intrinsic(ctx->gallivm.builder, "llvm.R600.interp.zw",
-					VecType, Args, ArgCount, LLVMReadNoneAttribute)
+					VecType, Args, ArgCount, LP_FUNC_ATTR_READNONE)
 			};
 			LLVMValueRef MaskInputs[4] = {
 				lp_build_const_int32(&(ctx->gallivm), 0),
@@ -117,7 +117,7 @@ llvm_load_input_vector(
 		} else {
 			VecType = LLVMVectorType(ctx->soa.bld_base.base.elem_type, 4);
 			return lp_build_intrinsic(ctx->gallivm.builder, "llvm.R600.interp.const",
-				VecType, Args, ArgCount, LLVMReadNoneAttribute);
+				VecType, Args, ArgCount, LP_FUNC_ATTR_READNONE);
 		}
 }
 
@@ -273,7 +273,7 @@ static void llvm_emit_epilogue(struct lp
 						args[1] = base_vector;
 						adjusted_elements[chan] = lp_build_intrinsic(base->gallivm->builder,
 							"llvm.AMDGPU.dp4", bld_base->base.elem_type,
-							args, 2, LLVMReadNoneAttribute);
+							args, 2, LP_FUNC_ATTR_READNONE);
 					}
 					args[0] = lp_build_gather_values(base->gallivm,
 						adjusted_elements, 4);
@@ -443,7 +443,7 @@ static void llvm_emit_tex(
 			args[1] = lp_build_const_int32(gallivm, R600_MAX_CONST_BUFFERS);
 			emit_data->output[0] = lp_build_intrinsic(gallivm->builder,
 							"llvm.R600.load.texbuf",
-							emit_data->dst_type, args, 2, LLVMReadNoneAttribute);
+							emit_data->dst_type, args, 2, LP_FUNC_ATTR_READNONE);
 			if (ctx->chip_class >= EVERGREEN)
 				return;
 			ctx->uses_tex_buffers = true;
@@ -558,7 +558,7 @@ static void llvm_emit_tex(
 			};
 			LLVMValueRef ptr = lp_build_intrinsic(gallivm->builder,
 				"llvm.R600.ldptr",
-				emit_data->dst_type, ldptr_args, 10, LLVMReadNoneAttribute);
+				emit_data->dst_type, ldptr_args, 10, LP_FUNC_ATTR_READNONE);
 			LLVMValueRef Tmp = LLVMBuildExtractElement(gallivm->builder, args[0],
 				lp_build_const_int32(gallivm, 3), "");
 			Tmp = LLVMBuildMul(gallivm->builder, Tmp,
@@ -579,7 +579,7 @@ static void llvm_emit_tex(
 
 	emit_data->output[0] = lp_build_intrinsic(gallivm->builder,
 					action->intr_name,
-					emit_data->dst_type, args, c, LLVMReadNoneAttribute);
+					emit_data->dst_type, args, c, LP_FUNC_ATTR_READNONE);
 
 	if (emit_data->inst->Instruction.Opcode == TGSI_OPCODE_TXQ &&
 		((emit_data->inst->Texture.Texture == TGSI_TEXTURE_CUBE_ARRAY ||
@@ -791,8 +791,7 @@ LLVMModuleRef r600_tgsi_llvm(
 		Arguments[ArgumentsCount++] = LLVMVectorType(bld_base->base.elem_type, 4);
 	radeon_llvm_create_func(ctx, NULL, 0, Arguments, ArgumentsCount);
 	for (unsigned i = 0; i < ctx->inputs_count; i++) {
-		LLVMValueRef P = LLVMGetParam(ctx->main_fn, i);
-		LLVMAddAttribute(P, LLVMInRegAttribute);
+		lp_add_function_attr(ctx->main_fn, i + 1, LP_FUNC_ATTR_INREG);
 	}
 	tgsi_scan_shader(tokens, &shader_info);