summaryrefslogtreecommitdiff
path: root/util
diff options
context:
space:
mode:
authorMaarten Lankhorst <maarten.lankhorst@linux.intel.com>2018-12-03 15:13:39 +0100
committerBryce Harrington <bryce@bryceharrington.org>2019-01-07 19:10:30 -0800
commit87c1c19197a6a3cdae955b320386f5449e17b286 (patch)
treef730c68822f9cf76739e291a483511dd075e2c2f /util
parent3a0670e03c6a93fda764878697a78e3b966ef1f1 (diff)
cairo-trace: Simplify bigendian case in emit_image.
All the cases are the same, except len is different. Use the already calculated len parameter to handle all cases except RGB24 the same. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Suggested-by: Bryce Harrington <bryce@bryceharrington.org> Reviewed-by: Bryce Harrington <bryce@bryceharrington.org>
Diffstat (limited to 'util')
-rw-r--r--util/cairo-trace/trace.c25
1 files changed, 5 insertions, 20 deletions
diff --git a/util/cairo-trace/trace.c b/util/cairo-trace/trace.c
index 1fe130bba..7ce903b11 100644
--- a/util/cairo-trace/trace.c
+++ b/util/cairo-trace/trace.c
@@ -1680,24 +1680,6 @@ _emit_image (cairo_surface_t *image,
#ifdef WORDS_BIGENDIAN
switch (format) {
- case CAIRO_FORMAT_A1:
- for (row = height; row--; ) {
- _write_data (&stream, data, (width+7)/8);
- data += stride;
- }
- break;
- case CAIRO_FORMAT_A8:
- for (row = height; row--; ) {
- _write_data (&stream, data, width);
- data += stride;
- }
- break;
- case CAIRO_FORMAT_RGB16_565:
- for (row = height; row--; ) {
- _write_data (&stream, data, 2*width);
- data += stride;
- }
- break;
case CAIRO_FORMAT_RGB24:
for (row = height; row--; ) {
int col;
@@ -1709,10 +1691,13 @@ _emit_image (cairo_surface_t *image,
data += stride;
}
break;
+ case CAIRO_FORMAT_A1:
+ case CAIRO_FORMAT_A8:
+ case CAIRO_FORMAT_RGB16_565:
case CAIRO_FORMAT_RGB30:
case CAIRO_FORMAT_ARGB32:
for (row = height; row--; ) {
- _write_data (&stream, data, 4*width);
+ _write_data (&stream, data, len);
data += stride;
}
break;
@@ -1777,7 +1762,7 @@ _emit_image (cairo_surface_t *image,
int col;
for (col = 0; col < width; col++)
dst[col] = bswap_32 (src[col]);
- _write_data (&stream, rowdata, 4*width);
+ _write_data (&stream, rowdata, len);
data += stride;
}
break;