diff options
author | Dave Airlie <[email protected]> | 2020-06-09 13:58:59 +1000 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2020-06-11 14:41:14 +1000 |
commit | 45606ee80497be34f080e784831504c8642416a8 (patch) | |
tree | a7535e54d66bc5baa19e23a330136107a0bce3ba | |
parent | a2c16ecb2ee7f00dff17dcf658935f5b3cb03626 (diff) |
gallivm/format: convert unsigned values to float properly.
This fixes:
dEQP-GLES31.functional.draw_indirect.random.2
which ends up with 3x32-bit USCALED values going down this path
some of which have the top bit set, and end up converted to signed
float instead of unsigned float values.
Reviewed-by: Roland Scheidegger <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5379>
-rw-r--r-- | .gitlab-ci/deqp-virgl-fails.txt | 5 | ||||
-rw-r--r-- | src/gallium/auxiliary/gallivm/lp_bld_format_soa.c | 2 |
2 files changed, 1 insertions, 6 deletions
diff --git a/.gitlab-ci/deqp-virgl-fails.txt b/.gitlab-ci/deqp-virgl-fails.txt index 18d1194c4ac..2c2d3d6623d 100644 --- a/.gitlab-ci/deqp-virgl-fails.txt +++ b/.gitlab-ci/deqp-virgl-fails.txt @@ -50,11 +50,6 @@ dEQP-GLES3.functional.rasterization.fbo.texture_2d.interpolation.lines_wide dEQP-GLES3.functional.rasterization.interpolation.basic.line_loop_wide dEQP-GLES3.functional.rasterization.interpolation.projected.line_loop_wide dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.int2_10_10_10.components4_quads1 -dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_int.components2_vec2_quads256 -dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_int.components2_vec3_quads256 -dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_int.components2_vec4_quads256 -dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_int.components4_vec2_quads1 -dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_int.components4_vec4_quads1 dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_10x10_khr.texture3d_to_texture2d_array dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_10x5_khr.texture2d_to_texture2d_array dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_10x6_khr.cubemap_to_texture2d_array diff --git a/src/gallium/auxiliary/gallivm/lp_bld_format_soa.c b/src/gallium/auxiliary/gallivm/lp_bld_format_soa.c index 1fad4bc6fc6..8eb442998b8 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_format_soa.c +++ b/src/gallium/auxiliary/gallivm/lp_bld_format_soa.c @@ -169,7 +169,7 @@ lp_build_extract_soa_chan(struct lp_build_context *bld, if(chan_desc.normalized) input = lp_build_unsigned_norm_to_float(gallivm, width, type, input); else - input = LLVMBuildSIToFP(builder, input, bld->vec_type, ""); + input = LLVMBuildUIToFP(builder, input, bld->vec_type, ""); } } else if (chan_desc.pure_integer) { |