diff options
author | Maarten Lankhorst <maarten.lankhorst@linux.intel.com> | 2018-12-03 15:13:40 +0100 |
---|---|---|
committer | Bryce Harrington <bryce@bryceharrington.org> | 2019-01-07 19:10:44 -0800 |
commit | a34cb719cd9cb4f0c5b78be80b80ab0ae22464a6 (patch) | |
tree | a74b88eacb6800be9cb055f2b7bc56d667654071 /perf | |
parent | 87c1c19197a6a3cdae955b320386f5449e17b286 (diff) | |
download | cairo-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.c | 2 | ||||
-rw-r--r-- | perf/micro/pixel.c | 2 |
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 (); |