Re: [PATCH 0/5] Implement floating point support in cairo.
Bryce Harrington <[email protected]> Mon, 7 Jan 2019 19:23:11 -0800
| Newsgroups | gmane.comp.lib.cairo |
|---|---|
| Message-ID | <[email protected]> |
On Mon, Dec 03, 2018 at 03:13:38PM +0100, Maarten Lankhorst wrote: > pixman 0.36.0 introduces support for floating point formats, so it's time > to enable this in cairo. > > To actually use the extended precision in gradients, you need: > https://lists.freedesktop.org/archives/pixman/2018-December/004794.html > > pixman-bits-image.c is still 8-bits-extended-to-float when transforms or > alpha mapping is used, so this needs fixing if you want true 32-bits all > the time. However this doesn't change the API, so I'm posting this series > now with more confidence. > > Maarten Lankhorst (5): > cairo-trace: Simplify bigendian case in emit_image. > Add support for RGBA128F and RGB96F formats. > png: Add support for writing new floating point formats as 16 bpc png. > png: Add support for 16 bpc png reading as floating point format > boilerplate: Add support for new float formats. Verified the patchset builds with pixman 0.36, and the (default) check tests pass. In reviewing the code it all looks good, and the implementation approach looks well suited to the codebase. Thanks for breaking out the refactoring piece. Since pixman 0.36 is released now, I've gone ahead and landed it directly on master. Patch 5 is marked not for upstream, so skipped. Patches 1-4 are: Reviewed-by: Bryce Harrington <[email protected]> and landed to master: To gitlab.freedesktop.org:cairo/cairo.git 3a0670e03..d061570a7 master -> master Thanks, Bryce > boilerplate/cairo-boilerplate.c | 154 +++++++++++++++--- > configure.ac | 2 +- > perf/micro/fill-clip.c | 2 + > perf/micro/pixel.c | 2 + > src/cairo-debug.c | 6 + > src/cairo-image-compositor.c | 4 + > src/cairo-image-source.c | 27 ++++ > src/cairo-image-surface.c | 16 ++ > src/cairo-png.c | 174 +++++++++++++++++++-- > src/cairo-script-surface.c | 20 +++ > src/cairo-xlib-display.c | 12 ++ > src/cairo.h | 6 +- > src/cairoint.h | 2 +- > test/any2ppm.c | 2 + > test/map-to-image.c | 2 + > test/png.c | 2 + > util/cairo-script/cairo-script-operators.c | 12 ++ > util/cairo-trace/trace.c | 37 ++--- > 18 files changed, 416 insertions(+), 66 deletions(-) > > -- > 2.19.2 > > -- > cairo mailing list > [email protected] > https://lists.cairographics.org/mailman/listinfo/cairo -- cairo mailing list [email protected] https://lists.cairographics.org/mailman/listinfo/cairo