summaryrefslogtreecommitdiffstats
path: root/src/amd
diff options
context:
space:
mode:
authorRhys Perry <[email protected]>2018-12-06 14:58:50 +0000
committerSamuel Pitoiset <[email protected]>2019-03-12 15:51:52 +0100
commit0f025bbccc236140101bc03ce9fa9d7a5bdb843b (patch)
tree3bce1fac8977a380e64414a93000f7377075989c /src/amd
parent7f89fd17ed2b1bd0c0fe4ec946dcabed0f8c74d3 (diff)
ac/nir: fix 16-bit ssbo stores
Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]>
Diffstat (limited to 'src/amd')
-rw-r--r--src/amd/common/ac_nir_to_llvm.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c
index 4598eeccb20..5fb5c8da609 100644
--- a/src/amd/common/ac_nir_to_llvm.c
+++ b/src/amd/common/ac_nir_to_llvm.c
@@ -1576,6 +1576,8 @@ static void visit_store_ssbo(struct ac_nir_context *ctx,
if (num_bytes == 2) {
store_name = "llvm.amdgcn.tbuffer.store.i32";
data_type = ctx->ac.i32;
+ data = LLVMBuildBitCast(ctx->ac.builder, data, ctx->ac.i16, "");
+ data = LLVMBuildZExt(ctx->ac.builder, data, data_type, "");
LLVMValueRef tbuffer_params[] = {
data,
rsrc,