ac: add glc parameter to ac_build_buffer_load_format

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
This commit is contained in:
Marek Olšák
2018-01-30 19:24:07 +01:00
parent be973ed21f
commit bac9fa9f17
5 changed files with 7 additions and 5 deletions

View File

@@ -1049,10 +1049,11 @@ LLVMValueRef ac_build_buffer_load_format(struct ac_llvm_context *ctx,
LLVMValueRef vindex, LLVMValueRef vindex,
LLVMValueRef voffset, LLVMValueRef voffset,
unsigned num_channels, unsigned num_channels,
bool glc,
bool can_speculate) bool can_speculate)
{ {
return ac_build_buffer_load_common(ctx, rsrc, vindex, voffset, return ac_build_buffer_load_common(ctx, rsrc, vindex, voffset,
num_channels, false, false, num_channels, glc, false,
can_speculate, true); can_speculate, true);
} }

View File

@@ -219,6 +219,7 @@ LLVMValueRef ac_build_buffer_load_format(struct ac_llvm_context *ctx,
LLVMValueRef vindex, LLVMValueRef vindex,
LLVMValueRef voffset, LLVMValueRef voffset,
unsigned num_channels, unsigned num_channels,
bool glc,
bool can_speculate); bool can_speculate);
LLVMValueRef LLVMValueRef

View File

@@ -2298,7 +2298,7 @@ static LLVMValueRef build_tex_intrinsic(struct ac_nir_context *ctx,
args->addr, args->addr,
ctx->ac.i32_0, ctx->ac.i32_0,
util_last_bit(mask), util_last_bit(mask),
true); false, true);
} }
args->opcode = ac_image_sample; 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, input = ac_build_buffer_load_format(&ctx->ac, t_list,
buffer_index, buffer_index,
ctx->ac.i32_0, ctx->ac.i32_0,
4, true); 4, false, true);
for (unsigned chan = 0; chan < 4; chan++) { for (unsigned chan = 0; chan < 4; chan++) {
LLVMValueRef llvm_chan = LLVMConstInt(ctx->ac.i32, chan, false); LLVMValueRef llvm_chan = LLVMConstInt(ctx->ac.i32, chan, false);

View File

@@ -611,7 +611,7 @@ void si_llvm_load_input_vs(
input[i] = ac_build_buffer_load_format(&ctx->ac, t_list, input[i] = ac_build_buffer_load_format(&ctx->ac, t_list,
vertex_index, voffset, vertex_index, voffset,
num_channels, true); num_channels, false, true);
input[i] = ac_build_expand_to_vec4(&ctx->ac, input[i], num_channels); input[i] = ac_build_expand_to_vec4(&ctx->ac, input[i], num_channels);
} }

View File

@@ -1828,7 +1828,7 @@ static void build_tex_intrinsic(const struct lp_build_tgsi_action *action,
emit_data->args[0], emit_data->args[0],
emit_data->args[2], emit_data->args[2],
emit_data->args[1], emit_data->args[1],
num_channels, true); num_channels, false, true);
emit_data->output[emit_data->chan] = emit_data->output[emit_data->chan] =
ac_build_expand_to_vec4(&ctx->ac, result, num_channels); ac_build_expand_to_vec4(&ctx->ac, result, num_channels);
return; return;