From: Samuel Iglesias Gonsalvez <sigles...@igalia.com> v2: - Add clamping for non-normalized integer formats in pack_ubyte*()
Signed-off-by: Samuel Iglesias Gonsalvez <sigles...@igalia.com> --- src/mesa/main/format_pack.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/mesa/main/format_pack.py b/src/mesa/main/format_pack.py index a65a614..afb5011 100644 --- a/src/mesa/main/format_pack.py +++ b/src/mesa/main/format_pack.py @@ -88,7 +88,13 @@ pack_ubyte_${f.short_name()}(const GLubyte src[4], void *dst) %endif ${c.datatype()} ${c.name} = - %if c.type == parser.UNSIGNED: + %if not f.is_normalized() and f.is_int(): + %if c.type == parser.SIGNED: + _mesa_unsigned_to_signed(src[${i}], ${c.size}); + %else: + _mesa_unsigned_to_unsigned(src[${i}], ${c.size}); + %endif + %elif c.type == parser.UNSIGNED: %if f.colorspace == 'srgb' and c.name in 'rgb': util_format_linear_to_srgb_8unorm(src[${i}]); %else: -- 1.9.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev