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>
(cherry picked from commit 0a07431e9a)
This commit is contained in:
Konstantin Seurer 2023-07-26 23:07:54 +02:00 committed by Dylan Baker
parent 7b4d0bdf37
commit ee1ab0a687
2 changed files with 2 additions and 2 deletions

View file

@ -22694,7 +22694,7 @@
"description": "llvmpipe: Zero extend vectors in widen_to_simd_width",
"nominated": true,
"nomination_type": 1,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": "573b8f23c295d57507de7a36a9177f5e9a6ee1cd",
"notes": null

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);