[Mesa-dev] [PATCH] radeonsi: fix 64-bit loads from LDS
Nicolai Hähnle
nhaehnle at gmail.com
Wed Oct 19 18:38:03 UTC 2016
From: Nicolai Hähnle <nicolai.haehnle at amd.com>
Fixes spec/arb_tessellation_shader/execution/dvec[23]-vs-tcs-tes, among
others.
Cc: mesa-stable at lists.freedesktop.org
---
src/gallium/drivers/radeonsi/si_shader.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/gallium/drivers/radeonsi/si_shader.c b/src/gallium/drivers/radeonsi/si_shader.c
index 6a42a8f..0ee760f 100644
--- a/src/gallium/drivers/radeonsi/si_shader.c
+++ b/src/gallium/drivers/radeonsi/si_shader.c
@@ -904,21 +904,21 @@ static LLVMValueRef lds_load(struct lp_build_tgsi_context *bld_base,
TGSI_NUM_CHANNELS);
}
dw_addr = lp_build_add(&bld_base->uint_bld, dw_addr,
lp_build_const_int32(gallivm, swizzle));
value = build_indexed_load(ctx, ctx->lds, dw_addr, false);
if (tgsi_type_is_64bit(type)) {
LLVMValueRef value2;
dw_addr = lp_build_add(&bld_base->uint_bld, dw_addr,
- lp_build_const_int32(gallivm, swizzle + 1));
+ lp_build_const_int32(gallivm, 1));
value2 = build_indexed_load(ctx, ctx->lds, dw_addr, false);
return si_llvm_emit_fetch_64bit(bld_base, type, value, value2);
}
return LLVMBuildBitCast(gallivm->builder, value,
tgsi2llvmtype(bld_base, type), "");
}
/**
* Store to LDS.
--
2.7.4
More information about the mesa-dev
mailing list