Mesa (master): radv: get correct offset into LDS for indexed vars.

Dave Airlie airlied at kemper.freedesktop.org
Wed Mar 14 01:22:19 UTC 2018


Module: Mesa
Branch: master
Commit: f9de2d409bf4f068a99d358d592d96ab4803f7fb
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f9de2d409bf4f068a99d358d592d96ab4803f7fb

Author: Dave Airlie <airlied at redhat.com>
Date:   Wed Mar 14 05:41:53 2018 +1000

radv: get correct offset into LDS for indexed vars.

This seems more correct to me, since if we have an array
of floats they'll be vec4 aligned, and if we do af[2],
we want the const index to increase by 2 slots in the non
compact case.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105464
Fixes: 94f9591995 (radv/ac: add support for TCS/TES inputs/outputs.)
Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Signed-off-by: Dave Airlie <airlied at redhat.com>

---

 src/amd/vulkan/radv_nir_to_llvm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/amd/vulkan/radv_nir_to_llvm.c b/src/amd/vulkan/radv_nir_to_llvm.c
index 056eb23ab6..fccd97b6cf 100644
--- a/src/amd/vulkan/radv_nir_to_llvm.c
+++ b/src/amd/vulkan/radv_nir_to_llvm.c
@@ -1239,7 +1239,7 @@ get_dw_address(struct radv_shader_context *ctx,
 						    LLVMConstInt(ctx->ac.i32, 4, false), ""), "");
 	else if (const_index && !compact_const_index)
 		dw_addr = LLVMBuildAdd(ctx->ac.builder, dw_addr,
-				       LLVMConstInt(ctx->ac.i32, const_index, false), "");
+				       LLVMConstInt(ctx->ac.i32, const_index * 4, false), "");
 
 	dw_addr = LLVMBuildAdd(ctx->ac.builder, dw_addr,
 			       LLVMConstInt(ctx->ac.i32, param * 4, false), "");




More information about the mesa-commit mailing list