From: Connor Abbott Date: Thu, 18 Oct 2018 13:39:13 +0000 (+0200) Subject: ac: Fix loading a dvec3 from an SSBO X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=27fe3f5b5a18c7ae404ac933dae6a9adcb2d5f7b;p=mesa.git ac: Fix loading a dvec3 from an SSBO The comment was wrong, since the loop above casts to a type with the correct bitsize already. Fixes: 7e7ee82698247d8f93fe37775b99f4838b0247dd ("ac: add support for 16bit buffer loads") Reviewed-by: Marek Olšák Reviewed-by: Bas Nieuwenhuizen --- diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c index 402cf2d6655..ee75e2890dd 100644 --- a/src/amd/common/ac_nir_to_llvm.c +++ b/src/amd/common/ac_nir_to_llvm.c @@ -1685,8 +1685,8 @@ static LLVMValueRef visit_load_buffer(struct ac_nir_context *ctx, }; if (num_bytes > 16 && num_components == 3) { - /* we end up with a v4f32 and v2f32 but shuffle fails on that */ - results[1] = ac_build_expand_to_vec4(&ctx->ac, results[1], 2); + /* we end up with a v2i64 and i64 but shuffle fails on that */ + results[1] = ac_build_expand(&ctx->ac, results[1], 1, 2); } LLVMValueRef swizzle = LLVMConstVector(masks, num_components);