glamor: All the fallbacks in the world.

Bringup is really not flying when I can't see anything.  So dump back
to all software so I can turn on a bit at a time.
This commit is contained in:
Eric Anholt 2010-02-08 14:53:41 +01:00 committed by Zhigang Gong
parent 745502af96
commit d8d3fa1034
8 changed files with 40 additions and 0 deletions

View File

@ -79,6 +79,8 @@ glamor_copy_area(DrawablePtr src, DrawablePtr dst, GCPtr gc,
glamor_pixmap_private *src_priv = glamor_get_pixmap_private(src_pixmap);
RegionPtr region;
goto fail;
if (!GLEW_EXT_framebuffer_blit) {
glamor_fallback("glamor_copy_area(): "
"EXT_framebuffer_blit unsupported\n");

View File

@ -42,6 +42,8 @@ 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

@ -45,6 +45,8 @@ glamor_fill_spans(DrawablePtr drawable,
int fullX1, fullX2, fullY1;
int partX1, partX2;
goto fail;
extents = REGION_EXTENTS(gc->pScreen, clip);
extentX1 = extents->x1;
extentY1 = extents->y1;
@ -97,4 +99,15 @@ glamor_fill_spans(DrawablePtr drawable,
}
}
}
return;
fail:
glamor_fallback("to %p (%c)\n", drawable,
glamor_get_drawable_location(drawable));
if (glamor_prepare_access(drawable, GLAMOR_ACCESS_RW)) {
if (glamor_prepare_access_gc(gc)) {
fbFillSpans(drawable, gc, n, points, widths, sorted);
glamor_finish_access_gc(gc);
}
glamor_finish_access(drawable);
}
}

View File

@ -56,6 +56,8 @@ glamor_get_spans(DrawablePtr drawable,
int i, j;
uint8_t *temp_dst = NULL, *readpixels_dst = (uint8_t *)dst;
goto fail;
switch (drawable->depth) {
case 1:
temp_dst = xalloc(wmax);

View File

@ -52,6 +52,8 @@ glamor_poly_fill_rect(DrawablePtr drawable,
int xorg, yorg;
int n;
goto fail;
xorg = drawable->x;
yorg = drawable->y;
@ -115,4 +117,17 @@ glamor_poly_fill_rect(DrawablePtr drawable,
}
}
}
return;
fail:
glamor_fallback("glamor_poly_fill_rect() to %p (%c)\n",
drawable, glamor_get_drawable_location(drawable));
if (glamor_prepare_access(drawable, GLAMOR_ACCESS_RW)) {
if (glamor_prepare_access_gc(gc)) {
fbPolyFillRect(drawable, gc, nrect, prect );
glamor_finish_access_gc(gc);
}
glamor_finish_access(drawable);
}
}

View File

@ -245,6 +245,8 @@ glamor_put_image(DrawablePtr drawable, GCPtr gc, int depth, int x, int y,
int bpp = drawable->bitsPerPixel;
int src_stride = PixmapBytePad(w, drawable->depth);
goto fail;
if (!glamor_set_destination_pixmap(pixmap)) {
fbPutImage(drawable, gc, depth, x, y, w, h, left_pad,
image_format, bits);

View File

@ -424,6 +424,8 @@ glamor_composite(CARD8 op,
RegionRec region;
int i;
goto fail;
/* Do two-pass PictOpOver componentAlpha, until we enable
* dual source color blending.
*/

View File

@ -43,6 +43,8 @@ glamor_set_spans(DrawablePtr drawable, GCPtr gc, char *src,
RegionPtr clip = fbGetCompositeClip(gc);
BoxRec *pbox;
goto fail;
for (i = 0 ; i < n; i++) {
if (wmax < widths[i])
wmax = widths[i];