diff options
author | Keith Packard <keithp@keithp.com> | 2004-05-20 05:27:03 +0000 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2004-05-20 05:27:03 +0000 |
commit | b9d920f3dc060d230a4a7b2d40210524acf50666 (patch) | |
tree | 8cc234ab89b01ea35ef54863a0ecd22e00483961 /hw/kdrive/src | |
parent | 94648799c82e59166155ca5abf22a9391693e6a1 (diff) |
Fix SYNC_ALWAYS (debugging) code to use mach64WaitIdle instead of
KdCheckSync -- the boolean used in the latter won't be set yet.
Oops. == instead of =.
Must sync hardware before rasterizing trapezoids in case the mask is in
off-screen memory and has just been erased. Yes, it is silly to place
masks in off-screen memory. That's a separate issue.
Diffstat (limited to 'hw/kdrive/src')
-rw-r--r-- | hw/kdrive/src/kaa.c | 2 | ||||
-rw-r--r-- | hw/kdrive/src/kdrive.h | 6 | ||||
-rw-r--r-- | hw/kdrive/src/kpict.c | 11 |
3 files changed, 18 insertions, 1 deletions
diff --git a/hw/kdrive/src/kaa.c b/hw/kdrive/src/kaa.c index 616c0ef91..4a3350089 100644 --- a/hw/kdrive/src/kaa.c +++ b/hw/kdrive/src/kaa.c @@ -291,7 +291,7 @@ kaaCreatePixmap(ScreenPtr pScreen, int w, int h, int depth) return NULL; pKaaPixmap = KaaGetPixmapPriv(pPixmap); if (!w || !h) - pKaaPixmap->score == KAA_PIXMAP_SCORE_PINNED; + pKaaPixmap->score = KAA_PIXMAP_SCORE_PINNED; else pKaaPixmap->score = KAA_PIXMAP_SCORE_INIT; diff --git a/hw/kdrive/src/kdrive.h b/hw/kdrive/src/kdrive.h index c0fae276e..a8015e7ab 100644 --- a/hw/kdrive/src/kdrive.h +++ b/hw/kdrive/src/kdrive.h @@ -849,6 +849,12 @@ KdCheckComposite (CARD8 op, INT16 yDst, CARD16 width, CARD16 height); + +void +KdCheckRasterizeTrapezoid(PicturePtr pMask, + xTrapezoid *trap, + int x_off, + int y_off); #endif /* kshadow.c */ diff --git a/hw/kdrive/src/kpict.c b/hw/kdrive/src/kpict.c index 25fb449a0..d1709b68e 100644 --- a/hw/kdrive/src/kpict.c +++ b/hw/kdrive/src/kpict.c @@ -60,10 +60,21 @@ KdCheckComposite (CARD8 op, } void +KdCheckRasterizeTrapezoid(PicturePtr pMask, + xTrapezoid *trap, + int x_off, + int y_off) +{ + KdCheckSync (pMask->pDrawable->pScreen); + fbRasterizeTrapezoid (pMask, trap, x_off, y_off); +} + +void KdPictureInitAsync (ScreenPtr pScreen) { PictureScreenPtr ps; ps = GetPictureScreen(pScreen); ps->Composite = KdCheckComposite; + ps->RasterizeTrapezoid = KdCheckRasterizeTrapezoid; } |