summaryrefslogtreecommitdiff
path: root/perf
diff options
context:
space:
mode:
authorMaarten Lankhorst <maarten.lankhorst@linux.intel.com>2018-12-03 15:13:40 +0100
committerBryce Harrington <bryce@bryceharrington.org>2019-01-07 19:10:44 -0800
commita34cb719cd9cb4f0c5b78be80b80ab0ae22464a6 (patch)
treea74b88eacb6800be9cb055f2b7bc56d667654071 /perf
parent87c1c19197a6a3cdae955b320386f5449e17b286 (diff)
downloadcairo-a34cb719cd9cb4f0c5b78be80b80ab0ae22464a6.tar.gz
Add support for RGBA128F and RGB96F formats.
IGT wants to add support for planes with a bit depth >10, which requires a higher precision format than we have currently. I'm using RGBA as format, because of its existence in OpenGL. With the new formats we can directly convert our bytes to half float, or multiply a colro vector with a matrix to go to the Y'CbCr colorspace. This requires pixman 0.36.0, so bump the version requirement. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reviewed-by: Bryce Harrington <bryce@bryceharrington.org>
Diffstat (limited to 'perf')
-rw-r--r--perf/micro/fill-clip.c2
-rw-r--r--perf/micro/pixel.c2
2 files changed, 4 insertions, 0 deletions
diff --git a/perf/micro/fill-clip.c b/perf/micro/fill-clip.c
index 2d014aca8..f9802705f 100644
--- a/perf/micro/fill-clip.c
+++ b/perf/micro/fill-clip.c
@@ -92,6 +92,8 @@ direct (cairo_t *cr, int width, int height, int loops)
case CAIRO_FORMAT_RGB24:
case CAIRO_FORMAT_RGB30:
case CAIRO_FORMAT_ARGB32: bpp = 32; break;
+ case CAIRO_FORMAT_RGB96F: bpp = 96; break;
+ case CAIRO_FORMAT_RGBA128F: bpp = 128; break;
}
cairo_perf_timer_start ();
diff --git a/perf/micro/pixel.c b/perf/micro/pixel.c
index b600b5170..85a42e442 100644
--- a/perf/micro/pixel.c
+++ b/perf/micro/pixel.c
@@ -51,6 +51,8 @@ pixel_direct (cairo_t *cr, int width, int height, int loops)
case CAIRO_FORMAT_RGB24:
case CAIRO_FORMAT_RGB30:
case CAIRO_FORMAT_ARGB32: bpp = 32; break;
+ case CAIRO_FORMAT_RGB96F: bpp = 96; break;
+ case CAIRO_FORMAT_RGBA128F: bpp = 128; break;
}
cairo_perf_timer_start ();