glamor: Enable fill acceleration and flip opposite for pixmaps too.

Here's my theory for the flipping: It doesn't really matter which
orientation we store the pixmaps if we don't scan them out.  We have
to flip coordinates for the window system framebuffer.  Doing so for
everything else makes things consistent.  I'm not sure how this will
interact with future GLX integration, though.
This commit is contained in:
Eric Anholt 2010-02-08 19:38:00 +01:00 committed by Zhigang Gong
parent 5332547a0a
commit 95d4a5a6ab
3 changed files with 3 additions and 9 deletions

View File

@ -177,12 +177,7 @@ glamor_set_transform_for_pixmap(PixmapPtr pixmap,
glUniform1fARB(uniform_locations->x_bias, -pixmap->drawable.width / 2.0f);
glUniform1fARB(uniform_locations->x_scale, 2.0f / pixmap->drawable.width);
glUniform1fARB(uniform_locations->y_bias, -pixmap->drawable.height / 2.0f);
if (pixmap == screen_pixmap)
glUniform1fARB(uniform_locations->y_scale,
-2.0f / pixmap->drawable.height);
else
glUniform1fARB(uniform_locations->y_scale,
2.0f / pixmap->drawable.height);
glUniform1fARB(uniform_locations->y_scale, -2.0f / pixmap->drawable.height);
}
GLint

View File

@ -42,8 +42,6 @@ glamor_fill(DrawablePtr drawable,
{
PixmapPtr dst_pixmap = glamor_get_drawable_pixmap(drawable);
assert(0);
switch (gc->fillStyle) {
case FillSolid:
glamor_solid(dst_pixmap,

View File

@ -52,7 +52,8 @@ glamor_poly_fill_rect(DrawablePtr drawable,
int xorg, yorg;
int n;
goto fail;
if (gc->fillStyle != FillSolid)
goto fail;
xorg = drawable->x;
yorg = drawable->y;