xserver 1.4

This commit is contained in:
matthieu
2007-11-24 17:55:21 +00:00
parent 733e3c4fff
commit b14d6de7aa
1199 changed files with 115035 additions and 25311 deletions

View File

@@ -51,6 +51,7 @@
#ifdef RENDER
#include "fbpict.h"
#endif
#include "damage.h"
#define DEBUG_TRACE_FALL 0
#define DEBUG_MIGRATE 0
@@ -107,11 +108,13 @@ typedef struct {
RasterizeTrapezoidProcPtr SavedRasterizeTrapezoid;
AddTrianglesProcPtr SavedAddTriangles;
GlyphsProcPtr SavedGlyphs;
TrapezoidsProcPtr SavedTrapezoids;
#endif
Bool swappedOut;
enum ExaMigrationHeuristic migration;
Bool hideOffscreenPixmapData;
Bool checkDirtyCorrectness;
unsigned disableFbCount;
} ExaScreenPrivRec, *ExaScreenPrivPtr;
/*
@@ -160,16 +163,16 @@ typedef struct {
unsigned int fb_size; /**< size of pixmap in framebuffer memory */
/**
* If area is NULL, then dirty == TRUE means that the pixmap has been
* modified, so the contents are defined. Used to avoid uploads of
* undefined data.
*
* If area is non-NULL, then dirty == TRUE means that the pixmap data at
* pPixmap->devPrivate.ptr (either fb_ptr or sys_ptr) has been changed
* compared to the copy in the other location. This is used to avoid
* uploads/downloads of unmodified data.
* The damage record contains the areas of the pixmap's current location
* (framebuffer or system) that have been damaged compared to the other
* location.
*/
Bool dirty;
DamagePtr pDamage;
/**
* The valid region marks the valid bits of a drawable (at least, as it's
* derived from damage, which may be overreported).
*/
RegionRec validReg;
} ExaPixmapPrivRec, *ExaPixmapPrivPtr;
typedef struct _ExaMigrationRec {
@@ -286,6 +289,10 @@ exaGetPixmapFirstPixel (PixmapPtr pPixmap);
void
exaCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc);
Bool
exaFillRegionTiled (DrawablePtr pDrawable, RegionPtr pRegion, PixmapPtr pTile,
DDXPointPtr pPatOrg, CARD32 planemask, CARD32 alu);
void
exaPaintWindow(WindowPtr pWin, RegionPtr pRegion, int what);
@@ -315,10 +322,7 @@ ExaCheckComposite (CARD8 op,
CARD16 height);
#endif
/* exaoffscreen.c */
void
ExaOffscreenMarkUsed (PixmapPtr pPixmap);
/* exa_offscreen.c */
void
ExaOffscreenSwapOut (ScreenPtr pScreen);
@@ -339,7 +343,11 @@ void
exaFinishAccess(DrawablePtr pDrawable, int index);
void
exaDrawableDirty(DrawablePtr pDrawable);
exaPixmapDirty(PixmapPtr pPix, int x1, int y1, int x2, int y2);
void
exaGetDrawableDeltas (DrawablePtr pDrawable, PixmapPtr pPixmap,
int *xp, int *yp);
Bool
exaDrawableIsOffscreen (DrawablePtr pDrawable);
@@ -385,6 +393,11 @@ exaComposite(CARD8 op,
CARD16 width,
CARD16 height);
void
exaTrapezoids (CARD8 op, PicturePtr pSrc, PicturePtr pDst,
PictFormatPtr maskFormat, INT16 xSrc, INT16 ySrc,
int ntrap, xTrapezoid *traps);
void
exaRasterizeTrapezoid (PicturePtr pPicture, xTrapezoid *trap,
int x_off, int y_off);
@@ -409,9 +422,6 @@ void
exaDoMigration (ExaMigrationPtr pixmaps, int npixmaps, Bool can_accel);
void
exaMoveInPixmap (PixmapPtr pPixmap);
void
exaMoveOutPixmap (PixmapPtr pPixmap);
exaPixmapSave (ScreenPtr pScreen, ExaOffscreenArea *area);
#endif /* EXAPRIV_H */