e4d11e58ce
This was an attempt to avoid scratch gc creation and validation for paintwin because that was expensive. This is not the case in current servers, and the danger of failure to implement it correctly (as seen in all previous implementations) is high enough to justify removing it. No performance difference detected with x11perf -create -move -resize -circulate on Xvfb. Leave the screen hooks for PaintWindow* in for now to avoid ABI change.
1759 lines
34 KiB
C
1759 lines
34 KiB
C
|
|
#ifndef _XAALOCAL_H
|
|
#define _XAALOCAL_H
|
|
|
|
/* This file is very unorganized ! */
|
|
|
|
|
|
#include "gcstruct.h"
|
|
#include "regionstr.h"
|
|
#include "xf86fbman.h"
|
|
#include "xaa.h"
|
|
#include "mi.h"
|
|
#ifdef RENDER
|
|
#include "picturestr.h"
|
|
#endif
|
|
|
|
#define GCWhenForced (GCArcMode << 1)
|
|
|
|
#define DO_COLOR_8x8 0x00000001
|
|
#define DO_MONO_8x8 0x00000002
|
|
#define DO_CACHE_BLT 0x00000003
|
|
#define DO_COLOR_EXPAND 0x00000004
|
|
#define DO_CACHE_EXPAND 0x00000005
|
|
#define DO_IMAGE_WRITE 0x00000006
|
|
#define DO_PIXMAP_COPY 0x00000007
|
|
#define DO_SOLID 0x00000008
|
|
|
|
|
|
typedef CARD32 * (*GlyphScanlineFuncPtr)(
|
|
CARD32 *base, unsigned int **glyphp, int line, int nglyph, int width
|
|
);
|
|
|
|
typedef CARD32 *(*StippleScanlineProcPtr)(CARD32*, CARD32*, int, int, int);
|
|
|
|
typedef void (*RectFuncPtr) (ScrnInfoPtr, int, int, int, int, int, int,
|
|
XAACacheInfoPtr);
|
|
typedef void (*TrapFuncPtr) (ScrnInfoPtr, int, int, int, int, int, int,
|
|
int, int, int, int, int, int,
|
|
XAACacheInfoPtr);
|
|
|
|
|
|
|
|
typedef struct _XAAScreen {
|
|
CreateGCProcPtr CreateGC;
|
|
CloseScreenProcPtr CloseScreen;
|
|
GetImageProcPtr GetImage;
|
|
GetSpansProcPtr GetSpans;
|
|
CopyWindowProcPtr CopyWindow;
|
|
WindowExposuresProcPtr WindowExposures;
|
|
CreatePixmapProcPtr CreatePixmap;
|
|
DestroyPixmapProcPtr DestroyPixmap;
|
|
ChangeWindowAttributesProcPtr ChangeWindowAttributes;
|
|
XAAInfoRecPtr AccelInfoRec;
|
|
Bool (*EnterVT)(int, int);
|
|
void (*LeaveVT)(int, int);
|
|
int (*SetDGAMode)(int, int, DGADevicePtr);
|
|
void (*EnableDisableFBAccess)(int, Bool);
|
|
#ifdef RENDER
|
|
CompositeProcPtr Composite;
|
|
GlyphsProcPtr Glyphs;
|
|
#endif
|
|
} XAAScreenRec, *XAAScreenPtr;
|
|
|
|
#define OPS_ARE_PIXMAP 0x00000001
|
|
#define OPS_ARE_ACCEL 0x00000002
|
|
|
|
typedef struct _XAAGC {
|
|
GCOps *wrapOps;
|
|
GCFuncs *wrapFuncs;
|
|
GCOps *XAAOps;
|
|
int DashLength;
|
|
unsigned char* DashPattern;
|
|
unsigned long changes;
|
|
unsigned long flags;
|
|
} XAAGCRec, *XAAGCPtr;
|
|
|
|
#define REDUCIBILITY_CHECKED 0x00000001
|
|
#define REDUCIBLE_TO_8x8 0x00000002
|
|
#define REDUCIBLE_TO_2_COLOR 0x00000004
|
|
#define DIRTY 0x00010000
|
|
#define OFFSCREEN 0x00020000
|
|
#define DGA_PIXMAP 0x00040000
|
|
#define SHARED_PIXMAP 0x00080000
|
|
#define LOCKED_PIXMAP 0x00100000
|
|
|
|
#define REDUCIBILITY_MASK \
|
|
(REDUCIBILITY_CHECKED | REDUCIBLE_TO_8x8 | REDUCIBLE_TO_2_COLOR)
|
|
|
|
typedef struct _XAAPixmap {
|
|
unsigned long flags;
|
|
CARD32 pattern0;
|
|
CARD32 pattern1;
|
|
int fg;
|
|
int bg;
|
|
FBAreaPtr offscreenArea;
|
|
Bool freeData;
|
|
} XAAPixmapRec, *XAAPixmapPtr;
|
|
|
|
|
|
Bool
|
|
XAACreateGC(
|
|
GCPtr pGC
|
|
);
|
|
|
|
Bool
|
|
XAAInitAccel(
|
|
ScreenPtr pScreen,
|
|
XAAInfoRecPtr infoRec
|
|
);
|
|
|
|
RegionPtr
|
|
XAABitBlt(
|
|
DrawablePtr pSrcDrawable,
|
|
DrawablePtr pDstDrawable,
|
|
GC *pGC,
|
|
int srcx,
|
|
int srcy,
|
|
int width,
|
|
int height,
|
|
int dstx,
|
|
int dsty,
|
|
void (*doBitBlt)(DrawablePtr, DrawablePtr, GCPtr, RegionPtr, DDXPointPtr),
|
|
unsigned long bitPlane
|
|
);
|
|
|
|
void
|
|
XAAScreenToScreenBitBlt(
|
|
ScrnInfoPtr pScrn,
|
|
int nbox,
|
|
DDXPointPtr pptSrc,
|
|
BoxPtr pbox,
|
|
int xdir,
|
|
int ydir,
|
|
int alu,
|
|
unsigned int planemask
|
|
);
|
|
|
|
void
|
|
XAADoBitBlt(
|
|
DrawablePtr pSrc,
|
|
DrawablePtr pDst,
|
|
GC *pGC,
|
|
RegionPtr prgnDst,
|
|
DDXPointPtr pptSrc
|
|
);
|
|
|
|
void
|
|
XAADoImageWrite(
|
|
DrawablePtr pSrc,
|
|
DrawablePtr pDst,
|
|
GC *pGC,
|
|
RegionPtr prgnDst,
|
|
DDXPointPtr pptSrc
|
|
);
|
|
|
|
void
|
|
XAADoImageRead(
|
|
DrawablePtr pSrc,
|
|
DrawablePtr pDst,
|
|
GC *pGC,
|
|
RegionPtr prgnDst,
|
|
DDXPointPtr pptSrc
|
|
);
|
|
|
|
void
|
|
XAACopyWindow(
|
|
WindowPtr pWin,
|
|
DDXPointRec ptOldOrg,
|
|
RegionPtr prgnSrc
|
|
);
|
|
|
|
|
|
RegionPtr
|
|
XAACopyArea(
|
|
DrawablePtr pSrcDrawable,
|
|
DrawablePtr pDstDrawable,
|
|
GC *pGC,
|
|
int srcx,
|
|
int srcy,
|
|
int width,
|
|
int height,
|
|
int dstx,
|
|
int dsty
|
|
);
|
|
|
|
void
|
|
XAAValidateCopyArea(
|
|
GCPtr pGC,
|
|
unsigned long changes,
|
|
DrawablePtr pDraw
|
|
);
|
|
|
|
void
|
|
XAAValidatePutImage(
|
|
GCPtr pGC,
|
|
unsigned long changes,
|
|
DrawablePtr pDraw
|
|
);
|
|
|
|
void
|
|
XAAValidateCopyPlane(
|
|
GCPtr pGC,
|
|
unsigned long changes,
|
|
DrawablePtr pDraw
|
|
);
|
|
|
|
void
|
|
XAAValidatePushPixels(
|
|
GCPtr pGC,
|
|
unsigned long changes,
|
|
DrawablePtr pDraw
|
|
);
|
|
|
|
void
|
|
XAAValidateFillSpans(
|
|
GCPtr pGC,
|
|
unsigned long changes,
|
|
DrawablePtr pDraw
|
|
);
|
|
|
|
void
|
|
XAAValidatePolyGlyphBlt(
|
|
GCPtr pGC,
|
|
unsigned long changes,
|
|
DrawablePtr pDraw
|
|
);
|
|
|
|
void
|
|
XAAValidateImageGlyphBlt(
|
|
GCPtr pGC,
|
|
unsigned long changes,
|
|
DrawablePtr pDraw
|
|
);
|
|
|
|
void
|
|
XAAValidatePolylines(
|
|
GCPtr pGC,
|
|
unsigned long changes,
|
|
DrawablePtr pDraw
|
|
);
|
|
|
|
|
|
RegionPtr
|
|
XAACopyPlaneColorExpansion(
|
|
DrawablePtr pSrc,
|
|
DrawablePtr pDst,
|
|
GCPtr pGC,
|
|
int srcx,
|
|
int srcy,
|
|
int width,
|
|
int height,
|
|
int dstx,
|
|
int dsty,
|
|
unsigned long bitPlane
|
|
);
|
|
|
|
|
|
void
|
|
XAAPushPixelsSolidColorExpansion(
|
|
GCPtr pGC,
|
|
PixmapPtr pBitMap,
|
|
DrawablePtr pDrawable,
|
|
int dx,
|
|
int dy,
|
|
int xOrg,
|
|
int yOrg
|
|
);
|
|
|
|
void
|
|
XAAWriteBitmapColorExpandMSBFirstFixedBase (
|
|
ScrnInfoPtr pScrn,
|
|
int x, int y, int w, int h,
|
|
unsigned char *src,
|
|
int srcwidth,
|
|
int skipleft,
|
|
int fg, int bg,
|
|
int rop,
|
|
unsigned int planemask
|
|
);
|
|
|
|
void
|
|
XAAWriteBitmapColorExpand3MSBFirstFixedBase (
|
|
ScrnInfoPtr pScrn,
|
|
int x, int y, int w, int h,
|
|
unsigned char *src,
|
|
int srcwidth,
|
|
int skipleft,
|
|
int fg, int bg,
|
|
int rop,
|
|
unsigned int planemask
|
|
);
|
|
|
|
void
|
|
XAAWriteBitmapColorExpandMSBFirst (
|
|
ScrnInfoPtr pScrn,
|
|
int x, int y, int w, int h,
|
|
unsigned char *src,
|
|
int srcwidth,
|
|
int skipleft,
|
|
int fg, int bg,
|
|
int rop,
|
|
unsigned int planemask
|
|
);
|
|
|
|
void
|
|
XAAWriteBitmapColorExpand3MSBFirst (
|
|
ScrnInfoPtr pScrn,
|
|
int x, int y, int w, int h,
|
|
unsigned char *src,
|
|
int srcwidth,
|
|
int skipleft,
|
|
int fg, int bg,
|
|
int rop,
|
|
unsigned int planemask
|
|
);
|
|
|
|
void
|
|
XAAWriteBitmapColorExpandLSBFirstFixedBase (
|
|
ScrnInfoPtr pScrn,
|
|
int x, int y, int w, int h,
|
|
unsigned char *src,
|
|
int srcwidth,
|
|
int skipleft,
|
|
int fg, int bg,
|
|
int rop,
|
|
unsigned int planemask
|
|
);
|
|
|
|
void
|
|
XAAWriteBitmapColorExpand3LSBFirstFixedBase (
|
|
ScrnInfoPtr pScrn,
|
|
int x, int y, int w, int h,
|
|
unsigned char *src,
|
|
int srcwidth,
|
|
int skipleft,
|
|
int fg, int bg,
|
|
int rop,
|
|
unsigned int planemask
|
|
);
|
|
|
|
void
|
|
XAAWriteBitmapColorExpandLSBFirst (
|
|
ScrnInfoPtr pScrn,
|
|
int x, int y, int w, int h,
|
|
unsigned char *src,
|
|
int srcwidth,
|
|
int skipleft,
|
|
int fg, int bg,
|
|
int rop,
|
|
unsigned int planemask
|
|
);
|
|
|
|
void
|
|
XAAWriteBitmapColorExpand3LSBFirst (
|
|
ScrnInfoPtr pScrn,
|
|
int x, int y, int w, int h,
|
|
unsigned char *src,
|
|
int srcwidth,
|
|
int skipleft,
|
|
int fg, int bg,
|
|
int rop,
|
|
unsigned int planemask
|
|
);
|
|
|
|
|
|
void
|
|
XAAWriteBitmapScanlineColorExpandMSBFirst (
|
|
ScrnInfoPtr pScrn,
|
|
int x, int y, int w, int h,
|
|
unsigned char *src,
|
|
int srcwidth,
|
|
int skipleft,
|
|
int fg, int bg,
|
|
int rop,
|
|
unsigned int planemask
|
|
);
|
|
|
|
void
|
|
XAAWriteBitmapScanlineColorExpand3MSBFirst (
|
|
ScrnInfoPtr pScrn,
|
|
int x, int y, int w, int h,
|
|
unsigned char *src,
|
|
int srcwidth,
|
|
int skipleft,
|
|
int fg, int bg,
|
|
int rop,
|
|
unsigned int planemask
|
|
);
|
|
|
|
void
|
|
XAAWriteBitmapScanlineColorExpandMSBFirstFixedBase (
|
|
ScrnInfoPtr pScrn,
|
|
int x, int y, int w, int h,
|
|
unsigned char *src,
|
|
int srcwidth,
|
|
int skipleft,
|
|
int fg, int bg,
|
|
int rop,
|
|
unsigned int planemask
|
|
);
|
|
|
|
void
|
|
XAAWriteBitmapScanlineColorExpand3MSBFirstFixedBase (
|
|
ScrnInfoPtr pScrn,
|
|
int x, int y, int w, int h,
|
|
unsigned char *src,
|
|
int srcwidth,
|
|
int skipleft,
|
|
int fg, int bg,
|
|
int rop,
|
|
unsigned int planemask
|
|
);
|
|
|
|
void
|
|
XAAWriteBitmapScanlineColorExpandLSBFirst (
|
|
ScrnInfoPtr pScrn,
|
|
int x, int y, int w, int h,
|
|
unsigned char *src,
|
|
int srcwidth,
|
|
int skipleft,
|
|
int fg, int bg,
|
|
int rop,
|
|
unsigned int planemask
|
|
);
|
|
|
|
void
|
|
XAAWriteBitmapScanlineColorExpand3LSBFirst (
|
|
ScrnInfoPtr pScrn,
|
|
int x, int y, int w, int h,
|
|
unsigned char *src,
|
|
int srcwidth,
|
|
int skipleft,
|
|
int fg, int bg,
|
|
int rop,
|
|
unsigned int planemask
|
|
);
|
|
|
|
void
|
|
XAAWriteBitmapScanlineColorExpandLSBFirstFixedBase (
|
|
ScrnInfoPtr pScrn,
|
|
int x, int y, int w, int h,
|
|
unsigned char *src,
|
|
int srcwidth,
|
|
int skipleft,
|
|
int fg, int bg,
|
|
int rop,
|
|
unsigned int planemask
|
|
);
|
|
|
|
void
|
|
XAAWriteBitmapScanlineColorExpand3LSBFirstFixedBase (
|
|
ScrnInfoPtr pScrn,
|
|
int x, int y, int w, int h,
|
|
unsigned char *src,
|
|
int srcwidth,
|
|
int skipleft,
|
|
int fg, int bg,
|
|
int rop,
|
|
unsigned int planemask
|
|
);
|
|
|
|
void
|
|
XAAWritePixmap (
|
|
ScrnInfoPtr pScrn,
|
|
int x, int y, int w, int h,
|
|
unsigned char *src,
|
|
int srcwidth,
|
|
int rop,
|
|
unsigned int planemask,
|
|
int transparency_color,
|
|
int bpp, int depth
|
|
);
|
|
|
|
void
|
|
XAAWritePixmapScanline (
|
|
ScrnInfoPtr pScrn,
|
|
int x, int y, int w, int h,
|
|
unsigned char *src,
|
|
int srcwidth,
|
|
int rop,
|
|
unsigned int planemask,
|
|
int transparency_color,
|
|
int bpp, int depth
|
|
);
|
|
|
|
typedef void (*ClipAndRenderRectsFunc)(GCPtr, int, BoxPtr, int, int);
|
|
|
|
|
|
void
|
|
XAAClipAndRenderRects(
|
|
GCPtr pGC,
|
|
ClipAndRenderRectsFunc func,
|
|
int nrectFill,
|
|
xRectangle *prectInit,
|
|
int xorg, int yorg
|
|
);
|
|
|
|
|
|
typedef void (*ClipAndRenderSpansFunc)(GCPtr, int, DDXPointPtr, int*,
|
|
int, int, int);
|
|
|
|
void
|
|
XAAClipAndRenderSpans(
|
|
GCPtr pGC,
|
|
DDXPointPtr ppt,
|
|
int *pwidth,
|
|
int nspans,
|
|
int fSorted,
|
|
ClipAndRenderSpansFunc func,
|
|
int xorg,
|
|
int yorg
|
|
);
|
|
|
|
|
|
void
|
|
XAAFillSolidRects(
|
|
ScrnInfoPtr pScrn,
|
|
int fg, int rop,
|
|
unsigned int planemask,
|
|
int nBox,
|
|
BoxPtr pBox
|
|
);
|
|
|
|
void
|
|
XAAFillMono8x8PatternRects(
|
|
ScrnInfoPtr pScrn,
|
|
int fg, int bg, int rop,
|
|
unsigned int planemask,
|
|
int nBox,
|
|
BoxPtr pBox,
|
|
int pat0, int pat1,
|
|
int xorg, int yorg
|
|
);
|
|
|
|
void
|
|
XAAFillMono8x8PatternRectsScreenOrigin(
|
|
ScrnInfoPtr pScrn,
|
|
int fg, int bg, int rop,
|
|
unsigned int planemask,
|
|
int nBox,
|
|
BoxPtr pBox,
|
|
int pat0, int pat1,
|
|
int xorg, int yorg
|
|
);
|
|
|
|
|
|
void
|
|
XAAFillColor8x8PatternRectsScreenOrigin(
|
|
ScrnInfoPtr pScrn,
|
|
int rop,
|
|
unsigned int planemask,
|
|
int nBox,
|
|
BoxPtr pBox,
|
|
int xorigin, int yorigin,
|
|
XAACacheInfoPtr pCache
|
|
);
|
|
|
|
void
|
|
XAAFillColor8x8PatternRects(
|
|
ScrnInfoPtr pScrn,
|
|
int rop,
|
|
unsigned int planemask,
|
|
int nBox,
|
|
BoxPtr pBox,
|
|
int xorigin, int yorigin,
|
|
XAACacheInfoPtr pCache
|
|
);
|
|
|
|
void
|
|
XAAFillCacheBltRects(
|
|
ScrnInfoPtr pScrn,
|
|
int rop,
|
|
unsigned int planemask,
|
|
int nBox,
|
|
BoxPtr pBox,
|
|
int xorg, int yorg,
|
|
XAACacheInfoPtr pCache
|
|
);
|
|
|
|
void
|
|
XAAFillCacheExpandRects(
|
|
ScrnInfoPtr pScrn,
|
|
int fg, int bg, int rop,
|
|
unsigned int planemask,
|
|
int nBox,
|
|
BoxPtr pBox,
|
|
int xorg, int yorg,
|
|
PixmapPtr pPix
|
|
);
|
|
|
|
void
|
|
XAAFillImageWriteRects(
|
|
ScrnInfoPtr pScrn,
|
|
int rop,
|
|
unsigned int planemask,
|
|
int nBox,
|
|
BoxPtr pBox,
|
|
int xorg, int yorg,
|
|
PixmapPtr pPix
|
|
);
|
|
|
|
void
|
|
XAAPolyFillRect(
|
|
DrawablePtr pDraw,
|
|
GCPtr pGC,
|
|
int nrectFill,
|
|
xRectangle *prectInit
|
|
);
|
|
|
|
|
|
void
|
|
XAATEGlyphRendererMSBFirstFixedBase (
|
|
ScrnInfoPtr pScrn,
|
|
int x, int y, int w, int h, int skipleft, int startline,
|
|
unsigned int **glyphs, int glyphWidth,
|
|
int fg, int bg, int rop, unsigned planemask
|
|
);
|
|
|
|
void
|
|
XAATEGlyphRenderer3MSBFirstFixedBase (
|
|
ScrnInfoPtr pScrn,
|
|
int x, int y, int w, int h, int skipleft, int startline,
|
|
unsigned int **glyphs, int glyphWidth,
|
|
int fg, int bg, int rop, unsigned planemask
|
|
);
|
|
|
|
void
|
|
XAATEGlyphRendererMSBFirst (
|
|
ScrnInfoPtr pScrn,
|
|
int x, int y, int w, int h, int skipleft, int startline,
|
|
unsigned int **glyphs, int glyphWidth,
|
|
int fg, int bg, int rop, unsigned planemask
|
|
);
|
|
|
|
void
|
|
XAATEGlyphRenderer3MSBFirst (
|
|
ScrnInfoPtr pScrn,
|
|
int x, int y, int w, int h, int skipleft, int startline,
|
|
unsigned int **glyphs, int glyphWidth,
|
|
int fg, int bg, int rop, unsigned planemask
|
|
);
|
|
|
|
void
|
|
XAATEGlyphRendererLSBFirstFixedBase (
|
|
ScrnInfoPtr pScrn,
|
|
int x, int y, int w, int h, int skipleft, int startline,
|
|
unsigned int **glyphs, int glyphWidth,
|
|
int fg, int bg, int rop, unsigned planemask
|
|
);
|
|
|
|
|
|
void
|
|
XAATEGlyphRenderer3LSBFirstFixedBase (
|
|
ScrnInfoPtr pScrn,
|
|
int x, int y, int w, int h, int skipleft, int startline,
|
|
unsigned int **glyphs, int glyphWidth,
|
|
int fg, int bg, int rop, unsigned planemask
|
|
);
|
|
|
|
void
|
|
XAATEGlyphRendererLSBFirst (
|
|
ScrnInfoPtr pScrn,
|
|
int x, int y, int w, int h, int skipleft, int startline,
|
|
unsigned int **glyphs, int glyphWidth,
|
|
int fg, int bg, int rop, unsigned planemask
|
|
);
|
|
|
|
void
|
|
XAATEGlyphRenderer3LSBFirst (
|
|
ScrnInfoPtr pScrn,
|
|
int x, int y, int w, int h, int skipleft, int startline,
|
|
unsigned int **glyphs, int glyphWidth,
|
|
int fg, int bg, int rop, unsigned planemask
|
|
);
|
|
|
|
|
|
void
|
|
XAATEGlyphRendererScanlineMSBFirst (
|
|
ScrnInfoPtr pScrn,
|
|
int x, int y, int w, int h, int skipleft, int startline,
|
|
unsigned int **glyphs, int glyphWidth,
|
|
int fg, int bg, int rop, unsigned planemask
|
|
);
|
|
|
|
void
|
|
XAATEGlyphRendererScanline3MSBFirst (
|
|
ScrnInfoPtr pScrn,
|
|
int x, int y, int w, int h, int skipleft, int startline,
|
|
unsigned int **glyphs, int glyphWidth,
|
|
int fg, int bg, int rop, unsigned planemask
|
|
);
|
|
|
|
void
|
|
XAATEGlyphRendererScanlineLSBFirst (
|
|
ScrnInfoPtr pScrn,
|
|
int x, int y, int w, int h, int skipleft, int startline,
|
|
unsigned int **glyphs, int glyphWidth,
|
|
int fg, int bg, int rop, unsigned planemask
|
|
);
|
|
|
|
void
|
|
XAATEGlyphRendererScanline3LSBFirst (
|
|
ScrnInfoPtr pScrn,
|
|
int x, int y, int w, int h, int skipleft, int startline,
|
|
unsigned int **glyphs, int glyphWidth,
|
|
int fg, int bg, int rop, unsigned planemask
|
|
);
|
|
|
|
|
|
extern CARD32 *(*XAAGlyphScanlineFuncMSBFirstFixedBase[32])(
|
|
CARD32 *base, unsigned int **glyphp, int line, int nglyph, int width
|
|
);
|
|
|
|
extern CARD32 *(*XAAGlyphScanlineFuncMSBFirst[32])(
|
|
CARD32 *base, unsigned int **glyphp, int line, int nglyph, int width
|
|
);
|
|
|
|
extern CARD32 *(*XAAGlyphScanlineFuncLSBFirstFixedBase[32])(
|
|
CARD32 *base, unsigned int **glyphp, int line, int nglyph, int width
|
|
);
|
|
|
|
extern CARD32 *(*XAAGlyphScanlineFuncLSBFirst[32])(
|
|
CARD32 *base, unsigned int **glyphp, int line, int nglyph, int width
|
|
);
|
|
|
|
GlyphScanlineFuncPtr *XAAGetGlyphScanlineFuncMSBFirstFixedBase(void);
|
|
GlyphScanlineFuncPtr *XAAGetGlyphScanlineFuncMSBFirst(void);
|
|
GlyphScanlineFuncPtr *XAAGetGlyphScanlineFuncLSBFirstFixedBase(void);
|
|
GlyphScanlineFuncPtr *XAAGetGlyphScanlineFuncLSBFirst(void);
|
|
|
|
void
|
|
XAAFillColorExpandRectsLSBFirst(
|
|
ScrnInfoPtr pScrn,
|
|
int fg, int bg, int rop,
|
|
unsigned int planemask,
|
|
int nBox,
|
|
BoxPtr pBox,
|
|
int xorg, int yorg,
|
|
PixmapPtr pPix
|
|
);
|
|
|
|
void
|
|
XAAFillColorExpandRects3LSBFirst(
|
|
ScrnInfoPtr pScrn,
|
|
int fg, int bg, int rop,
|
|
unsigned int planemask,
|
|
int nBox,
|
|
BoxPtr pBox,
|
|
int xorg, int yorg,
|
|
PixmapPtr pPix
|
|
);
|
|
|
|
void
|
|
XAAFillColorExpandRectsLSBFirstFixedBase(
|
|
ScrnInfoPtr pScrn,
|
|
int fg, int bg, int rop,
|
|
unsigned int planemask,
|
|
int nBox,
|
|
BoxPtr pBox,
|
|
int xorg, int yorg,
|
|
PixmapPtr pPix
|
|
);
|
|
|
|
void
|
|
XAAFillColorExpandRects3LSBFirstFixedBase(
|
|
ScrnInfoPtr pScrn,
|
|
int fg, int bg, int rop,
|
|
unsigned int planemask,
|
|
int nBox,
|
|
BoxPtr pBox,
|
|
int xorg, int yorg,
|
|
PixmapPtr pPix
|
|
);
|
|
|
|
void
|
|
XAAFillColorExpandRectsMSBFirst(
|
|
ScrnInfoPtr pScrn,
|
|
int fg, int bg, int rop,
|
|
unsigned int planemask,
|
|
int nBox,
|
|
BoxPtr pBox,
|
|
int xorg, int yorg,
|
|
PixmapPtr pPix
|
|
);
|
|
|
|
void
|
|
XAAFillColorExpandRects3MSBFirst(
|
|
ScrnInfoPtr pScrn,
|
|
int fg, int bg, int rop,
|
|
unsigned int planemask,
|
|
int nBox,
|
|
BoxPtr pBox,
|
|
int xorg, int yorg,
|
|
PixmapPtr pPix
|
|
);
|
|
|
|
void
|
|
XAAFillColorExpandRectsMSBFirstFixedBase(
|
|
ScrnInfoPtr pScrn,
|
|
int fg, int bg, int rop,
|
|
unsigned int planemask,
|
|
int nBox,
|
|
BoxPtr pBox,
|
|
int xorg, int yorg,
|
|
PixmapPtr pPix
|
|
);
|
|
|
|
void
|
|
XAAFillColorExpandRects3MSBFirstFixedBase(
|
|
ScrnInfoPtr pScrn,
|
|
int fg, int bg, int rop,
|
|
unsigned int planemask,
|
|
int nBox,
|
|
BoxPtr pBox,
|
|
int xorg, int yorg,
|
|
PixmapPtr pPix
|
|
);
|
|
|
|
void
|
|
XAAFillScanlineColorExpandRectsLSBFirst(
|
|
ScrnInfoPtr pScrn,
|
|
int fg, int bg, int rop,
|
|
unsigned int planemask,
|
|
int nBox,
|
|
BoxPtr pBox,
|
|
int xorg, int yorg,
|
|
PixmapPtr pPix
|
|
);
|
|
|
|
void
|
|
XAAFillScanlineColorExpandRects3LSBFirst(
|
|
ScrnInfoPtr pScrn,
|
|
int fg, int bg, int rop,
|
|
unsigned int planemask,
|
|
int nBox,
|
|
BoxPtr pBox,
|
|
int xorg, int yorg,
|
|
PixmapPtr pPix
|
|
);
|
|
|
|
void
|
|
XAAFillScanlineColorExpandRectsMSBFirst(
|
|
ScrnInfoPtr pScrn,
|
|
int fg, int bg, int rop,
|
|
unsigned int planemask,
|
|
int nBox,
|
|
BoxPtr pBox,
|
|
int xorg, int yorg,
|
|
PixmapPtr pPix
|
|
);
|
|
|
|
void
|
|
XAAFillScanlineColorExpandRects3MSBFirst(
|
|
ScrnInfoPtr pScrn,
|
|
int fg, int bg, int rop,
|
|
unsigned int planemask,
|
|
int nBox,
|
|
BoxPtr pBox,
|
|
int xorg, int yorg,
|
|
PixmapPtr pPix
|
|
);
|
|
|
|
void
|
|
XAAFillColorExpandSpansLSBFirst(
|
|
ScrnInfoPtr pScrn,
|
|
int fg, int bg, int rop,
|
|
unsigned int planemask,
|
|
int n,
|
|
DDXPointPtr ppt,
|
|
int *pwidth,
|
|
int fSorted,
|
|
int xorg, int yorg,
|
|
PixmapPtr pPix
|
|
);
|
|
|
|
void
|
|
XAAFillColorExpandSpans3LSBFirst(
|
|
ScrnInfoPtr pScrn,
|
|
int fg, int bg, int rop,
|
|
unsigned int planemask,
|
|
int n,
|
|
DDXPointPtr ppt,
|
|
int *pwidth,
|
|
int fSorted,
|
|
int xorg, int yorg,
|
|
PixmapPtr pPix
|
|
);
|
|
|
|
void
|
|
XAAFillColorExpandSpansLSBFirstFixedBase(
|
|
ScrnInfoPtr pScrn,
|
|
int fg, int bg, int rop,
|
|
unsigned int planemask,
|
|
int n,
|
|
DDXPointPtr ppt,
|
|
int *pwidth,
|
|
int fSorted,
|
|
int xorg, int yorg,
|
|
PixmapPtr pPix
|
|
);
|
|
|
|
void
|
|
XAAFillColorExpandSpans3LSBFirstFixedBase(
|
|
ScrnInfoPtr pScrn,
|
|
int fg, int bg, int rop,
|
|
unsigned int planemask,
|
|
int n,
|
|
DDXPointPtr ppt,
|
|
int *pwidth,
|
|
int fSorted,
|
|
int xorg, int yorg,
|
|
PixmapPtr pPix
|
|
);
|
|
|
|
void
|
|
XAAFillColorExpandSpansMSBFirst(
|
|
ScrnInfoPtr pScrn,
|
|
int fg, int bg, int rop,
|
|
unsigned int planemask,
|
|
int n,
|
|
DDXPointPtr ppt,
|
|
int *pwidth,
|
|
int fSorted,
|
|
int xorg, int yorg,
|
|
PixmapPtr pPix
|
|
);
|
|
|
|
void
|
|
XAAFillColorExpandSpans3MSBFirst(
|
|
ScrnInfoPtr pScrn,
|
|
int fg, int bg, int rop,
|
|
unsigned int planemask,
|
|
int n,
|
|
DDXPointPtr ppt,
|
|
int *pwidth,
|
|
int fSorted,
|
|
int xorg, int yorg,
|
|
PixmapPtr pPix
|
|
);
|
|
|
|
void
|
|
XAAFillColorExpandSpansMSBFirstFixedBase(
|
|
ScrnInfoPtr pScrn,
|
|
int fg, int bg, int rop,
|
|
unsigned int planemask,
|
|
int n,
|
|
DDXPointPtr ppt,
|
|
int *pwidth,
|
|
int fSorted,
|
|
int xorg, int yorg,
|
|
PixmapPtr pPix
|
|
);
|
|
|
|
void
|
|
XAAFillColorExpandSpans3MSBFirstFixedBase(
|
|
ScrnInfoPtr pScrn,
|
|
int fg, int bg, int rop,
|
|
unsigned int planemask,
|
|
int n,
|
|
DDXPointPtr ppt,
|
|
int *pwidth,
|
|
int fSorted,
|
|
int xorg, int yorg,
|
|
PixmapPtr pPix
|
|
);
|
|
|
|
void
|
|
XAAFillScanlineColorExpandSpansLSBFirst(
|
|
ScrnInfoPtr pScrn,
|
|
int fg, int bg, int rop,
|
|
unsigned int planemask,
|
|
int n,
|
|
DDXPointPtr ppt,
|
|
int *pwidth,
|
|
int fSorted,
|
|
int xorg, int yorg,
|
|
PixmapPtr pPix
|
|
);
|
|
|
|
void
|
|
XAAFillScanlineColorExpandSpans3LSBFirst(
|
|
ScrnInfoPtr pScrn,
|
|
int fg, int bg, int rop,
|
|
unsigned int planemask,
|
|
int n,
|
|
DDXPointPtr ppt,
|
|
int *pwidth,
|
|
int fSorted,
|
|
int xorg, int yorg,
|
|
PixmapPtr pPix
|
|
);
|
|
|
|
void
|
|
XAAPutImage(
|
|
DrawablePtr pDraw,
|
|
GCPtr pGC,
|
|
int depth,
|
|
int x,
|
|
int y,
|
|
int w,
|
|
int h,
|
|
int leftPad,
|
|
int format,
|
|
char *pImage
|
|
);
|
|
|
|
void
|
|
XAAFillScanlineColorExpandSpansMSBFirst(
|
|
ScrnInfoPtr pScrn,
|
|
int fg, int bg, int rop,
|
|
unsigned int planemask,
|
|
int n,
|
|
DDXPointPtr ppt,
|
|
int *pwidth,
|
|
int fSorted,
|
|
int xorg, int yorg,
|
|
PixmapPtr pPix
|
|
);
|
|
|
|
void
|
|
XAAFillScanlineColorExpandSpans3MSBFirst(
|
|
ScrnInfoPtr pScrn,
|
|
int fg, int bg, int rop,
|
|
unsigned int planemask,
|
|
int n,
|
|
DDXPointPtr ppt,
|
|
int *pwidth,
|
|
int fSorted,
|
|
int xorg, int yorg,
|
|
PixmapPtr pPix
|
|
);
|
|
|
|
|
|
extern CARD32 *(*XAAStippleScanlineFuncMSBFirstFixedBase[6])(
|
|
CARD32* base, CARD32* src, int offset, int width, int dwords
|
|
);
|
|
|
|
extern CARD32 *(*XAAStippleScanlineFuncMSBFirst[6])(
|
|
CARD32* base, CARD32* src, int offset, int width, int dwords
|
|
);
|
|
|
|
extern CARD32 *(*XAAStippleScanlineFuncLSBFirstFixedBase[6])(
|
|
CARD32* base, CARD32* src, int offset, int width, int dwords
|
|
);
|
|
|
|
extern CARD32 *(*XAAStippleScanlineFuncLSBFirst[6])(
|
|
CARD32* base, CARD32* src, int offset, int width, int dwords
|
|
);
|
|
|
|
StippleScanlineProcPtr *XAAGetStippleScanlineFuncMSBFirstFixedBase(void);
|
|
StippleScanlineProcPtr *XAAGetStippleScanlineFuncMSBFirst(void);
|
|
StippleScanlineProcPtr *XAAGetStippleScanlineFuncLSBFirstFixedBase(void);
|
|
StippleScanlineProcPtr *XAAGetStippleScanlineFuncLSBFirst(void);
|
|
|
|
int
|
|
XAAPolyText8TEColorExpansion(
|
|
DrawablePtr pDraw,
|
|
GCPtr pGC,
|
|
int x, int y,
|
|
int count,
|
|
char *chars
|
|
);
|
|
|
|
int
|
|
XAAPolyText16TEColorExpansion(
|
|
DrawablePtr pDraw,
|
|
GCPtr pGC,
|
|
int x, int y,
|
|
int count,
|
|
unsigned short *chars
|
|
);
|
|
|
|
void
|
|
XAAImageText8TEColorExpansion(
|
|
DrawablePtr pDraw,
|
|
GCPtr pGC,
|
|
int x, int y,
|
|
int count,
|
|
char *chars
|
|
);
|
|
|
|
void
|
|
XAAImageText16TEColorExpansion(
|
|
DrawablePtr pDraw,
|
|
GCPtr pGC,
|
|
int x, int y,
|
|
int count,
|
|
unsigned short *chars
|
|
);
|
|
|
|
void
|
|
XAAImageGlyphBltTEColorExpansion(
|
|
DrawablePtr pDrawable,
|
|
GCPtr pGC,
|
|
int xInit, int yInit,
|
|
unsigned int nglyph,
|
|
CharInfoPtr *ppci,
|
|
pointer pglyphBase
|
|
);
|
|
|
|
void
|
|
XAAPolyGlyphBltTEColorExpansion(
|
|
DrawablePtr pDrawable,
|
|
GCPtr pGC,
|
|
int xInit, int yInit,
|
|
unsigned int nglyph,
|
|
CharInfoPtr *ppci,
|
|
pointer pglyphBase
|
|
);
|
|
|
|
|
|
int
|
|
XAAPolyText8NonTEColorExpansion(
|
|
DrawablePtr pDraw,
|
|
GCPtr pGC,
|
|
int x, int y,
|
|
int count,
|
|
char *chars
|
|
);
|
|
|
|
int
|
|
XAAPolyText16NonTEColorExpansion(
|
|
DrawablePtr pDraw,
|
|
GCPtr pGC,
|
|
int x, int y,
|
|
int count,
|
|
unsigned short *chars
|
|
);
|
|
|
|
void
|
|
XAAImageText8NonTEColorExpansion(
|
|
DrawablePtr pDraw,
|
|
GCPtr pGC,
|
|
int x, int y,
|
|
int count,
|
|
char *chars
|
|
);
|
|
|
|
void
|
|
XAAImageText16NonTEColorExpansion(
|
|
DrawablePtr pDraw,
|
|
GCPtr pGC,
|
|
int x, int y,
|
|
int count,
|
|
unsigned short *chars
|
|
);
|
|
|
|
void
|
|
XAAImageGlyphBltNonTEColorExpansion(
|
|
DrawablePtr pDrawable,
|
|
GCPtr pGC,
|
|
int xInit, int yInit,
|
|
unsigned int nglyph,
|
|
CharInfoPtr *ppci,
|
|
pointer pglyphBase
|
|
);
|
|
|
|
void
|
|
XAAPolyGlyphBltNonTEColorExpansion(
|
|
DrawablePtr pDrawable,
|
|
GCPtr pGC,
|
|
int xInit, int yInit,
|
|
unsigned int nglyph,
|
|
CharInfoPtr *ppci,
|
|
pointer pglyphBase
|
|
);
|
|
|
|
|
|
void XAANonTEGlyphRenderer(
|
|
ScrnInfoPtr pScrn,
|
|
int x, int y, int n,
|
|
NonTEGlyphPtr glyphs,
|
|
BoxPtr pbox,
|
|
int fg, int rop,
|
|
unsigned int planemask
|
|
);
|
|
|
|
void
|
|
XAAFillSolidSpans(
|
|
ScrnInfoPtr pScrn,
|
|
int fg, int rop,
|
|
unsigned int planemask,
|
|
int n,
|
|
DDXPointPtr ppt,
|
|
int *pwidth, int fSorted
|
|
);
|
|
|
|
void
|
|
XAAFillMono8x8PatternSpans(
|
|
ScrnInfoPtr pScrn,
|
|
int fg, int bg, int rop,
|
|
unsigned int planemask,
|
|
int n,
|
|
DDXPointPtr ppt,
|
|
int *pwidth, int fSorted,
|
|
int patx, int paty,
|
|
int xorg, int yorg
|
|
);
|
|
|
|
void
|
|
XAAFillMono8x8PatternSpansScreenOrigin(
|
|
ScrnInfoPtr pScrn,
|
|
int fg, int bg, int rop,
|
|
unsigned int planemask,
|
|
int n,
|
|
DDXPointPtr ppt,
|
|
int *pwidth, int fSorted,
|
|
int patx, int paty,
|
|
int xorg, int yorg
|
|
);
|
|
|
|
void
|
|
XAAFillColor8x8PatternSpansScreenOrigin(
|
|
ScrnInfoPtr pScrn,
|
|
int rop,
|
|
unsigned int planemask,
|
|
int n,
|
|
DDXPointPtr ppt,
|
|
int *pwidth, int fSorted,
|
|
XAACacheInfoPtr,
|
|
int xorigin, int yorigin
|
|
);
|
|
|
|
void
|
|
XAAFillColor8x8PatternSpans(
|
|
ScrnInfoPtr pScrn,
|
|
int rop,
|
|
unsigned int planemask,
|
|
int n,
|
|
DDXPointPtr ppt,
|
|
int *pwidth, int fSorted,
|
|
XAACacheInfoPtr,
|
|
int xorigin, int yorigin
|
|
);
|
|
|
|
void
|
|
XAAFillCacheBltSpans(
|
|
ScrnInfoPtr pScrn,
|
|
int rop,
|
|
unsigned int planemask,
|
|
int n,
|
|
DDXPointPtr points,
|
|
int *widths,
|
|
int fSorted,
|
|
XAACacheInfoPtr pCache,
|
|
int xorg, int yorg
|
|
);
|
|
|
|
void
|
|
XAAFillCacheExpandSpans(
|
|
ScrnInfoPtr pScrn,
|
|
int fg, int bg, int rop,
|
|
unsigned int planemask,
|
|
int n,
|
|
DDXPointPtr ppt,
|
|
int *pwidth,
|
|
int fSorted,
|
|
int xorg, int yorg,
|
|
PixmapPtr pPix
|
|
);
|
|
|
|
void
|
|
XAAFillSpans(
|
|
DrawablePtr pDrawable,
|
|
GC *pGC,
|
|
int nInit,
|
|
DDXPointPtr pptInit,
|
|
int *pwidth,
|
|
int fSorted
|
|
);
|
|
|
|
|
|
void
|
|
XAAInitPixmapCache(
|
|
ScreenPtr pScreen,
|
|
RegionPtr areas,
|
|
pointer data
|
|
);
|
|
|
|
void
|
|
XAAWriteBitmapToCache(
|
|
ScrnInfoPtr pScrn,
|
|
int x, int y, int w, int h,
|
|
unsigned char *src,
|
|
int srcwidth,
|
|
int fg, int bg
|
|
);
|
|
|
|
void
|
|
XAAWriteBitmapToCacheLinear(
|
|
ScrnInfoPtr pScrn,
|
|
int x, int y, int w, int h,
|
|
unsigned char *src,
|
|
int srcwidth,
|
|
int fg, int bg
|
|
);
|
|
|
|
void
|
|
XAAWritePixmapToCache(
|
|
ScrnInfoPtr pScrn,
|
|
int x, int y, int w, int h,
|
|
unsigned char *src,
|
|
int srcwidth,
|
|
int bpp, int depth
|
|
);
|
|
|
|
void
|
|
XAAWritePixmapToCacheLinear(
|
|
ScrnInfoPtr pScrn,
|
|
int x, int y, int w, int h,
|
|
unsigned char *src,
|
|
int srcwidth,
|
|
int bpp, int depth
|
|
);
|
|
|
|
void
|
|
XAASolidHorVertLineAsRects(
|
|
ScrnInfoPtr pScrn,
|
|
int x, int y, int len, int dir
|
|
);
|
|
|
|
void
|
|
XAASolidHorVertLineAsTwoPoint(
|
|
ScrnInfoPtr pScrn,
|
|
int x, int y, int len, int dir
|
|
);
|
|
|
|
void
|
|
XAASolidHorVertLineAsBresenham(
|
|
ScrnInfoPtr pScrn,
|
|
int x, int y, int len, int dir
|
|
);
|
|
|
|
|
|
void
|
|
XAAPolyRectangleThinSolid(
|
|
DrawablePtr pDrawable,
|
|
GCPtr pGC,
|
|
int nRectsInit,
|
|
xRectangle *pRectsInit
|
|
);
|
|
|
|
|
|
void
|
|
XAAPolylinesWideSolid (
|
|
DrawablePtr pDrawable,
|
|
GCPtr pGC,
|
|
int mode,
|
|
int npt,
|
|
DDXPointPtr pPts
|
|
);
|
|
|
|
void
|
|
XAAFillPolygonSolid(
|
|
DrawablePtr pDrawable,
|
|
GCPtr pGC,
|
|
int shape,
|
|
int mode,
|
|
int count,
|
|
DDXPointPtr ptsIn
|
|
);
|
|
|
|
void
|
|
XAAFillPolygonStippled(
|
|
DrawablePtr pDrawable,
|
|
GCPtr pGC,
|
|
int shape,
|
|
int mode,
|
|
int count,
|
|
DDXPointPtr ptsIn
|
|
);
|
|
|
|
|
|
void
|
|
XAAFillPolygonTiled(
|
|
DrawablePtr pDrawable,
|
|
GCPtr pGC,
|
|
int shape,
|
|
int mode,
|
|
int count,
|
|
DDXPointPtr ptsIn
|
|
);
|
|
|
|
|
|
int
|
|
XAAIsEasyPolygon(
|
|
DDXPointPtr ptsIn,
|
|
int count,
|
|
BoxPtr extents,
|
|
int origin,
|
|
DDXPointPtr *topPoint,
|
|
int *topY, int *bottomY,
|
|
int shape
|
|
);
|
|
|
|
void
|
|
XAAFillPolygonHelper(
|
|
ScrnInfoPtr pScrn,
|
|
DDXPointPtr ptsIn,
|
|
int count,
|
|
DDXPointPtr topPoint,
|
|
int y,
|
|
int maxy,
|
|
int origin,
|
|
RectFuncPtr RectFunc,
|
|
TrapFuncPtr TrapFunc,
|
|
int xorg,
|
|
int yorg,
|
|
XAACacheInfoPtr pCache
|
|
);
|
|
|
|
void
|
|
XAAPolySegment(
|
|
DrawablePtr pDrawable,
|
|
GCPtr pGC,
|
|
int nseg,
|
|
xSegment *pSeg
|
|
);
|
|
|
|
void
|
|
XAAPolyLines(
|
|
DrawablePtr pDrawable,
|
|
GCPtr pGC,
|
|
int mode,
|
|
int npt,
|
|
DDXPointPtr pptInit
|
|
);
|
|
|
|
void
|
|
XAAPolySegmentDashed(
|
|
DrawablePtr pDrawable,
|
|
GCPtr pGC,
|
|
int nseg,
|
|
xSegment *pSeg
|
|
);
|
|
|
|
void
|
|
XAAPolyLinesDashed(
|
|
DrawablePtr pDrawable,
|
|
GCPtr pGC,
|
|
int mode,
|
|
int npt,
|
|
DDXPointPtr pptInit
|
|
);
|
|
|
|
|
|
void
|
|
XAAWriteMono8x8PatternToCache(ScrnInfoPtr pScrn, XAACacheInfoPtr pCache);
|
|
|
|
void
|
|
XAAWriteColor8x8PatternToCache(
|
|
ScrnInfoPtr pScrn,
|
|
PixmapPtr pPix,
|
|
XAACacheInfoPtr pCache
|
|
);
|
|
|
|
void
|
|
XAARotateMonoPattern(
|
|
int *pat0, int *pat1,
|
|
int xoffset, int yoffset,
|
|
Bool msbfirst
|
|
);
|
|
|
|
void XAAComputeDash(GCPtr pGC);
|
|
|
|
void XAAMoveDWORDS_FixedBase(
|
|
register CARD32* dest,
|
|
register CARD32* src,
|
|
register int dwords
|
|
);
|
|
|
|
void XAAMoveDWORDS_FixedSrc(
|
|
register CARD32* dest,
|
|
register CARD32* src,
|
|
register int dwords
|
|
);
|
|
|
|
void XAAMoveDWORDS(
|
|
register CARD32* dest,
|
|
register CARD32* src,
|
|
register int dwords
|
|
);
|
|
|
|
int
|
|
XAAGetRectClipBoxes(
|
|
GCPtr pGC,
|
|
BoxPtr pboxClippedBase,
|
|
int nrectFill,
|
|
xRectangle *prectInit
|
|
);
|
|
|
|
void
|
|
XAASetupOverlay8_32Planar(ScreenPtr);
|
|
|
|
void
|
|
XAAPolyFillArcSolid(DrawablePtr pDraw, GCPtr pGC, int narcs, xArc *parcs);
|
|
|
|
XAACacheInfoPtr
|
|
XAACacheTile(ScrnInfoPtr Scrn, PixmapPtr pPix);
|
|
|
|
XAACacheInfoPtr
|
|
XAACacheMonoStipple(ScrnInfoPtr Scrn, PixmapPtr pPix);
|
|
|
|
XAACacheInfoPtr
|
|
XAACachePlanarMonoStipple(ScrnInfoPtr Scrn, PixmapPtr pPix);
|
|
|
|
typedef XAACacheInfoPtr (*XAACachePlanarMonoStippleProc)(ScrnInfoPtr, PixmapPtr);
|
|
XAACachePlanarMonoStippleProc XAAGetCachePlanarMonoStipple(void);
|
|
|
|
XAACacheInfoPtr
|
|
XAACacheStipple(ScrnInfoPtr Scrn, PixmapPtr pPix, int fg, int bg);
|
|
|
|
XAACacheInfoPtr
|
|
XAACacheMono8x8Pattern(ScrnInfoPtr Scrn, int pat0, int pat1);
|
|
|
|
XAACacheInfoPtr
|
|
XAACacheColor8x8Pattern(ScrnInfoPtr Scrn, PixmapPtr pPix, int fg, int bg);
|
|
|
|
void
|
|
XAATileCache(ScrnInfoPtr pScrn, XAACacheInfoPtr pCache, int w, int h);
|
|
|
|
void XAAClosePixmapCache(ScreenPtr pScreen);
|
|
void XAAInvalidatePixmapCache(ScreenPtr pScreen);
|
|
|
|
Bool XAACheckStippleReducibility(PixmapPtr pPixmap);
|
|
Bool XAACheckTileReducibility(PixmapPtr pPixmap, Bool checkMono);
|
|
|
|
int XAAStippledFillChooser(GCPtr pGC);
|
|
int XAAOpaqueStippledFillChooser(GCPtr pGC);
|
|
int XAATiledFillChooser(GCPtr pGC);
|
|
|
|
void XAAMoveInOffscreenPixmaps(ScreenPtr pScreen);
|
|
void XAAMoveOutOffscreenPixmaps(ScreenPtr pScreen);
|
|
void XAARemoveAreaCallback(FBAreaPtr area);
|
|
void XAAMoveOutOffscreenPixmap(PixmapPtr pPix);
|
|
Bool XAAInitStateWrap(ScreenPtr pScreen, XAAInfoRecPtr infoRec);
|
|
|
|
#ifdef RENDER
|
|
void
|
|
XAAComposite (CARD8 op,
|
|
PicturePtr pSrc,
|
|
PicturePtr pMask,
|
|
PicturePtr pDst,
|
|
INT16 xSrc,
|
|
INT16 ySrc,
|
|
INT16 xMask,
|
|
INT16 yMask,
|
|
INT16 xDst,
|
|
INT16 yDst,
|
|
CARD16 width,
|
|
CARD16 height);
|
|
|
|
|
|
Bool
|
|
XAADoComposite (CARD8 op,
|
|
PicturePtr pSrc,
|
|
PicturePtr pMask,
|
|
PicturePtr pDst,
|
|
INT16 xSrc,
|
|
INT16 ySrc,
|
|
INT16 xMask,
|
|
INT16 yMask,
|
|
INT16 xDst,
|
|
INT16 yDst,
|
|
CARD16 width,
|
|
CARD16 height);
|
|
|
|
|
|
void
|
|
XAAGlyphs (CARD8 op,
|
|
PicturePtr pSrc,
|
|
PicturePtr pDst,
|
|
PictFormatPtr maskFormat,
|
|
INT16 xSrc,
|
|
INT16 ySrc,
|
|
int nlist,
|
|
GlyphListPtr list,
|
|
GlyphPtr *glyphs);
|
|
|
|
Bool
|
|
XAADoGlyphs (CARD8 op,
|
|
PicturePtr pSrc,
|
|
PicturePtr pDst,
|
|
PictFormatPtr maskFormat,
|
|
INT16 xSrc,
|
|
INT16 ySrc,
|
|
int nlist,
|
|
GlyphListPtr list,
|
|
GlyphPtr *glyphs);
|
|
|
|
|
|
|
|
/* helpers */
|
|
void
|
|
XAA_888_plus_PICT_a8_to_8888 (
|
|
CARD32 color,
|
|
CARD8 *alphaPtr, /* in bytes */
|
|
int alphaPitch,
|
|
CARD32 *dstPtr,
|
|
int dstPitch, /* in dwords */
|
|
int width,
|
|
int height
|
|
);
|
|
|
|
Bool
|
|
XAAGetRGBAFromPixel(
|
|
CARD32 pixel,
|
|
CARD16 *red,
|
|
CARD16 *green,
|
|
CARD16 *blue,
|
|
CARD16 *alpha,
|
|
CARD32 format
|
|
);
|
|
|
|
|
|
Bool
|
|
XAAGetPixelFromRGBA (
|
|
CARD32 *pixel,
|
|
CARD16 red,
|
|
CARD16 green,
|
|
CARD16 blue,
|
|
CARD16 alpha,
|
|
CARD32 format
|
|
);
|
|
|
|
#endif
|
|
|
|
/* XXX should be static */
|
|
extern GCOps XAAFallbackOps;
|
|
extern GCOps *XAAGetFallbackOps(void);
|
|
extern GCFuncs XAAGCFuncs;
|
|
extern int XAAGetScreenIndex(void);
|
|
extern int XAAGetGCIndex(void);
|
|
extern int XAAGetPixmapIndex(void);
|
|
|
|
extern unsigned int XAAShiftMasks[32];
|
|
|
|
extern unsigned int byte_expand3[256], byte_reversed_expand3[256];
|
|
|
|
CARD32 XAAReverseBitOrder(CARD32 data);
|
|
|
|
#define GET_XAASCREENPTR_FROM_SCREEN(pScreen)\
|
|
(pScreen)->devPrivates[XAAGetScreenIndex()].ptr
|
|
|
|
#define GET_XAASCREENPTR_FROM_GC(pGC)\
|
|
(pGC)->pScreen->devPrivates[XAAGetScreenIndex()].ptr
|
|
|
|
#define GET_XAASCREENPTR_FROM_DRAWABLE(pDraw)\
|
|
(pDraw)->pScreen->devPrivates[XAAGetScreenIndex()].ptr
|
|
|
|
#define GET_XAAINFORECPTR_FROM_SCREEN(pScreen)\
|
|
((XAAScreenPtr)((pScreen)->devPrivates[XAAGetScreenIndex()].ptr))->AccelInfoRec
|
|
|
|
#define GET_XAAINFORECPTR_FROM_GC(pGC)\
|
|
((XAAScreenPtr)((pGC)->pScreen->devPrivates[XAAGetScreenIndex()].ptr))->AccelInfoRec
|
|
|
|
#define GET_XAAINFORECPTR_FROM_DRAWABLE(pDraw)\
|
|
((XAAScreenPtr)((pDraw)->pScreen->devPrivates[XAAGetScreenIndex()].ptr))->AccelInfoRec
|
|
|
|
#define GET_XAAINFORECPTR_FROM_SCRNINFOPTR(pScrn)\
|
|
((XAAScreenPtr)((pScrn)->pScreen->devPrivates[XAAGetScreenIndex()].ptr))->AccelInfoRec
|
|
|
|
#define XAA_GET_PIXMAP_PRIVATE(pix)\
|
|
(XAAPixmapPtr)((pix)->devPrivates[XAAGetPixmapIndex()].ptr)
|
|
|
|
#define CHECK_RGB_EQUAL(c) (!((((c) >> 8) ^ (c)) & 0xffff))
|
|
|
|
#define CHECK_FG(pGC, flags) \
|
|
(!(flags & RGB_EQUAL) || CHECK_RGB_EQUAL(pGC->fgPixel))
|
|
|
|
#define CHECK_BG(pGC, flags) \
|
|
(!(flags & RGB_EQUAL) || CHECK_RGB_EQUAL(pGC->bgPixel))
|
|
|
|
#define CHECK_ROP(pGC, flags) \
|
|
(!(flags & GXCOPY_ONLY) || (pGC->alu == GXcopy))
|
|
|
|
#define CHECK_ROPSRC(pGC, flags) \
|
|
(!(flags & ROP_NEEDS_SOURCE) || ((pGC->alu != GXclear) && \
|
|
(pGC->alu != GXnoop) && (pGC->alu != GXinvert) && \
|
|
(pGC->alu != GXset)))
|
|
|
|
#define CHECK_PLANEMASK(pGC, flags) \
|
|
(!(flags & NO_PLANEMASK) || \
|
|
((pGC->planemask & infoRec->FullPlanemasks[pGC->depth - 1]) == \
|
|
infoRec->FullPlanemasks[pGC->depth - 1]))
|
|
|
|
#define CHECK_COLORS(pGC, flags) \
|
|
(!(flags & RGB_EQUAL) || \
|
|
(CHECK_RGB_EQUAL(pGC->fgPixel) && CHECK_RGB_EQUAL(pGC->bgPixel)))
|
|
|
|
#define CHECK_NO_GXCOPY(pGC, flags) \
|
|
((pGC->alu != GXcopy) || !(flags & NO_GXCOPY) || \
|
|
((pGC->planemask & infoRec->FullPlanemask) != infoRec->FullPlanemask))
|
|
|
|
#define IS_OFFSCREEN_PIXMAP(pPix)\
|
|
((XAA_GET_PIXMAP_PRIVATE((PixmapPtr)(pPix)))->offscreenArea)
|
|
|
|
#define PIXMAP_IS_SHARED(pPix)\
|
|
((XAA_GET_PIXMAP_PRIVATE((PixmapPtr)(pPix)))->flags & SHARED_PIXMAP)
|
|
|
|
#define OFFSCREEN_PIXMAP_LOCKED(pPix)\
|
|
((XAA_GET_PIXMAP_PRIVATE((PixmapPtr)(pPix)))->flags & LOCKED_PIXMAP)
|
|
|
|
#define XAA_DEPTH_BUG(pGC) \
|
|
((pGC->depth == 32) && (pGC->bgPixel == 0xffffffff))
|
|
|
|
#define DELIST_OFFSCREEN_PIXMAP(pPix) { \
|
|
PixmapLinkPtr _pLink, _prev; \
|
|
_pLink = infoRec->OffscreenPixmaps; \
|
|
_prev = NULL; \
|
|
while(_pLink) { \
|
|
if(_pLink->pPix == pPix) { \
|
|
if(_prev) _prev->next = _pLink->next; \
|
|
else infoRec->OffscreenPixmaps = _pLink->next; \
|
|
xfree(_pLink); \
|
|
break; \
|
|
} \
|
|
_prev = _pLink; \
|
|
_pLink = _pLink->next; \
|
|
}}
|
|
|
|
|
|
#define SWAP_BITS_IN_BYTES(v) \
|
|
(((0x01010101 & (v)) << 7) | ((0x02020202 & (v)) << 5) | \
|
|
((0x04040404 & (v)) << 3) | ((0x08080808 & (v)) << 1) | \
|
|
((0x10101010 & (v)) >> 1) | ((0x20202020 & (v)) >> 3) | \
|
|
((0x40404040 & (v)) >> 5) | ((0x80808080 & (v)) >> 7))
|
|
|
|
/*
|
|
* Moved XAAPixmapCachePrivate here from xaaPCache.c, since driver
|
|
* replacements for CacheMonoStipple need access to it
|
|
*/
|
|
|
|
typedef struct {
|
|
int Num512x512;
|
|
int Current512;
|
|
XAACacheInfoPtr Info512;
|
|
int Num256x256;
|
|
int Current256;
|
|
XAACacheInfoPtr Info256;
|
|
int Num128x128;
|
|
int Current128;
|
|
XAACacheInfoPtr Info128;
|
|
int NumMono;
|
|
int CurrentMono;
|
|
XAACacheInfoPtr InfoMono;
|
|
int NumColor;
|
|
int CurrentColor;
|
|
XAACacheInfoPtr InfoColor;
|
|
int NumPartial;
|
|
int CurrentPartial;
|
|
XAACacheInfoPtr InfoPartial;
|
|
DDXPointRec MonoOffsets[64];
|
|
DDXPointRec ColorOffsets[64];
|
|
} XAAPixmapCachePrivate, *XAAPixmapCachePrivatePtr;
|
|
|
|
|
|
#endif /* _XAALOCAL_H */
|