mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-29 05:50:11 +01:00
llvmpipe: fix d32 unorm depth conversions.
When the depth value was 1.0 and was being converted to Z32_UNORM the conversion would scale it up to INT32_MAX + 1 which would cause FPToSI to give incorrect results, changing it to use FPToUI for the unsigned 32-bit case only fixes it. Fixes: GTF-GL45.gtf30.GL3Tests.depth_texture.depth_texture_fbo_clear Reviewed-by: Roland Scheidegger <sroland@vmware.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4574>
This commit is contained in:
parent
fe5a8e1ace
commit
1f071db43a
1 changed files with 4 additions and 1 deletions
|
|
@ -321,7 +321,10 @@ lp_build_clamped_float_to_unsigned_norm(struct gallivm_state *gallivm,
|
|||
|
||||
res = LLVMBuildFMul(builder, src,
|
||||
lp_build_const_vec(gallivm, src_type, scale), "");
|
||||
res = LLVMBuildFPToSI(builder, res, int_vec_type, "");
|
||||
if (!src_type.sign && src_type.width == 32)
|
||||
res = LLVMBuildFPToUI(builder, res, int_vec_type, "");
|
||||
else
|
||||
res = LLVMBuildFPToSI(builder, res, int_vec_type, "");
|
||||
|
||||
/*
|
||||
* Align the most significant bit to its final place.
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue