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