A direct unpack to this format from a signed format won't clamp so we should not resolve converts of this kind via the unpack fast path. These scenarios will be handled properly by mesa_swizzle_and_convert path. --- src/mesa/main/format_utils.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/mesa/main/format_utils.c b/src/mesa/main/format_utils.c index 34c90d9..97c125c 100644 --- a/src/mesa/main/format_utils.c +++ b/src/mesa/main/format_utils.c @@ -367,7 +367,8 @@ _mesa_format_convert(void *void_dst, uint32_t dst_format, size_t dst_stride, } return; } else if (dst_array_format.as_uint == RGBA8888_UINT.as_uint && - _mesa_is_format_integer_color(src_format)) { + _mesa_is_format_integer_color(src_format) && + _mesa_is_format_unsigned(src_format)) { for (row = 0; row < height; ++row) { _mesa_unpack_uint_rgba_row(src_format, width, src, (uint32_t (*)[4])dst); -- 1.9.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev