[Mesa-dev] [PATCH v2 33/73] ac/nir: pass ac_nir_context to visit_load_ubo_buffer

Nicolai Hähnle nhaehnle at gmail.com
Wed Jul 5 10:48:17 UTC 2017


From: Nicolai Hähnle <nicolai.haehnle at amd.com>

---
 src/amd/common/ac_nir_to_llvm.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c
index d13d67e..034b1c3 100644
--- a/src/amd/common/ac_nir_to_llvm.c
+++ b/src/amd/common/ac_nir_to_llvm.c
@@ -2453,47 +2453,47 @@ static LLVMValueRef visit_load_buffer(struct nir_to_llvm_context *ctx,
 
 		LLVMValueRef swizzle = LLVMConstVector(masks, num_components);
 		ret = LLVMBuildShuffleVector(ctx->builder, results[0],
 					     results[num_components > 4 ? 1 : 0], swizzle, "");
 	}
 
 	return LLVMBuildBitCast(ctx->builder, ret,
 	                        get_def_type(ctx->nir, &instr->dest.ssa), "");
 }
 
-static LLVMValueRef visit_load_ubo_buffer(struct nir_to_llvm_context *ctx,
+static LLVMValueRef visit_load_ubo_buffer(struct ac_nir_context *ctx,
                                           const nir_intrinsic_instr *instr)
 {
 	LLVMValueRef results[8], ret;
-	LLVMValueRef rsrc = get_src(ctx->nir, instr->src[0]);
-	LLVMValueRef offset = get_src(ctx->nir, instr->src[1]);
+	LLVMValueRef rsrc = get_src(ctx, instr->src[0]);
+	LLVMValueRef offset = get_src(ctx, instr->src[1]);
 	int num_components = instr->num_components;
 
 	if (instr->dest.ssa.bit_size == 64)
 		num_components *= 2;
 
 	for (unsigned i = 0; i < num_components; ++i) {
 		LLVMValueRef params[] = {
 			rsrc,
-			LLVMBuildAdd(ctx->builder, LLVMConstInt(ctx->i32, 4 * i, 0),
+			LLVMBuildAdd(ctx->ac.builder, LLVMConstInt(ctx->ac.i32, 4 * i, 0),
 				     offset, "")
 		};
-		results[i] = ac_build_intrinsic(&ctx->ac, "llvm.SI.load.const.v4i32", ctx->f32,
+		results[i] = ac_build_intrinsic(&ctx->ac, "llvm.SI.load.const.v4i32", ctx->ac.f32,
 						params, 2,
 						AC_FUNC_ATTR_READNONE |
 						AC_FUNC_ATTR_LEGACY);
 	}
 
 
 	ret = ac_build_gather_values(&ctx->ac, results, instr->num_components);
-	return LLVMBuildBitCast(ctx->builder, ret,
-	                        get_def_type(ctx->nir, &instr->dest.ssa), "");
+	return LLVMBuildBitCast(ctx->ac.builder, ret,
+	                        get_def_type(ctx, &instr->dest.ssa), "");
 }
 
 static void
 get_deref_offset(struct ac_nir_context *ctx, nir_deref_var *deref,
 		 bool vs_in, unsigned *vertex_index_out,
 		 LLVMValueRef *vertex_index_ref,
 		 unsigned *const_out, LLVMValueRef *indir_out)
 {
 	unsigned const_offset = 0;
 	nir_deref *tail = &deref->deref;
@@ -4021,21 +4021,21 @@ static void visit_intrinsic(struct ac_nir_context *ctx,
 	case nir_intrinsic_ssbo_atomic_imax:
 	case nir_intrinsic_ssbo_atomic_umax:
 	case nir_intrinsic_ssbo_atomic_and:
 	case nir_intrinsic_ssbo_atomic_or:
 	case nir_intrinsic_ssbo_atomic_xor:
 	case nir_intrinsic_ssbo_atomic_exchange:
 	case nir_intrinsic_ssbo_atomic_comp_swap:
 		result = visit_atomic_ssbo(ctx->nctx, instr);
 		break;
 	case nir_intrinsic_load_ubo:
-		result = visit_load_ubo_buffer(ctx->nctx, instr);
+		result = visit_load_ubo_buffer(ctx, instr);
 		break;
 	case nir_intrinsic_get_buffer_size:
 		result = visit_get_buffer_size(ctx->nctx, instr);
 		break;
 	case nir_intrinsic_load_var:
 		result = visit_load_var(ctx, instr);
 		break;
 	case nir_intrinsic_store_var:
 		visit_store_var(ctx, instr);
 		break;
-- 
2.9.3



More information about the mesa-dev mailing list