7 ******** OPERATION SPECIFIC FLAGS *********
9 **** solid/dashed line flags ****
12 23 LINE_PATTERN_LSBFIRST_MSBJUSTIFIED
13 22 LINE_PATTERN_LSBFIRST_LSBJUSTIFIED
14 21 LINE_PATTERN_MSBFIRST_MSBJUSTIFIED
15 20 LINE_PATTERN_MSBFIRST_LSBJUSTIFIED
16 19 LINE_PATTERN_POWER_OF_2_ONLY
22 **** screen to screen copy flags ****
25 23 ONLY_LEFT_TO_RIGHT_BITBLT
26 22 ONLY_TWO_BITBLT_DIRECTIONS
35 **** clipping flags ****
39 22 HARDWARE_CLIP_SCREEN_TO_SCREEN_COLOR_EXPAND
40 21 HARDWARE_CLIP_SCREEN_TO_SCREEN_COPY
41 20 HARDWARE_CLIP_MONO_8x8_FILL
42 19 HARDWARE_CLIP_COLOR_8x8_FILL
43 18 HARDWARE_CLIP_SOLID_FILL
44 17 HARDWARE_CLIP_DASHED_LINE
45 16 HARDWARE_CLIP_SOLID_LINE
49 **** hardware pattern flags ****
54 21 HARDWARE_PATTERN_SCREEN_ORIGIN
58 17 HARDWARE_PATTERN_PROGRAMMED_ORIGIN
59 16 HARDWARE_PATTERN_PROGRAMMED_BITS
62 **** write pixmap flags ****
72 16 CONVERT_32BPP_TO_24BPP
76 ******** GENERIC FLAGS *********
79 15 SYNC_AFTER_COLOR_EXPAND
80 14 CPU_TRANSFER_PAD_QWORD
82 12 LEFT_EDGE_CLIPPING_NEGATIVE_X
84 10 CPU_TRANSFER_BASE_FIXED
85 9 BIT_ORDER_IN_BYTE_MSBFIRST
86 8 TRANSPARENCY_GXCOPY_ONLY
101 #include "gcstruct.h"
102 #include "pixmapstr.h"
104 #include "regionstr.h"
105 #include "xf86fbman.h"
108 #include "picturestr.h"
112 #define PIXMAP_CACHE 0x00000001
113 #define MICROSOFT_ZERO_LINE_BIAS 0x00000002
114 #define OFFSCREEN_PIXMAPS 0x00000004
115 #define LINEAR_FRAMEBUFFER 0x00000008
118 /* GC fg, bg, and planemask restrictions */
119 #define GXCOPY_ONLY 0x00000001
120 #define NO_GXCOPY 0x00000002
121 #define NO_PLANEMASK 0x00000004
122 #define RGB_EQUAL 0x00000008
123 #define TRIPLE_BITS_24BPP 0x00000010
124 #define ROP_NEEDS_SOURCE 0x00000020
126 /* transparency restrictions */
127 #define TRANSPARENCY_ONLY 0x00000040
128 #define NO_TRANSPARENCY 0x00000080
129 #define TRANSPARENCY_GXCOPY_ONLY 0x00000100
131 /* bit order restrictions */
132 #define BIT_ORDER_IN_BYTE_MSBFIRST 0x00000200
133 #define BIT_ORDER_IN_BYTE_LSBFIRST 0x00000000
135 /* transfer base restriction */
136 #define CPU_TRANSFER_BASE_FIXED 0x00000400
138 /* skipleft restrictions */
139 #define LEFT_EDGE_CLIPPING 0x00000800
140 #define LEFT_EDGE_CLIPPING_NEGATIVE_X 0x00001000
143 #define CPU_TRANSFER_PAD_DWORD 0x00000000
144 #define CPU_TRANSFER_PAD_QWORD 0x00004000
145 #define SCANLINE_PAD_DWORD 0x00000000
147 #define SYNC_AFTER_COLOR_EXPAND 0x00008000
148 #define SYNC_AFTER_IMAGE_WRITE SYNC_AFTER_COLOR_EXPAND
150 /* hardware pattern */
151 #define HARDWARE_PATTERN_PROGRAMMED_BITS 0x00010000
152 #define HARDWARE_PATTERN_PROGRAMMED_ORIGIN 0x00020000
153 #define HARDWARE_PATTERN_SCREEN_ORIGIN 0x00200000
156 #define ONLY_TWO_BITBLT_DIRECTIONS 0x00400000
157 #define ONLY_LEFT_TO_RIGHT_BITBLT 0x00800000
160 #define LINE_PATTERN_LSBFIRST_MSBJUSTIFIED 0x00800000
161 #define LINE_PATTERN_LSBFIRST_LSBJUSTIFIED 0x00400000
162 #define LINE_PATTERN_MSBFIRST_MSBJUSTIFIED 0x00200000
163 #define LINE_PATTERN_MSBFIRST_LSBJUSTIFIED 0x00100000
164 #define LINE_PATTERN_POWER_OF_2_ONLY 0x00080000
165 #define LINE_LIMIT_COORDS 0x00040000
168 #define HARDWARE_CLIP_SCREEN_TO_SCREEN_COLOR_EXPAND 0x00400000
169 #define HARDWARE_CLIP_SCREEN_TO_SCREEN_COPY 0x00200000
170 #define HARDWARE_CLIP_MONO_8x8_FILL 0x00100000
171 #define HARDWARE_CLIP_COLOR_8x8_FILL 0x00080000
172 #define HARDWARE_CLIP_SOLID_FILL 0x00040000
173 #define HARDWARE_CLIP_DASHED_LINE 0x00020000
174 #define HARDWARE_CLIP_SOLID_LINE 0x00010000
176 #define HARDWARE_CLIP_LINE 0x00000000
179 /* image write flags */
180 #define CONVERT_32BPP_TO_24BPP 0x00010000
182 /* pixmap cache flags */
183 #define CACHE_MONO_8x8 0x00000001
184 #define CACHE_COLOR_8x8 0x00000002
185 #define DO_NOT_BLIT_STIPPLES 0x00000004
186 #define DO_NOT_TILE_MONO_DATA 0x00000008
187 #define DO_NOT_TILE_COLOR_DATA 0x00000010
192 #define DEGREES_180 2
193 #define DEGREES_270 3
199 #define XAA_RENDER_POWER_OF_2_TILE_ONLY 0x00000008
200 #define XAA_RENDER_NO_SRC_ALPHA 0x00000004
201 #define XAA_RENDER_IMPRECISE_ONLY 0x00000002
202 #define XAA_RENDER_NO_TILE 0x00000001
204 #define XAA_RENDER_REPEAT 0x00000001
206 typedef void (* ValidateGCProcPtr)(
208 unsigned long changes,
220 } NonTEGlyphInfo, *NonTEGlyphPtr;
230 unsigned long serialNumber;
238 } XAACacheInfoRec, *XAACacheInfoPtr;
241 typedef struct _PixmapLink {
243 struct _PixmapLink *next;
245 } PixmapLink, *PixmapLinkPtr;
247 typedef struct _XAAInfoRec {
255 /* Restore Accel State is a driver callback that is used
256 * when another screen on the same device has been active.
257 * This allows multihead on a single device to work.
258 * If The entityProp has IS_SHARED_ACCEL defined then this
259 * function is required.
262 void (*RestoreAccelState)(
266 /***************** Low Level *****************/
269 void (*SetupForScreenToScreenCopy)(
273 unsigned int planemask,
276 int ScreenToScreenCopyFlags;
278 void (*SubsequentScreenToScreenCopy)(
287 void (*SetupForSolidFill)(
291 unsigned int planemask
295 void (*SubsequentSolidFillRect)(
297 int x, int y, int w, int h
300 void (*SubsequentSolidFillTrap)(
303 int left, int dxL, int dyL, int eL,
304 int right, int dxR, int dyR, int eR
310 void (*SetupForSolidLine)(
314 unsigned int planemask
318 void (*SubsequentSolidTwoPointLine)(
320 int xa, int ya, int xb, int yb, int flags
323 void (*SubsequentSolidBresenhamLine)(
325 int x, int y, int absmaj, int absmin, int err, int len, int octant
327 int SolidBresenhamLineErrorTermBits;
329 void (*SubsequentSolidHorVertLine)(
331 int x, int y, int len, int dir
336 void (*SetupForDashedLine)(
340 unsigned int planemask,
342 unsigned char *pattern
345 int DashPatternMaxLength;
347 void (*SubsequentDashedTwoPointLine)(
349 int xa, int ya, int xb, int yb, int flags, int phase
352 void (*SubsequentDashedBresenhamLine)(
354 int x, int y, int absmaj, int absmin, int err, int len, int flags,
357 int DashedBresenhamLineErrorTermBits;
361 void (*SetClippingRectangle) (
363 int left, int top, int right, int bottom
367 void (*DisableClipping)(ScrnInfoPtr pScrn);
369 /* 8x8 mono pattern fills */
370 void (*SetupForMono8x8PatternFill)(
375 unsigned int planemask
377 int Mono8x8PatternFillFlags;
379 void (*SubsequentMono8x8PatternFillRect)(
382 int x, int y, int w, int h
385 void (*SubsequentMono8x8PatternFillTrap)(
389 int left, int dxL, int dyL, int eL,
390 int right, int dxR, int dyR, int eR
393 /* 8x8 color pattern fills */
395 void (*SetupForColor8x8PatternFill)(
399 unsigned int planemask,
400 int transparency_color
402 int Color8x8PatternFillFlags;
404 void (*SubsequentColor8x8PatternFillRect)(
407 int x, int y, int w, int h
410 void (*SubsequentColor8x8PatternFillTrap)(
414 int left, int dxL, int dyL, int eL,
415 int right, int dxR, int dyR, int eR
419 /* Color expansion */
421 void (*SetupForCPUToScreenColorExpandFill)(
425 unsigned int planemask
427 int CPUToScreenColorExpandFillFlags;
429 void (*SubsequentCPUToScreenColorExpandFill)(
431 int x, int y, int w, int h,
435 unsigned char *ColorExpandBase;
436 int ColorExpandRange;
439 /* Scanline color expansion */
441 void (*SetupForScanlineCPUToScreenColorExpandFill)(
445 unsigned int planemask
447 int ScanlineCPUToScreenColorExpandFillFlags;
449 void (*SubsequentScanlineCPUToScreenColorExpandFill)(
451 int x, int y, int w, int h,
455 void (*SubsequentColorExpandScanline)(
460 int NumScanlineColorExpandBuffers;
461 unsigned char **ScanlineColorExpandBuffers;
463 /* Screen to screen color expansion */
465 void (*SetupForScreenToScreenColorExpandFill) (
469 unsigned int planemask
471 int ScreenToScreenColorExpandFillFlags;
473 void (*SubsequentScreenToScreenColorExpandFill)(
475 int x, int y, int w, int h,
476 int srcx, int srcy, int skipleft
480 /* Image transfers */
482 void (*SetupForImageWrite)(
485 unsigned int planemask,
486 int transparency_color,
491 void (*SubsequentImageWriteRect)(
493 int x, int y, int w, int h,
496 unsigned char *ImageWriteBase;
499 /* Scanline Image transfers */
501 void (*SetupForScanlineImageWrite)(
504 unsigned int planemask,
505 int transparency_color,
508 int ScanlineImageWriteFlags;
510 void (*SubsequentScanlineImageWriteRect)(
512 int x, int y, int w, int h,
516 void (*SubsequentImageWriteScanline) (
521 int NumScanlineImageWriteBuffers;
522 unsigned char **ScanlineImageWriteBuffers;
524 /* Image Reads - OBSOLETE AND NOT USED */
526 void (*SetupForImageRead) (
532 unsigned char *ImageReadBase;
535 void (*SubsequentImageReadRect)(
537 int x, int y, int w, int h
541 /***************** Mid Level *****************/
542 void (*ScreenToScreenBitBlt)(
549 unsigned int planmask
551 int ScreenToScreenBitBltFlags;
553 void (*WriteBitmap) (
555 int x, int y, int w, int h,
561 unsigned int planemask
563 int WriteBitmapFlags;
565 void (*FillSolidRects)(
568 unsigned int planemask,
572 int FillSolidRectsFlags;
574 void (*FillMono8x8PatternRects)(
576 int fg, int bg, int rop,
577 unsigned int planemask,
583 int FillMono8x8PatternRectsFlags;
585 void (*FillColor8x8PatternRects)(
588 unsigned int planemask,
592 XAACacheInfoPtr pCache
594 int FillColor8x8PatternRectsFlags;
596 void (*FillCacheBltRects)(
599 unsigned int planemask,
603 XAACacheInfoPtr pCache
605 int FillCacheBltRectsFlags;
607 void (*FillColorExpandRects)(
609 int fg, int bg, int rop,
610 unsigned int planemask,
616 int FillColorExpandRectsFlags;
618 void (*FillCacheExpandRects)(
620 int fg, int bg, int rop,
621 unsigned int planemask,
627 int FillCacheExpandRectsFlags;
629 void (*FillImageWriteRects)(
632 unsigned int planemask,
638 int FillImageWriteRectsFlags;
641 void (*FillSolidSpans)(
644 unsigned int planemask,
650 int FillSolidSpansFlags;
652 void (*FillMono8x8PatternSpans)(
654 int fg, int bg, int rop,
655 unsigned int planemask,
663 int FillMono8x8PatternSpansFlags;
665 void (*FillColor8x8PatternSpans)(
668 unsigned int planemask,
673 XAACacheInfoPtr pCache,
676 int FillColor8x8PatternSpansFlags;
678 void (*FillCacheBltSpans)(
681 unsigned int planemask,
686 XAACacheInfoPtr pCache,
689 int FillCacheBltSpansFlags;
691 void (*FillColorExpandSpans)(
693 int fg, int bg, int rop,
694 unsigned int planemask,
702 int FillColorExpandSpansFlags;
704 void (*FillCacheExpandSpans)(
706 int fg, int bg, int rop,
707 unsigned int planemask,
715 int FillCacheExpandSpansFlags;
717 void (*TEGlyphRenderer)(
719 int x, int y, int w, int h, int skipleft, int startline,
720 unsigned int **glyphs, int glyphWidth,
721 int fg, int bg, int rop, unsigned planemask
723 int TEGlyphRendererFlags;
725 void (*NonTEGlyphRenderer)(
728 NonTEGlyphPtr glyphs,
731 unsigned int planemask
733 int NonTEGlyphRendererFlags;
735 void (*WritePixmap) (
737 int x, int y, int w, int h,
741 unsigned int planemask,
742 int transparency_color,
745 int WritePixmapFlags;
749 int x, int y, int w, int h,
756 /***************** GC Level *****************/
757 RegionPtr (*CopyArea)(
758 DrawablePtr pSrcDrawable,
759 DrawablePtr pDstDrawable,
762 int width, int height,
767 RegionPtr (*CopyPlane)(
772 int width, int height,
774 unsigned long bitPlane
778 void (*PushPixelsSolid) (
781 DrawablePtr pDrawable,
789 void (*PolyFillRectSolid)(
793 xRectangle *prectInit
795 int PolyFillRectSolidFlags;
797 void (*PolyFillRectStippled)(
801 xRectangle *prectInit
803 int PolyFillRectStippledFlags;
805 void (*PolyFillRectOpaqueStippled)(
809 xRectangle *prectInit
811 int PolyFillRectOpaqueStippledFlags;
813 void (*PolyFillRectTiled)(
817 xRectangle *prectInit
819 int PolyFillRectTiledFlags;
823 void (*FillSpansSolid)(
831 int FillSpansSolidFlags;
833 void (*FillSpansStippled)(
841 int FillSpansStippledFlags;
843 void (*FillSpansOpaqueStippled)(
851 int FillSpansOpaqueStippledFlags;
853 void (*FillSpansTiled)(
861 int FillSpansTiledFlags;
870 int PolyText8TEFlags;
872 int (*PolyText16TE) (
877 unsigned short *chars
879 int PolyText16TEFlags;
881 void (*ImageText8TE) (
888 int ImageText8TEFlags;
890 void (*ImageText16TE) (
895 unsigned short *chars
897 int ImageText16TEFlags;
899 void (*ImageGlyphBltTE) (
900 DrawablePtr pDrawable,
902 int xInit, int yInit,
907 int ImageGlyphBltTEFlags;
909 void (*PolyGlyphBltTE) (
910 DrawablePtr pDrawable,
912 int xInit, int yInit,
917 int PolyGlyphBltTEFlags;
919 int (*PolyText8NonTE) (
926 int PolyText8NonTEFlags;
928 int (*PolyText16NonTE) (
933 unsigned short *chars
935 int PolyText16NonTEFlags;
937 void (*ImageText8NonTE) (
944 int ImageText8NonTEFlags;
946 void (*ImageText16NonTE) (
951 unsigned short *chars
953 int ImageText16NonTEFlags;
955 void (*ImageGlyphBltNonTE) (
956 DrawablePtr pDrawable,
958 int xInit, int yInit,
963 int ImageGlyphBltNonTEFlags;
965 void (*PolyGlyphBltNonTE) (
966 DrawablePtr pDrawable,
968 int xInit, int yInit,
973 int PolyGlyphBltNonTEFlags;
975 void (*PolyRectangleThinSolid)(
976 DrawablePtr pDrawable,
979 xRectangle *pRectsInit
981 int PolyRectangleThinSolidFlags;
983 void (*PolylinesWideSolid)(
984 DrawablePtr pDrawable,
990 int PolylinesWideSolidFlags;
992 void (*PolylinesThinSolid)(
993 DrawablePtr pDrawable,
999 int PolylinesThinSolidFlags;
1001 void (*PolySegmentThinSolid)(
1002 DrawablePtr pDrawable,
1007 int PolySegmentThinSolidFlags;
1009 void (*PolylinesThinDashed)(
1010 DrawablePtr pDrawable,
1016 int PolylinesThinDashedFlags;
1018 void (*PolySegmentThinDashed)(
1019 DrawablePtr pDrawable,
1024 int PolySegmentThinDashedFlags;
1026 void (*FillPolygonSolid)(
1027 DrawablePtr pDrawable,
1034 int FillPolygonSolidFlags;
1036 void (*FillPolygonStippled)(
1037 DrawablePtr pDrawable,
1044 int FillPolygonStippledFlags;
1046 void (*FillPolygonOpaqueStippled)(
1047 DrawablePtr pDrawable,
1054 int FillPolygonOpaqueStippledFlags;
1056 void (*FillPolygonTiled)(
1057 DrawablePtr pDrawable,
1064 int FillPolygonTiledFlags;
1066 void (*PolyFillArcSolid)(
1072 int PolyFillArcSolidFlags;
1088 /* Validation masks */
1090 unsigned long FillSpansMask;
1091 ValidateGCProcPtr ValidateFillSpans;
1092 unsigned long SetSpansMask;
1093 ValidateGCProcPtr ValidateSetSpans;
1094 unsigned long PutImageMask;
1095 ValidateGCProcPtr ValidatePutImage;
1096 unsigned long CopyAreaMask;
1097 ValidateGCProcPtr ValidateCopyArea;
1098 unsigned long CopyPlaneMask;
1099 ValidateGCProcPtr ValidateCopyPlane;
1100 unsigned long PolyPointMask;
1101 ValidateGCProcPtr ValidatePolyPoint;
1102 unsigned long PolylinesMask;
1103 ValidateGCProcPtr ValidatePolylines;
1104 unsigned long PolySegmentMask;
1105 ValidateGCProcPtr ValidatePolySegment;
1106 unsigned long PolyRectangleMask;
1107 ValidateGCProcPtr ValidatePolyRectangle;
1108 unsigned long PolyArcMask;
1109 ValidateGCProcPtr ValidatePolyArc;
1110 unsigned long FillPolygonMask;
1111 ValidateGCProcPtr ValidateFillPolygon;
1112 unsigned long PolyFillRectMask;
1113 ValidateGCProcPtr ValidatePolyFillRect;
1114 unsigned long PolyFillArcMask;
1115 ValidateGCProcPtr ValidatePolyFillArc;
1116 unsigned long PolyText8Mask;
1117 ValidateGCProcPtr ValidatePolyText8;
1118 unsigned long PolyText16Mask;
1119 ValidateGCProcPtr ValidatePolyText16;
1120 unsigned long ImageText8Mask;
1121 ValidateGCProcPtr ValidateImageText8;
1122 unsigned long ImageText16Mask;
1123 ValidateGCProcPtr ValidateImageText16;
1124 unsigned long PolyGlyphBltMask;
1125 ValidateGCProcPtr ValidatePolyGlyphBlt;
1126 unsigned long ImageGlyphBltMask;
1127 ValidateGCProcPtr ValidateImageGlyphBlt;
1128 unsigned long PushPixelsMask;
1129 ValidateGCProcPtr ValidatePushPixels;
1131 void (*ComputeDash)(GCPtr pGC);
1135 int PixmapCacheFlags;
1136 Bool UsingPixmapCache;
1140 void (*InitPixmapCache)(
1145 void (*ClosePixmapCache)(
1149 int (*StippledFillChooser)(GCPtr pGC);
1150 int (*OpaqueStippledFillChooser)(GCPtr pGC);
1151 int (*TiledFillChooser)(GCPtr pGC);
1153 int CachePixelGranularity;
1154 int MaxCacheableTileWidth;
1155 int MaxCacheableTileHeight;
1156 int MaxCacheableStippleWidth;
1157 int MaxCacheableStippleHeight;
1159 XAACacheInfoPtr (*CacheTile)(
1160 ScrnInfoPtr Scrn, PixmapPtr pPix
1162 XAACacheInfoPtr (*CacheStipple)(
1163 ScrnInfoPtr Scrn, PixmapPtr pPix,
1166 XAACacheInfoPtr (*CacheMonoStipple)(
1167 ScrnInfoPtr Scrn, PixmapPtr pPix
1169 XAACacheInfoPtr (*CacheMono8x8Pattern)(
1170 ScrnInfoPtr Scrn, int pat0, int pat1
1172 XAACacheInfoPtr (*CacheColor8x8Pattern)(
1173 ScrnInfoPtr Scrn, PixmapPtr pPix,
1178 int MonoPatternPitch;
1179 int CacheWidthMono8x8Pattern;
1180 int CacheHeightMono8x8Pattern;
1182 int ColorPatternPitch;
1183 int CacheWidthColor8x8Pattern;
1184 int CacheHeightColor8x8Pattern;
1186 int CacheColorExpandDensity;
1188 void (*WriteBitmapToCache) (
1190 int x, int y, int w, int h,
1195 void (*WritePixmapToCache) (
1197 int x, int y, int w, int h,
1202 void (*WriteMono8x8PatternToCache)(
1204 XAACacheInfoPtr pCache
1206 void (*WriteColor8x8PatternToCache)(
1209 XAACacheInfoPtr pCache
1212 char* PixmapCachePrivate;
1218 unsigned char *PreAllocMem;
1220 CharInfoPtr CharInfo[255];
1221 NonTEGlyphInfo GlyphInfo[255];
1223 unsigned int FullPlanemask; /* deprecated */
1225 PixmapLinkPtr OffscreenPixmaps;
1227 int maxOffPixHeight;
1229 XAACacheInfoRec ScratchCacheInfoRec;
1237 /* These can be supplied to override the defaults */
1239 GetImageProcPtr GetImage;
1240 GetSpansProcPtr GetSpans;
1241 PaintWindowBackgroundProcPtr PaintWindowBackground;
1242 PaintWindowBorderProcPtr PaintWindowBorder;
1243 CopyWindowProcPtr CopyWindow;
1244 BackingStoreSaveAreasProcPtr SaveAreas;
1245 BackingStoreRestoreAreasProcPtr RestoreAreas;
1247 unsigned int offscreenDepths;
1248 Bool offscreenDepthsInitialized;
1250 CARD32 FullPlanemasks[32];
1272 PictFormatPtr maskFormat,
1280 /* The old SetupForCPUToScreenAlphaTexture function is no longer used because
1281 * it doesn't pass in enough information to write a conforming
1282 * implementation. See SetupForCPUToScreenAlphaTexture2.
1284 Bool (*SetupForCPUToScreenAlphaTexture) (
1298 void (*SubsequentCPUToScreenAlphaTexture) (
1307 int CPUToScreenAlphaTextureFlags;
1308 CARD32 * CPUToScreenAlphaTextureFormats;
1310 /* The old SetupForCPUToScreenTexture function is no longer used because
1311 * it doesn't pass in enough information to write a conforming
1312 * implementation. See SetupForCPUToScreenTexture2.
1314 Bool (*SetupForCPUToScreenTexture) (
1324 void (*SubsequentCPUToScreenTexture) (
1333 int CPUToScreenTextureFlags;
1334 CARD32 * CPUToScreenTextureFormats;
1339 /* these were added for 4.3.0 */
1340 BoxRec SolidLineLimits;
1341 BoxRec DashedLineLimits;
1344 /* These were added for X.Org 6.8.0 */
1345 Bool (*SetupForCPUToScreenAlphaTexture2) (
1360 CARD32 *CPUToScreenAlphaTextureDstFormats;
1362 Bool (*SetupForCPUToScreenTexture2) (
1373 CARD32 *CPUToScreenTextureDstFormats;
1375 } XAAInfoRec, *XAAInfoRecPtr;
1377 #define SET_SYNC_FLAG(infoRec) (infoRec)->NeedToSync = TRUE
1383 XAAInfoRecPtr infoRec
1386 XAAInfoRecPtr XAACreateInfoRec(void);
1390 XAAInfoRecPtr infoRec
1393 typedef void (*DepthChangeFuncPtr) (ScrnInfoPtr pScrn, int depth);
1396 XAAInitDualFramebufferOverlay(
1398 DepthChangeFuncPtr callback