llvmpipe: Zero extend vectors in widen_to_simd_width

Extending using the first element vould extend the exec_mask (-1, 0, 0,
0) to (-1, 0, 0, 0, -1, -1, -1, -1).

Fixes: 573b8f2 ("gallivm: Implement vulkan textures")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9435
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24340>
This commit is contained in:
Konstantin Seurer 2023-07-26 23:07:54 +02:00 committed by Marge Bot
parent 0d75fc8e42
commit 0a07431e9a

View file

@ -101,7 +101,7 @@ widen_to_simd_width(struct gallivm_state *gallivm, LLVMValueRef value)
if (i < element_count)
elements[i] = LLVMBuildExtractElement(builder, value, lp_build_const_int32(gallivm, i), "");
else
elements[i] = elements[0];
elements[i] = LLVMConstNull(element_type);
}
LLVMTypeRef result_type = LLVMVectorType(element_type, lp_native_vector_width / 32);