[cairo-bugs] [Bug 43397] EXTEND_NONE is used instead of EXTEND_PAD when src sample area is entirely within the surface

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Fri Dec 9 12:27:32 PST 2011


--- Comment #10 from Benjamin Otte <otte at gnome.org> 2011-12-09 12:27:32 PST ---
There might be 3D hardware that has to jump through a lot more hoops to
implement render semantics for REPEAT_PAD compared to REPEAT_NONE.
I already pointed out that it's the job of render to figure out a feature that
makes Cairo say EXTEND_ANY or fix it their way. Which is the crux for why this
is not a bug in Cairo. Cairo cannot know which is the extend mode it should use
if the extend mode doesn't matter.

And the Xrender spec is very clear that the default value is None. See
http://www.x.org/releases/current/doc/renderproto/renderproto.txt for details.

I can understand that it makes your life as an X server or driver developer
more complicated, but afaics there is nothing we can do on the Cairo side
without potentially breaking things in competing implementations.

So this is not a bug in Cairo, Cairo is doing the right thing. It's a bug
either in the X server failing to implement an obvious optimization or a bug in
the render protocol.

Or do you really expect us to ignore the X specifications so that we make the
life of a single X server easy that is incapable of optimizing a simple case?
Especially because there are libraries competing with Cairo that will run into
a similar issue...

So I'm going to again close this as NOTOURBUG. Feel free to reopen it when you
assign it to the X server or somewhere else.
Or feel free to propose a solution inside Cairo that does not break backwards
compatibility with systems where NONE is faster than PAD.

Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA Contact for the bug.

More information about the cairo-bugs mailing list