ac/llvm: remove immoffset parameter from ac_build_tbuffer_load_byte/short
Reviewed-by: Mihai Preda <mhpreda@gmail.com> Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15966>
This commit is contained in:
@@ -1354,20 +1354,16 @@ LLVMValueRef ac_build_struct_tbuffer_load(struct ac_llvm_context *ctx, LLVMValue
|
||||
|
||||
LLVMValueRef ac_build_tbuffer_load_short(struct ac_llvm_context *ctx, LLVMValueRef rsrc,
|
||||
LLVMValueRef voffset, LLVMValueRef soffset,
|
||||
LLVMValueRef immoffset, unsigned cache_policy)
|
||||
unsigned cache_policy)
|
||||
{
|
||||
voffset = LLVMBuildAdd(ctx->builder, voffset, immoffset, "");
|
||||
|
||||
return ac_build_buffer_load_common(ctx, rsrc, NULL, voffset, soffset, 1, ctx->i16,
|
||||
cache_policy, false, false, false);
|
||||
}
|
||||
|
||||
LLVMValueRef ac_build_tbuffer_load_byte(struct ac_llvm_context *ctx, LLVMValueRef rsrc,
|
||||
LLVMValueRef voffset, LLVMValueRef soffset,
|
||||
LLVMValueRef immoffset, unsigned cache_policy)
|
||||
unsigned cache_policy)
|
||||
{
|
||||
voffset = LLVMBuildAdd(ctx->builder, voffset, immoffset, "");
|
||||
|
||||
return ac_build_buffer_load_common(ctx, rsrc, NULL, voffset, soffset, 1, ctx->i8, cache_policy,
|
||||
false, false, false);
|
||||
}
|
||||
|
||||
@@ -273,11 +273,11 @@ LLVMValueRef ac_build_buffer_load_format(struct ac_llvm_context *ctx, LLVMValueR
|
||||
|
||||
LLVMValueRef ac_build_tbuffer_load_short(struct ac_llvm_context *ctx, LLVMValueRef rsrc,
|
||||
LLVMValueRef voffset, LLVMValueRef soffset,
|
||||
LLVMValueRef immoffset, unsigned cache_policy);
|
||||
unsigned cache_policy);
|
||||
|
||||
LLVMValueRef ac_build_tbuffer_load_byte(struct ac_llvm_context *ctx, LLVMValueRef rsrc,
|
||||
LLVMValueRef voffset, LLVMValueRef soffset,
|
||||
LLVMValueRef immoffset, unsigned cache_policy);
|
||||
unsigned cache_policy);
|
||||
|
||||
LLVMValueRef ac_build_struct_tbuffer_load(struct ac_llvm_context *ctx, LLVMValueRef rsrc,
|
||||
LLVMValueRef vindex, LLVMValueRef voffset,
|
||||
|
||||
@@ -2080,20 +2080,21 @@ static LLVMValueRef visit_load_buffer(struct ac_nir_context *ctx, nir_intrinsic_
|
||||
int load_bytes = num_elems * elem_size_bytes;
|
||||
|
||||
LLVMValueRef immoffset = LLVMConstInt(ctx->ac.i32, i * elem_size_bytes, false);
|
||||
LLVMValueRef voffset = LLVMBuildAdd(ctx->ac.builder, offset, immoffset, "");
|
||||
|
||||
LLVMValueRef ret;
|
||||
|
||||
if (load_bytes == 1) {
|
||||
ret = ac_build_tbuffer_load_byte(&ctx->ac, rsrc, offset, ctx->ac.i32_0, immoffset,
|
||||
ret = ac_build_tbuffer_load_byte(&ctx->ac, rsrc, voffset, ctx->ac.i32_0,
|
||||
cache_policy);
|
||||
} else if (load_bytes == 2) {
|
||||
ret = ac_build_tbuffer_load_short(&ctx->ac, rsrc, offset, ctx->ac.i32_0, immoffset,
|
||||
ret = ac_build_tbuffer_load_short(&ctx->ac, rsrc, voffset, ctx->ac.i32_0,
|
||||
cache_policy);
|
||||
} else {
|
||||
int num_channels = util_next_power_of_two(load_bytes) / 4;
|
||||
bool can_speculate = access & ACCESS_CAN_REORDER;
|
||||
|
||||
ret = ac_build_buffer_load(&ctx->ac, rsrc, num_channels, vindex, offset, immoffset,
|
||||
ret = ac_build_buffer_load(&ctx->ac, rsrc, num_channels, vindex, voffset, ctx->ac.i32_0,
|
||||
ctx->ac.f32, cache_policy, can_speculate, false);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user