xf86-video-geode: Changes to 'master'
Mart Raudsepp
leio at kemper.freedesktop.org
Mon Nov 19 22:22:26 PST 2012
src/lx_exa.c | 40 ++++++++++++++++++++++++++++++++++++----
1 file changed, 36 insertions(+), 4 deletions(-)
New commits:
commit 45ca66ee73bfe04a7ac17e2086f2e5d20bfa93e9
Author: Mart Raudsepp <leio at gentoo.org>
Date: Sat Nov 17 23:51:39 2012 +0200
lx_exa: Improvements to negative srcX/Y PictOpSrc/Over operations
Adds handling of negative srcX or srcY coordinates, which is used by gtk3
GtkTrayIcon implementation via cairo for centering icons on top of the
destination area.
For now just handle the drawing within source pixmap bounds in these
cases, as full handling of the out of bound zero-vector for PictOpSrc
seems to require bigger refactoring, which is not suitable for the
impending stable release.
The approach implemented here should result in correct rendering for
PictOpOver (as out of bounds with non-repeat mode ends up meaning
transparency). For PictOpSrc no black borders are rendered where
appropriate, but before this approach, no source pixmap would even be
rendered at all, so it should be a net improvement for the upcoming
release, while fixing the gtk3 icons in GNOME3 fallback.
The completely out of bounds special case check didn't work correctly for
negative srcX or srcY because exaScratch.srcWidth/Height are unsigned
types, so the negative srcX or srcY got casted to unsigned, which resulted
in a big number, so srcX >= 0 was always true (but GCC managed to not warn
of the implicit signedness cast).
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=51360
More information about the xorg-commit
mailing list