[cairo-commit] Changes to 'drm'

Kristian Høgsberg krh at kemper.freedesktop.org
Mon Jan 19 13:46:00 PST 2009

New branch 'drm' available with the following commits:
commit 78cdeacd1e120b7d2b04923d92e37613ca08115a
Author: Kristian Høgsberg <krh at redhat.com>
Date:   Sun Jan 18 21:35:42 2009 -0500

    Make the i915 specific context embed the drm context.
    This is more in line with the rest of the sub-classing in cairo.

commit 80a850099ca64ec025c4b84a1da53f41d0149716
Author: Kristian Høgsberg <krh at redhat.com>
Date:   Thu Jan 15 14:46:34 2009 +0000

    [drm] Add drm-test application
    A simple stand-alone application that uses the cairo-drm-surface to
    render directly to the framebuffer.

commit 1fff7f66f2b1c6c25a2a20d8f130e07a33a837a3
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Fri Jan 16 02:02:22 2009 +0000

    [drm] Add an accelerated image surface.
    Use the DRM interface to h/w accelerate composition on image surfaces.
    The purpose of the backend is simply to explore what such a hardware
    interface might look like and what benefits we might expect. I use the
    i915 as an example driver simply because that's what I have available. The
    only use case that might justify writing such custom backends are embedded
    devices running a drm compositor like wayland - which would, for example,
    allow one to write applications that seamlessly integrated accelerated,
    dynamic, high quality 2D graphics using Cairo with advanced interaction
    (e.g. smooth animations in the UI) driven by a clutter framework...

commit 4ff73d7478543d01ec49fe0ea4921c639064f422
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Fri Nov 21 15:04:47 2008 +0000

    [scaled-font] Global glyph cache
    Currently glyphs are cached independently in each font i.e. each font
    maintains a cache of up to 256 glyphs, and there can be as many scaled fonts
    in use as the application needs and references (we maintain a holdover
    cache of 512 scaled fonts as well).
    Alternatively, as in this patch, we can maintain a global pool of glyphs
    split between all open fonts. This allows a heavily used individual font
    to cache more glyphs than we could allow if we used per-font glyph caches,
    but at the same time maintains fairness across all fonts (by using random
    replacement) and provides a cap on the maximum number of global glyphs.
    The glyphs are allocated in pages, which are cached in the global pool.
    Using pages means we can exploit spatial locality within the font
    (nearby indices are typically used in clusters) to reduce frequency of small
    allocations and allow the scaled font to reserve a single MRU page of
    glyphs. This caching dramatically reduces the cairo overhead during the
    cairo-perf benchmarks, and drastically reduces the number of allocations
    made by the application (for example browsing multi-lingual site with

commit b6903774b360b473331f5b54754a88ff63c0af3a
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Thu Jan 15 00:26:03 2009 +0000

    [spline] Correct the definition of a cubic Bezier curve.
    Add the missing coefficients for p1 and p2 so the derivation of the
    derivative and the solution for its inflection points stands correct.

commit 6491a1239ec5a225981af87175a46af1f9ed198f
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Wed Jan 14 18:55:32 2009 +0000

    [path] Rename _cairo_path_fixed_approximate_extents()
    Rename approximate_extents() to approximate_clip_extents() so that it is
    consistent with the fill and stroke variants and clearer under what
    circumstances you may wish to use it.

More information about the cairo-commit mailing list