From bac9fa9f17f86d16a25afde724985f7ae0ec1322 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Tue, 30 Jan 2018 19:24:07 +0100 Subject: [PATCH] ac: add glc parameter to ac_build_buffer_load_format Reviewed-by: Samuel Pitoiset --- src/amd/common/ac_llvm_build.c | 3 ++- src/amd/common/ac_llvm_build.h | 1 + src/amd/common/ac_nir_to_llvm.c | 4 ++-- src/gallium/drivers/radeonsi/si_shader.c | 2 +- src/gallium/drivers/radeonsi/si_shader_tgsi_mem.c | 2 +- 5 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/amd/common/ac_llvm_build.c b/src/amd/common/ac_llvm_build.c index a5cb72daed5..762351f2807 100644 --- a/src/amd/common/ac_llvm_build.c +++ b/src/amd/common/ac_llvm_build.c @@ -1049,10 +1049,11 @@ LLVMValueRef ac_build_buffer_load_format(struct ac_llvm_context *ctx, LLVMValueRef vindex, LLVMValueRef voffset, unsigned num_channels, + bool glc, bool can_speculate) { return ac_build_buffer_load_common(ctx, rsrc, vindex, voffset, - num_channels, false, false, + num_channels, glc, false, can_speculate, true); } diff --git a/src/amd/common/ac_llvm_build.h b/src/amd/common/ac_llvm_build.h index 3ae96781b6f..f95ad6a27c1 100644 --- a/src/amd/common/ac_llvm_build.h +++ b/src/amd/common/ac_llvm_build.h @@ -219,6 +219,7 @@ LLVMValueRef ac_build_buffer_load_format(struct ac_llvm_context *ctx, LLVMValueRef vindex, LLVMValueRef voffset, unsigned num_channels, + bool glc, bool can_speculate); LLVMValueRef diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c index 04fe51935a7..75d7b129957 100644 --- a/src/amd/common/ac_nir_to_llvm.c +++ b/src/amd/common/ac_nir_to_llvm.c @@ -2298,7 +2298,7 @@ static LLVMValueRef build_tex_intrinsic(struct ac_nir_context *ctx, args->addr, ctx->ac.i32_0, util_last_bit(mask), - true); + false, true); } args->opcode = ac_image_sample; @@ -5356,7 +5356,7 @@ handle_vs_input_decl(struct nir_to_llvm_context *ctx, input = ac_build_buffer_load_format(&ctx->ac, t_list, buffer_index, ctx->ac.i32_0, - 4, true); + 4, false, true); for (unsigned chan = 0; chan < 4; chan++) { LLVMValueRef llvm_chan = LLVMConstInt(ctx->ac.i32, chan, false); diff --git a/src/gallium/drivers/radeonsi/si_shader.c b/src/gallium/drivers/radeonsi/si_shader.c index 78156f1edec..7b2dc8daf6e 100644 --- a/src/gallium/drivers/radeonsi/si_shader.c +++ b/src/gallium/drivers/radeonsi/si_shader.c @@ -611,7 +611,7 @@ void si_llvm_load_input_vs( input[i] = ac_build_buffer_load_format(&ctx->ac, t_list, vertex_index, voffset, - num_channels, true); + num_channels, false, true); input[i] = ac_build_expand_to_vec4(&ctx->ac, input[i], num_channels); } diff --git a/src/gallium/drivers/radeonsi/si_shader_tgsi_mem.c b/src/gallium/drivers/radeonsi/si_shader_tgsi_mem.c index 42cb3251e78..d89907e1176 100644 --- a/src/gallium/drivers/radeonsi/si_shader_tgsi_mem.c +++ b/src/gallium/drivers/radeonsi/si_shader_tgsi_mem.c @@ -1828,7 +1828,7 @@ static void build_tex_intrinsic(const struct lp_build_tgsi_action *action, emit_data->args[0], emit_data->args[2], emit_data->args[1], - num_channels, true); + num_channels, false, true); emit_data->output[emit_data->chan] = ac_build_expand_to_vec4(&ctx->ac, result, num_channels); return; -- 2.30.2