This commit causes the generated C code to change as
union util_format_r32g32b32a32_sscaled pixel;
- pixel.chan.r = (int32_t)CLAMP(src[0], -
2147483648,
2147483647);
- pixel.chan.g = (int32_t)CLAMP(src[1], -
2147483648,
2147483647);
- pixel.chan.b = (int32_t)CLAMP(src[2], -
2147483648,
2147483647);
- pixel.chan.a = (int32_t)CLAMP(src[3], -
2147483648,
2147483647);
+ pixel.chan.r = (int32_t)CLAMP(src[0], -
2147483648.0f,
2147483647.0f);
+ pixel.chan.g = (int32_t)CLAMP(src[1], -
2147483648.0f,
2147483647.0f);
+ pixel.chan.b = (int32_t)CLAMP(src[2], -
2147483648.0f,
2147483647.0f);
+ pixel.chan.a = (int32_t)CLAMP(src[3], -
2147483648.0f,
2147483647.0f);
memcpy(dst, &pixel, sizeof pixel);
which surprisingly makes a difference for MSVC.
Thanks to Juraj Svec for diagnosing this and drafting a fix.
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=29661
'''Get the value of unity for this type.'''
if type.type == FLOAT:
if type.size <= 32:
- return "%ff" % value
+ return "%.1ff" % float(value)
else:
- return "%ff" % value
+ return "%.1f" % float(value)
else:
return str(int(value))
dst_max = dst_channel.max()
# Translate the destination range to the src native value
- dst_min_native = value_to_native(src_channel, dst_min)
- dst_max_native = value_to_native(src_channel, dst_max)
+ dst_min_native = native_to_constant(src_channel, value_to_native(src_channel, dst_min))
+ dst_max_native = native_to_constant(src_channel, value_to_native(src_channel, dst_max))
if src_min < dst_min and src_max > dst_max:
return 'CLAMP(%s, %s, %s)' % (value, dst_min_native, dst_max_native)