util: Handle the remaining format cases in pipe_tile_raw_to_rgba().

This commit is contained in:
Michal Krol 2010-01-06 14:07:12 +01:00
parent 955f51270b
commit 4fd566ea31

View file

@ -1155,27 +1155,6 @@ ycbcr_get_tile_rgba(const ushort *src,
}
static void
fake_get_tile_rgba(const ushort *src,
unsigned w, unsigned h,
float *p,
unsigned dst_stride)
{
unsigned i, j;
for (i = 0; i < h; i++) {
float *pRow = p;
for (j = 0; j < w; j++, pRow += 4) {
pRow[0] =
pRow[1] =
pRow[2] =
pRow[3] = (i ^ j) & 1 ? 1.0f : 0.0f;
}
p += dst_stride;
}
}
void
pipe_tile_raw_to_rgba(enum pipe_format format,
void *src,
@ -1258,8 +1237,10 @@ pipe_tile_raw_to_rgba(enum pipe_format format,
ycbcr_get_tile_rgba((ushort *) src, w, h, dst, dst_stride, TRUE);
break;
default:
debug_printf("%s: unsupported format %s\n", __FUNCTION__, pf_name(format));
fake_get_tile_rgba(src, w, h, dst, dst_stride);
util_format_read_4f(format,
dst, dst_stride * sizeof(float),
src, util_format_get_stride(format, w),
0, 0, w, h);
}
}