ac: use the raw tbuffer version for 16-bit SSBO loads
vindex is always 0. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
This commit is contained in:
parent
045fae0f73
commit
cbf022cb31
|
@ -1494,7 +1494,6 @@ ac_build_raw_tbuffer_load(struct ac_llvm_context *ctx,
|
||||||
LLVMValueRef
|
LLVMValueRef
|
||||||
ac_build_tbuffer_load_short(struct ac_llvm_context *ctx,
|
ac_build_tbuffer_load_short(struct ac_llvm_context *ctx,
|
||||||
LLVMValueRef rsrc,
|
LLVMValueRef rsrc,
|
||||||
LLVMValueRef vindex,
|
|
||||||
LLVMValueRef voffset,
|
LLVMValueRef voffset,
|
||||||
LLVMValueRef soffset,
|
LLVMValueRef soffset,
|
||||||
LLVMValueRef immoffset,
|
LLVMValueRef immoffset,
|
||||||
|
@ -1504,8 +1503,9 @@ ac_build_tbuffer_load_short(struct ac_llvm_context *ctx,
|
||||||
unsigned nfmt = V_008F0C_BUF_NUM_FORMAT_UINT;
|
unsigned nfmt = V_008F0C_BUF_NUM_FORMAT_UINT;
|
||||||
LLVMValueRef res;
|
LLVMValueRef res;
|
||||||
|
|
||||||
res = ac_build_tbuffer_load(ctx, rsrc, vindex, voffset, soffset,
|
res = ac_build_raw_tbuffer_load(ctx, rsrc, voffset, soffset,
|
||||||
immoffset, 1, dfmt, nfmt, glc, false, false, true);
|
immoffset, 1, dfmt, nfmt, glc, false,
|
||||||
|
false);
|
||||||
|
|
||||||
return LLVMBuildTrunc(ctx->builder, res, ctx->i16, "");
|
return LLVMBuildTrunc(ctx->builder, res, ctx->i16, "");
|
||||||
}
|
}
|
||||||
|
|
|
@ -300,7 +300,6 @@ LLVMValueRef ac_build_buffer_load_format_gfx9_safe(struct ac_llvm_context *ctx,
|
||||||
LLVMValueRef
|
LLVMValueRef
|
||||||
ac_build_tbuffer_load_short(struct ac_llvm_context *ctx,
|
ac_build_tbuffer_load_short(struct ac_llvm_context *ctx,
|
||||||
LLVMValueRef rsrc,
|
LLVMValueRef rsrc,
|
||||||
LLVMValueRef vindex,
|
|
||||||
LLVMValueRef voffset,
|
LLVMValueRef voffset,
|
||||||
LLVMValueRef soffset,
|
LLVMValueRef soffset,
|
||||||
LLVMValueRef immoffset,
|
LLVMValueRef immoffset,
|
||||||
|
|
|
@ -1712,7 +1712,6 @@ static LLVMValueRef visit_load_buffer(struct ac_nir_context *ctx,
|
||||||
if (load_bytes == 2) {
|
if (load_bytes == 2) {
|
||||||
ret = ac_build_tbuffer_load_short(&ctx->ac,
|
ret = ac_build_tbuffer_load_short(&ctx->ac,
|
||||||
rsrc,
|
rsrc,
|
||||||
vindex,
|
|
||||||
offset,
|
offset,
|
||||||
ctx->ac.i32_0,
|
ctx->ac.i32_0,
|
||||||
immoffset,
|
immoffset,
|
||||||
|
@ -1783,7 +1782,6 @@ static LLVMValueRef visit_load_ubo_buffer(struct ac_nir_context *ctx,
|
||||||
for (unsigned i = 0; i < num_components; ++i) {
|
for (unsigned i = 0; i < num_components; ++i) {
|
||||||
results[i] = ac_build_tbuffer_load_short(&ctx->ac,
|
results[i] = ac_build_tbuffer_load_short(&ctx->ac,
|
||||||
rsrc,
|
rsrc,
|
||||||
ctx->ac.i32_0,
|
|
||||||
offset,
|
offset,
|
||||||
ctx->ac.i32_0,
|
ctx->ac.i32_0,
|
||||||
LLVMConstInt(ctx->ac.i32, 2 * i, 0),
|
LLVMConstInt(ctx->ac.i32, 2 * i, 0),
|
||||||
|
|
Loading…
Reference in New Issue