summaryrefslogtreecommitdiff
path: root/graphics/MesaLib/patches/patch-src_gallium_drivers_r600_r600__llvm.c
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/MesaLib/patches/patch-src_gallium_drivers_r600_r600__llvm.c')
-rw-r--r--graphics/MesaLib/patches/patch-src_gallium_drivers_r600_r600__llvm.c71
1 files changed, 71 insertions, 0 deletions
diff --git a/graphics/MesaLib/patches/patch-src_gallium_drivers_r600_r600__llvm.c b/graphics/MesaLib/patches/patch-src_gallium_drivers_r600_r600__llvm.c
new file mode 100644
index 00000000000..978c2603700
--- /dev/null
+++ b/graphics/MesaLib/patches/patch-src_gallium_drivers_r600_r600__llvm.c
@@ -0,0 +1,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);
+