Mesa (main): ac/llvm: remove immoffset parameter from ac_build_tbuffer_load_byte/short

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Sat Apr 23 02:09:39 UTC 2022


Module: Mesa
Branch: main
Commit: 99356c597f2c2fb47d3c2ef2155d860ee0046909
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=99356c597f2c2fb47d3c2ef2155d860ee0046909

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Fri Apr 15 01:30:15 2022 -0400

ac/llvm: remove immoffset parameter from ac_build_tbuffer_load_byte/short

Reviewed-by: Mihai Preda <mhpreda at gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer at amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15966>

---

 src/amd/llvm/ac_llvm_build.c  | 8 ++------
 src/amd/llvm/ac_llvm_build.h  | 4 ++--
 src/amd/llvm/ac_nir_to_llvm.c | 7 ++++---
 3 files changed, 8 insertions(+), 11 deletions(-)

diff --git a/src/amd/llvm/ac_llvm_build.c b/src/amd/llvm/ac_llvm_build.c
index 9d4134edb2c..7d2546bc9de 100644
--- a/src/amd/llvm/ac_llvm_build.c
+++ b/src/amd/llvm/ac_llvm_build.c
@@ -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);
 }
diff --git a/src/amd/llvm/ac_llvm_build.h b/src/amd/llvm/ac_llvm_build.h
index 585705700fa..0dd2c403328 100644
--- a/src/amd/llvm/ac_llvm_build.h
+++ b/src/amd/llvm/ac_llvm_build.h
@@ -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,
diff --git a/src/amd/llvm/ac_nir_to_llvm.c b/src/amd/llvm/ac_nir_to_llvm.c
index 81700ec4c93..e5c92b29198 100644
--- a/src/amd/llvm/ac_nir_to_llvm.c
+++ b/src/amd/llvm/ac_nir_to_llvm.c
@@ -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);
       }
 



More information about the mesa-commit mailing list