mesa: Fix _mesa_format_convert fallback path when src is not an array format

When a rebase swizzle is provided and we call _mesa_swizzle_and_convert
after unpacking the source format we were always passing normalized=false.
We should pass true or false depending on the formats involved in the
conversion for the byte and float paths (the integer path cannot ever be
normalized).

Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
Tested-by: Mark Janes <mark.a.janes@intel.com>
This commit is contained in:
Iago Toral Quiroga
2015-02-02 13:59:27 +01:00
parent 6fd4a61ad6
commit 1b029f8a4a

View File

@@ -499,7 +499,7 @@ _mesa_format_convert(void *void_dst, uint32_t dst_format, size_t dst_stride,
MESA_ARRAY_FORMAT_TYPE_FLOAT, 4,
tmp_float + row * width,
MESA_ARRAY_FORMAT_TYPE_FLOAT, 4,
rebase_swizzle, false, width);
rebase_swizzle, normalized, width);
src += src_stride;
}
}
@@ -543,7 +543,7 @@ _mesa_format_convert(void *void_dst, uint32_t dst_format, size_t dst_stride,
MESA_ARRAY_FORMAT_TYPE_UBYTE, 4,
tmp_ubyte + row * width,
MESA_ARRAY_FORMAT_TYPE_UBYTE, 4,
rebase_swizzle, false, width);
rebase_swizzle, normalized, width);
src += src_stride;
}
}