[cairo] Xlib/Xcb and EXTEND_PAD

Thomas Jaeger thjaeger at gmail.com
Mon Jan 19 08:23:58 PST 2009


I've been trying to figure out why firefox uses nearest-neighbor
interpolation for upscaling, and it turns out that it would need to use
EXTEND_PAD to get correct results with a bilinear filter [1], but
EXTEND_PAD is causing a fallback in _cairo_xlib_surface_set_attributes /
_cairo_xcb_surface_set_attributes, which would slow down rendering.  My
testing suggests that both EXTEND_PAD and EXTEND_REFLECT are supported
by XRender in current X servers, so wouldn't it make sense to disable
the fallback (at least conditionally depending on the X server version)?

Thanks,
Tom

[1] https://bugzilla.mozilla.org/show_bug.cgi?id=422179


More information about the cairo mailing list