5 #define XAA_VERSION_MAJOR 1
6 #define XAA_VERSION_MINOR 2
7 #define XAA_VERSION_RELEASE 1
11 ******** OPERATION SPECIFIC FLAGS *********
13 **** solid/dashed line flags ****
16 23 LINE_PATTERN_LSBFIRST_MSBJUSTIFIED
17 22 LINE_PATTERN_LSBFIRST_LSBJUSTIFIED
18 21 LINE_PATTERN_MSBFIRST_MSBJUSTIFIED
19 20 LINE_PATTERN_MSBFIRST_LSBJUSTIFIED
20 19 LINE_PATTERN_POWER_OF_2_ONLY
26 **** screen to screen copy flags ****
29 23 ONLY_LEFT_TO_RIGHT_BITBLT
30 22 ONLY_TWO_BITBLT_DIRECTIONS
39 **** clipping flags ****
43 22 HARDWARE_CLIP_SCREEN_TO_SCREEN_COLOR_EXPAND
44 21 HARDWARE_CLIP_SCREEN_TO_SCREEN_COPY
45 20 HARDWARE_CLIP_MONO_8x8_FILL
46 19 HARDWARE_CLIP_COLOR_8x8_FILL
47 18 HARDWARE_CLIP_SOLID_FILL
48 17 HARDWARE_CLIP_DASHED_LINE
49 16 HARDWARE_CLIP_SOLID_LINE
53 **** hardware pattern flags ****
58 21 HARDWARE_PATTERN_SCREEN_ORIGIN
62 17 HARDWARE_PATTERN_PROGRAMMED_ORIGIN
63 16 HARDWARE_PATTERN_PROGRAMMED_BITS
66 **** write pixmap flags ****
76 16 CONVERT_32BPP_TO_24BPP
80 ******** GENERIC FLAGS *********
83 15 SYNC_AFTER_COLOR_EXPAND
84 14 CPU_TRANSFER_PAD_QWORD
86 12 LEFT_EDGE_CLIPPING_NEGATIVE_X
88 10 CPU_TRANSFER_BASE_FIXED
89 9 BIT_ORDER_IN_BYTE_MSBFIRST
90 8 TRANSPARENCY_GXCOPY_ONLY
105 #include "gcstruct.h"
106 #include "pixmapstr.h"
108 #include "regionstr.h"
109 #include "xf86fbman.h"
111 #include "picturestr.h"
114 #define PIXMAP_CACHE 0x00000001
115 #define MICROSOFT_ZERO_LINE_BIAS 0x00000002
116 #define OFFSCREEN_PIXMAPS 0x00000004
117 #define LINEAR_FRAMEBUFFER 0x00000008
120 /* GC fg, bg, and planemask restrictions */
121 #define GXCOPY_ONLY 0x00000001
122 #define NO_GXCOPY 0x00000002
123 #define NO_PLANEMASK 0x00000004
124 #define RGB_EQUAL 0x00000008
125 #define TRIPLE_BITS_24BPP 0x00000010
126 #define ROP_NEEDS_SOURCE 0x00000020
128 /* transparency restrictions */
129 #define TRANSPARENCY_ONLY 0x00000040
130 #define NO_TRANSPARENCY 0x00000080
131 #define TRANSPARENCY_GXCOPY_ONLY 0x00000100
133 /* bit order restrictions */
134 #define BIT_ORDER_IN_BYTE_MSBFIRST 0x00000200
135 #define BIT_ORDER_IN_BYTE_LSBFIRST 0x00000000
137 /* transfer base restriction */
138 #define CPU_TRANSFER_BASE_FIXED 0x00000400
140 /* skipleft restrictions */
141 #define LEFT_EDGE_CLIPPING 0x00000800
142 #define LEFT_EDGE_CLIPPING_NEGATIVE_X 0x00001000
145 #define CPU_TRANSFER_PAD_DWORD 0x00000000
146 #define CPU_TRANSFER_PAD_QWORD 0x00004000
147 #define SCANLINE_PAD_DWORD 0x00000000
149 #define SYNC_AFTER_COLOR_EXPAND 0x00008000
150 #define SYNC_AFTER_IMAGE_WRITE SYNC_AFTER_COLOR_EXPAND
152 /* hardware pattern */
153 #define HARDWARE_PATTERN_PROGRAMMED_BITS 0x00010000
154 #define HARDWARE_PATTERN_PROGRAMMED_ORIGIN 0x00020000
155 #define HARDWARE_PATTERN_SCREEN_ORIGIN 0x00200000
158 #define ONLY_TWO_BITBLT_DIRECTIONS 0x00400000
159 #define ONLY_LEFT_TO_RIGHT_BITBLT 0x00800000
162 #define LINE_PATTERN_LSBFIRST_MSBJUSTIFIED 0x00800000
163 #define LINE_PATTERN_LSBFIRST_LSBJUSTIFIED 0x00400000
164 #define LINE_PATTERN_MSBFIRST_MSBJUSTIFIED 0x00200000
165 #define LINE_PATTERN_MSBFIRST_LSBJUSTIFIED 0x00100000
166 #define LINE_PATTERN_POWER_OF_2_ONLY 0x00080000
167 #define LINE_LIMIT_COORDS 0x00040000
170 #define HARDWARE_CLIP_SCREEN_TO_SCREEN_COLOR_EXPAND 0x00400000
171 #define HARDWARE_CLIP_SCREEN_TO_SCREEN_COPY 0x00200000
172 #define HARDWARE_CLIP_MONO_8x8_FILL 0x00100000
173 #define HARDWARE_CLIP_COLOR_8x8_FILL 0x00080000
174 #define HARDWARE_CLIP_SOLID_FILL 0x00040000
175 #define HARDWARE_CLIP_DASHED_LINE 0x00020000
176 #define HARDWARE_CLIP_SOLID_LINE 0x00010000
178 #define HARDWARE_CLIP_LINE 0x00000000
181 /* image write flags */
182 #define CONVERT_32BPP_TO_24BPP 0x00010000
184 /* pixmap cache flags */
185 #define CACHE_MONO_8x8 0x00000001
186 #define CACHE_COLOR_8x8 0x00000002
187 #define DO_NOT_BLIT_STIPPLES 0x00000004
188 #define DO_NOT_TILE_MONO_DATA 0x00000008
189 #define DO_NOT_TILE_COLOR_DATA 0x00000010
194 #define DEGREES_180 2
195 #define DEGREES_270 3
201 #define XAA_RENDER_POWER_OF_2_TILE_ONLY 0x00000008
202 #define XAA_RENDER_NO_SRC_ALPHA 0x00000004
203 #define XAA_RENDER_IMPRECISE_ONLY 0x00000002
204 #define XAA_RENDER_NO_TILE 0x00000001
206 #define XAA_RENDER_REPEAT 0x00000001
208 typedef void (* ValidateGCProcPtr)(
210 unsigned long changes,
222 } NonTEGlyphInfo, *NonTEGlyphPtr;
232 unsigned long serialNumber;
240 } XAACacheInfoRec, *XAACacheInfoPtr;
243 typedef struct _PixmapLink {
245 struct _PixmapLink *next;
247 } PixmapLink, *PixmapLinkPtr;
249 typedef struct _XAAInfoRec {
257 /* Restore Accel State is a driver callback that is used
258 * when another screen on the same device has been active.
259 * This allows multihead on a single device to work.
260 * If The entityProp has IS_SHARED_ACCEL defined then this
261 * function is required.
264 void (*RestoreAccelState)(
268 /***************** Low Level *****************/
271 void (*SetupForScreenToScreenCopy)(
275 unsigned int planemask,
278 int ScreenToScreenCopyFlags;
280 void (*SubsequentScreenToScreenCopy)(
289 void (*SetupForSolidFill)(
293 unsigned int planemask
297 void (*SubsequentSolidFillRect)(
299 int x, int y, int w, int h
302 void (*SubsequentSolidFillTrap)(
305 int left, int dxL, int dyL, int eL,
306 int right, int dxR, int dyR, int eR
312 void (*SetupForSolidLine)(
316 unsigned int planemask
320 void (*SubsequentSolidTwoPointLine)(
322 int xa, int ya, int xb, int yb, int flags
325 void (*SubsequentSolidBresenhamLine)(
327 int x, int y, int absmaj, int absmin, int err, int len, int octant
329 int SolidBresenhamLineErrorTermBits;
331 void (*SubsequentSolidHorVertLine)(
333 int x, int y, int len, int dir
338 void (*SetupForDashedLine)(
342 unsigned int planemask,
344 unsigned char *pattern
347 int DashPatternMaxLength;
349 void (*SubsequentDashedTwoPointLine)(
351 int xa, int ya, int xb, int yb, int flags, int phase
354 void (*SubsequentDashedBresenhamLine)(
356 int x, int y, int absmaj, int absmin, int err, int len, int flags,
359 int DashedBresenhamLineErrorTermBits;
363 void (*SetClippingRectangle) (
365 int left, int top, int right, int bottom
369 void (*DisableClipping)(ScrnInfoPtr pScrn);
371 /* 8x8 mono pattern fills */
372 void (*SetupForMono8x8PatternFill)(
377 unsigned int planemask
379 int Mono8x8PatternFillFlags;
381 void (*SubsequentMono8x8PatternFillRect)(
384 int x, int y, int w, int h
387 void (*SubsequentMono8x8PatternFillTrap)(
391 int left, int dxL, int dyL, int eL,
392 int right, int dxR, int dyR, int eR
395 /* 8x8 color pattern fills */
397 void (*SetupForColor8x8PatternFill)(
401 unsigned int planemask,
402 int transparency_color
404 int Color8x8PatternFillFlags;
406 void (*SubsequentColor8x8PatternFillRect)(
409 int x, int y, int w, int h
412 void (*SubsequentColor8x8PatternFillTrap)(
416 int left, int dxL, int dyL, int eL,
417 int right, int dxR, int dyR, int eR
421 /* Color expansion */
423 void (*SetupForCPUToScreenColorExpandFill)(
427 unsigned int planemask
429 int CPUToScreenColorExpandFillFlags;
431 void (*SubsequentCPUToScreenColorExpandFill)(
433 int x, int y, int w, int h,
437 unsigned char *ColorExpandBase;
438 int ColorExpandRange;
441 /* Scanline color expansion */
443 void (*SetupForScanlineCPUToScreenColorExpandFill)(
447 unsigned int planemask
449 int ScanlineCPUToScreenColorExpandFillFlags;
451 void (*SubsequentScanlineCPUToScreenColorExpandFill)(
453 int x, int y, int w, int h,
457 void (*SubsequentColorExpandScanline)(
462 int NumScanlineColorExpandBuffers;
463 unsigned char **ScanlineColorExpandBuffers;
465 /* Screen to screen color expansion */
467 void (*SetupForScreenToScreenColorExpandFill) (
471 unsigned int planemask
473 int ScreenToScreenColorExpandFillFlags;
475 void (*SubsequentScreenToScreenColorExpandFill)(
477 int x, int y, int w, int h,
478 int srcx, int srcy, int skipleft
482 /* Image transfers */
484 void (*SetupForImageWrite)(
487 unsigned int planemask,
488 int transparency_color,
493 void (*SubsequentImageWriteRect)(
495 int x, int y, int w, int h,
498 unsigned char *ImageWriteBase;
501 /* Scanline Image transfers */
503 void (*SetupForScanlineImageWrite)(
506 unsigned int planemask,
507 int transparency_color,
510 int ScanlineImageWriteFlags;
512 void (*SubsequentScanlineImageWriteRect)(
514 int x, int y, int w, int h,
518 void (*SubsequentImageWriteScanline) (
523 int NumScanlineImageWriteBuffers;
524 unsigned char **ScanlineImageWriteBuffers;
526 /* Image Reads - OBSOLETE AND NOT USED */
528 void (*SetupForImageRead) (
534 unsigned char *ImageReadBase;
537 void (*SubsequentImageReadRect)(
539 int x, int y, int w, int h
543 /***************** Mid Level *****************/
544 void (*ScreenToScreenBitBlt)(
551 unsigned int planmask
553 int ScreenToScreenBitBltFlags;
555 void (*WriteBitmap) (
557 int x, int y, int w, int h,
563 unsigned int planemask
565 int WriteBitmapFlags;
567 void (*FillSolidRects)(
570 unsigned int planemask,
574 int FillSolidRectsFlags;
576 void (*FillMono8x8PatternRects)(
578 int fg, int bg, int rop,
579 unsigned int planemask,
585 int FillMono8x8PatternRectsFlags;
587 void (*FillColor8x8PatternRects)(
590 unsigned int planemask,
594 XAACacheInfoPtr pCache
596 int FillColor8x8PatternRectsFlags;
598 void (*FillCacheBltRects)(
601 unsigned int planemask,
605 XAACacheInfoPtr pCache
607 int FillCacheBltRectsFlags;
609 void (*FillColorExpandRects)(
611 int fg, int bg, int rop,
612 unsigned int planemask,
618 int FillColorExpandRectsFlags;
620 void (*FillCacheExpandRects)(
622 int fg, int bg, int rop,
623 unsigned int planemask,
629 int FillCacheExpandRectsFlags;
631 void (*FillImageWriteRects)(
634 unsigned int planemask,
640 int FillImageWriteRectsFlags;
643 void (*FillSolidSpans)(
646 unsigned int planemask,
652 int FillSolidSpansFlags;
654 void (*FillMono8x8PatternSpans)(
656 int fg, int bg, int rop,
657 unsigned int planemask,
665 int FillMono8x8PatternSpansFlags;
667 void (*FillColor8x8PatternSpans)(
670 unsigned int planemask,
675 XAACacheInfoPtr pCache,
678 int FillColor8x8PatternSpansFlags;
680 void (*FillCacheBltSpans)(
683 unsigned int planemask,
688 XAACacheInfoPtr pCache,
691 int FillCacheBltSpansFlags;
693 void (*FillColorExpandSpans)(
695 int fg, int bg, int rop,
696 unsigned int planemask,
704 int FillColorExpandSpansFlags;
706 void (*FillCacheExpandSpans)(
708 int fg, int bg, int rop,
709 unsigned int planemask,
717 int FillCacheExpandSpansFlags;
719 void (*TEGlyphRenderer)(
721 int x, int y, int w, int h, int skipleft, int startline,
722 unsigned int **glyphs, int glyphWidth,
723 int fg, int bg, int rop, unsigned planemask
725 int TEGlyphRendererFlags;
727 void (*NonTEGlyphRenderer)(
730 NonTEGlyphPtr glyphs,
733 unsigned int planemask
735 int NonTEGlyphRendererFlags;
737 void (*WritePixmap) (
739 int x, int y, int w, int h,
743 unsigned int planemask,
744 int transparency_color,
747 int WritePixmapFlags;
751 int x, int y, int w, int h,
758 /***************** GC Level *****************/
759 RegionPtr (*CopyArea)(
760 DrawablePtr pSrcDrawable,
761 DrawablePtr pDstDrawable,
764 int width, int height,
769 RegionPtr (*CopyPlane)(
774 int width, int height,
776 unsigned long bitPlane
780 void (*PushPixelsSolid) (
783 DrawablePtr pDrawable,
791 void (*PolyFillRectSolid)(
795 xRectangle *prectInit
797 int PolyFillRectSolidFlags;
799 void (*PolyFillRectStippled)(
803 xRectangle *prectInit
805 int PolyFillRectStippledFlags;
807 void (*PolyFillRectOpaqueStippled)(
811 xRectangle *prectInit
813 int PolyFillRectOpaqueStippledFlags;
815 void (*PolyFillRectTiled)(
819 xRectangle *prectInit
821 int PolyFillRectTiledFlags;
825 void (*FillSpansSolid)(
833 int FillSpansSolidFlags;
835 void (*FillSpansStippled)(
843 int FillSpansStippledFlags;
845 void (*FillSpansOpaqueStippled)(
853 int FillSpansOpaqueStippledFlags;
855 void (*FillSpansTiled)(
863 int FillSpansTiledFlags;
872 int PolyText8TEFlags;
874 int (*PolyText16TE) (
879 unsigned short *chars
881 int PolyText16TEFlags;
883 void (*ImageText8TE) (
890 int ImageText8TEFlags;
892 void (*ImageText16TE) (
897 unsigned short *chars
899 int ImageText16TEFlags;
901 void (*ImageGlyphBltTE) (
902 DrawablePtr pDrawable,
904 int xInit, int yInit,
909 int ImageGlyphBltTEFlags;
911 void (*PolyGlyphBltTE) (
912 DrawablePtr pDrawable,
914 int xInit, int yInit,
919 int PolyGlyphBltTEFlags;
921 int (*PolyText8NonTE) (
928 int PolyText8NonTEFlags;
930 int (*PolyText16NonTE) (
935 unsigned short *chars
937 int PolyText16NonTEFlags;
939 void (*ImageText8NonTE) (
946 int ImageText8NonTEFlags;
948 void (*ImageText16NonTE) (
953 unsigned short *chars
955 int ImageText16NonTEFlags;
957 void (*ImageGlyphBltNonTE) (
958 DrawablePtr pDrawable,
960 int xInit, int yInit,
965 int ImageGlyphBltNonTEFlags;
967 void (*PolyGlyphBltNonTE) (
968 DrawablePtr pDrawable,
970 int xInit, int yInit,
975 int PolyGlyphBltNonTEFlags;
977 void (*PolyRectangleThinSolid)(
978 DrawablePtr pDrawable,
981 xRectangle *pRectsInit
983 int PolyRectangleThinSolidFlags;
985 void (*PolylinesWideSolid)(
986 DrawablePtr pDrawable,
992 int PolylinesWideSolidFlags;
994 void (*PolylinesThinSolid)(
995 DrawablePtr pDrawable,
1001 int PolylinesThinSolidFlags;
1003 void (*PolySegmentThinSolid)(
1004 DrawablePtr pDrawable,
1009 int PolySegmentThinSolidFlags;
1011 void (*PolylinesThinDashed)(
1012 DrawablePtr pDrawable,
1018 int PolylinesThinDashedFlags;
1020 void (*PolySegmentThinDashed)(
1021 DrawablePtr pDrawable,
1026 int PolySegmentThinDashedFlags;
1028 void (*FillPolygonSolid)(
1029 DrawablePtr pDrawable,
1036 int FillPolygonSolidFlags;
1038 void (*FillPolygonStippled)(
1039 DrawablePtr pDrawable,
1046 int FillPolygonStippledFlags;
1048 void (*FillPolygonOpaqueStippled)(
1049 DrawablePtr pDrawable,
1056 int FillPolygonOpaqueStippledFlags;
1058 void (*FillPolygonTiled)(
1059 DrawablePtr pDrawable,
1066 int FillPolygonTiledFlags;
1068 void (*PolyFillArcSolid)(
1074 int PolyFillArcSolidFlags;
1090 /* Validation masks */
1092 unsigned long FillSpansMask;
1093 ValidateGCProcPtr ValidateFillSpans;
1094 unsigned long SetSpansMask;
1095 ValidateGCProcPtr ValidateSetSpans;
1096 unsigned long PutImageMask;
1097 ValidateGCProcPtr ValidatePutImage;
1098 unsigned long CopyAreaMask;
1099 ValidateGCProcPtr ValidateCopyArea;
1100 unsigned long CopyPlaneMask;
1101 ValidateGCProcPtr ValidateCopyPlane;
1102 unsigned long PolyPointMask;
1103 ValidateGCProcPtr ValidatePolyPoint;
1104 unsigned long PolylinesMask;
1105 ValidateGCProcPtr ValidatePolylines;
1106 unsigned long PolySegmentMask;
1107 ValidateGCProcPtr ValidatePolySegment;
1108 unsigned long PolyRectangleMask;
1109 ValidateGCProcPtr ValidatePolyRectangle;
1110 unsigned long PolyArcMask;
1111 ValidateGCProcPtr ValidatePolyArc;
1112 unsigned long FillPolygonMask;
1113 ValidateGCProcPtr ValidateFillPolygon;
1114 unsigned long PolyFillRectMask;
1115 ValidateGCProcPtr ValidatePolyFillRect;
1116 unsigned long PolyFillArcMask;
1117 ValidateGCProcPtr ValidatePolyFillArc;
1118 unsigned long PolyText8Mask;
1119 ValidateGCProcPtr ValidatePolyText8;
1120 unsigned long PolyText16Mask;
1121 ValidateGCProcPtr ValidatePolyText16;
1122 unsigned long ImageText8Mask;
1123 ValidateGCProcPtr ValidateImageText8;
1124 unsigned long ImageText16Mask;
1125 ValidateGCProcPtr ValidateImageText16;
1126 unsigned long PolyGlyphBltMask;
1127 ValidateGCProcPtr ValidatePolyGlyphBlt;
1128 unsigned long ImageGlyphBltMask;
1129 ValidateGCProcPtr ValidateImageGlyphBlt;
1130 unsigned long PushPixelsMask;
1131 ValidateGCProcPtr ValidatePushPixels;
1133 void (*ComputeDash)(GCPtr pGC);
1137 int PixmapCacheFlags;
1138 Bool UsingPixmapCache;
1142 void (*InitPixmapCache)(
1147 void (*ClosePixmapCache)(
1151 int (*StippledFillChooser)(GCPtr pGC);
1152 int (*OpaqueStippledFillChooser)(GCPtr pGC);
1153 int (*TiledFillChooser)(GCPtr pGC);
1155 int CachePixelGranularity;
1156 int MaxCacheableTileWidth;
1157 int MaxCacheableTileHeight;
1158 int MaxCacheableStippleWidth;
1159 int MaxCacheableStippleHeight;
1161 XAACacheInfoPtr (*CacheTile)(
1162 ScrnInfoPtr Scrn, PixmapPtr pPix
1164 XAACacheInfoPtr (*CacheStipple)(
1165 ScrnInfoPtr Scrn, PixmapPtr pPix,
1168 XAACacheInfoPtr (*CacheMonoStipple)(
1169 ScrnInfoPtr Scrn, PixmapPtr pPix
1171 XAACacheInfoPtr (*CacheMono8x8Pattern)(
1172 ScrnInfoPtr Scrn, int pat0, int pat1
1174 XAACacheInfoPtr (*CacheColor8x8Pattern)(
1175 ScrnInfoPtr Scrn, PixmapPtr pPix,
1180 int MonoPatternPitch;
1181 int CacheWidthMono8x8Pattern;
1182 int CacheHeightMono8x8Pattern;
1184 int ColorPatternPitch;
1185 int CacheWidthColor8x8Pattern;
1186 int CacheHeightColor8x8Pattern;
1188 int CacheColorExpandDensity;
1190 void (*WriteBitmapToCache) (
1192 int x, int y, int w, int h,
1197 void (*WritePixmapToCache) (
1199 int x, int y, int w, int h,
1204 void (*WriteMono8x8PatternToCache)(
1206 XAACacheInfoPtr pCache
1208 void (*WriteColor8x8PatternToCache)(
1211 XAACacheInfoPtr pCache
1214 char* PixmapCachePrivate;
1220 unsigned char *PreAllocMem;
1222 CharInfoPtr CharInfo[255];
1223 NonTEGlyphInfo GlyphInfo[255];
1225 unsigned int FullPlanemask; /* deprecated */
1227 PixmapLinkPtr OffscreenPixmaps;
1229 int maxOffPixHeight;
1231 XAACacheInfoRec ScratchCacheInfoRec;
1239 /* These can be supplied to override the defaults */
1241 GetImageProcPtr GetImage;
1242 GetSpansProcPtr GetSpans;
1243 CopyWindowProcPtr CopyWindow;
1244 BackingStoreSaveAreasProcPtr SaveAreas;
1245 BackingStoreRestoreAreasProcPtr RestoreAreas;
1247 unsigned int offscreenDepths;
1248 Bool offscreenDepthsInitialized;
1250 CARD32 FullPlanemasks[32];
1271 PictFormatPtr maskFormat,
1279 /* The old SetupForCPUToScreenAlphaTexture function is no longer used because
1280 * it doesn't pass in enough information to write a conforming
1281 * implementation. See SetupForCPUToScreenAlphaTexture2.
1283 Bool (*SetupForCPUToScreenAlphaTexture) (
1297 void (*SubsequentCPUToScreenAlphaTexture) (
1306 int CPUToScreenAlphaTextureFlags;
1307 CARD32 * CPUToScreenAlphaTextureFormats;
1309 /* The old SetupForCPUToScreenTexture function is no longer used because
1310 * it doesn't pass in enough information to write a conforming
1311 * implementation. See SetupForCPUToScreenTexture2.
1313 Bool (*SetupForCPUToScreenTexture) (
1323 void (*SubsequentCPUToScreenTexture) (
1332 int CPUToScreenTextureFlags;
1333 CARD32 * CPUToScreenTextureFormats;
1336 /* these were added for 4.3.0 */
1337 BoxRec SolidLineLimits;
1338 BoxRec DashedLineLimits;
1340 /* These were added for X.Org 6.8.0 */
1341 Bool (*SetupForCPUToScreenAlphaTexture2) (
1356 CARD32 *CPUToScreenAlphaTextureDstFormats;
1358 Bool (*SetupForCPUToScreenTexture2) (
1369 CARD32 *CPUToScreenTextureDstFormats;
1370 } XAAInfoRec, *XAAInfoRecPtr;
1372 #define SET_SYNC_FLAG(infoRec) (infoRec)->NeedToSync = TRUE
1375 extern _X_EXPORT Bool
1378 XAAInfoRecPtr infoRec
1381 extern _X_EXPORT XAAInfoRecPtr XAACreateInfoRec(void);
1383 extern _X_EXPORT void
1385 XAAInfoRecPtr infoRec
1388 typedef void (*DepthChangeFuncPtr) (ScrnInfoPtr pScrn, int depth);
1390 extern _X_EXPORT Bool
1391 XAAInitDualFramebufferOverlay(
1393 DepthChangeFuncPtr callback