[cairo] PATCH: GL: Create glyph mask surface only once per context, enlarge on demand

Chris Wilson chris at chris-wilson.co.uk
Sat Feb 16 02:12:32 PST 2013

On Fri, Feb 15, 2013 at 04:14:30PM +0000, Mikko Strandborg wrote:
> There are drivers and GPU architectures where resource allocation is
> faster, and there are architectures where it is slower. If cairo wants to
> be a general purpose vector graphics library, I think it should at least
> attempt to make the best of all driver versions, no matter whether it is
> fast or slow. Are you seriously proposing that it is faster to allocate a
> new surface on DDX compared to reusing an existing one?

Yes. Because the driver can make a much better choice about which buffer
to reuse than the client in such cases. I curse applications that pass
in temporary pixmaps for precisely these reasons.
> Ideological matters aside, can you please explain why this patch should
> not be applied? There are no apparent downsides, and improves performance
> (by an order of magnitude in some cases) in environments where the GPU
> and/or the driver do not meet the rather stringent quality requirements.
> This, unfortunately, is a a rather common occurrence in the mobile GPU
> world.

Because I want to promote better drivers. Working around issues that can
be easily fixed in the driver for the betterment of all, just leads to
stagnation as nobody feels the impetus to do anything.

In terms of this patch, you are attempting to fix just the tip of the
iceberg and ignoring the general problem.

Chris Wilson, Intel Open Source Technology Centre

More information about the cairo mailing list