VirtualBox

source: vbox/trunk/src/VBox/Additions/x11/x11include/xorg-server-1.6.0/xaalocal.h@ 17448

Last change on this file since 17448 was 17448, checked in by vboxsync, 16 years ago

Additions/x11: added a full header set for X.Org server 1.5 and 1.6

  • Property svn:eol-style set to native
File size: 34.5 KB
Line 
1
2#ifndef _XAALOCAL_H
3#define _XAALOCAL_H
4
5/* This file is very unorganized ! */
6
7
8#include "gcstruct.h"
9#include "regionstr.h"
10#include "xf86fbman.h"
11#include "xaa.h"
12#include "mi.h"
13#ifdef RENDER
14#include "picturestr.h"
15#endif
16
17#define GCWhenForced (GCArcMode << 1)
18
19#define DO_COLOR_8x8 0x00000001
20#define DO_MONO_8x8 0x00000002
21#define DO_CACHE_BLT 0x00000003
22#define DO_COLOR_EXPAND 0x00000004
23#define DO_CACHE_EXPAND 0x00000005
24#define DO_IMAGE_WRITE 0x00000006
25#define DO_PIXMAP_COPY 0x00000007
26#define DO_SOLID 0x00000008
27
28
29typedef CARD32 * (*GlyphScanlineFuncPtr)(
30 CARD32 *base, unsigned int **glyphp, int line, int nglyph, int width
31);
32
33typedef CARD32 *(*StippleScanlineProcPtr)(CARD32*, CARD32*, int, int, int);
34
35typedef void (*RectFuncPtr) (ScrnInfoPtr, int, int, int, int, int, int,
36 XAACacheInfoPtr);
37typedef void (*TrapFuncPtr) (ScrnInfoPtr, int, int, int, int, int, int,
38 int, int, int, int, int, int,
39 XAACacheInfoPtr);
40
41
42
43typedef struct _XAAScreen {
44 CreateGCProcPtr CreateGC;
45 CloseScreenProcPtr CloseScreen;
46 GetImageProcPtr GetImage;
47 GetSpansProcPtr GetSpans;
48 CopyWindowProcPtr CopyWindow;
49 WindowExposuresProcPtr WindowExposures;
50 CreatePixmapProcPtr CreatePixmap;
51 DestroyPixmapProcPtr DestroyPixmap;
52 ChangeWindowAttributesProcPtr ChangeWindowAttributes;
53 XAAInfoRecPtr AccelInfoRec;
54 Bool (*EnterVT)(int, int);
55 void (*LeaveVT)(int, int);
56 int (*SetDGAMode)(int, int, DGADevicePtr);
57 void (*EnableDisableFBAccess)(int, Bool);
58#ifdef RENDER
59 CompositeProcPtr Composite;
60 GlyphsProcPtr Glyphs;
61#endif
62} XAAScreenRec, *XAAScreenPtr;
63
64#define OPS_ARE_PIXMAP 0x00000001
65#define OPS_ARE_ACCEL 0x00000002
66
67typedef struct _XAAGC {
68 GCOps *wrapOps;
69 GCFuncs *wrapFuncs;
70 GCOps *XAAOps;
71 int DashLength;
72 unsigned char* DashPattern;
73 unsigned long changes;
74 unsigned long flags;
75} XAAGCRec, *XAAGCPtr;
76
77#define REDUCIBILITY_CHECKED 0x00000001
78#define REDUCIBLE_TO_8x8 0x00000002
79#define REDUCIBLE_TO_2_COLOR 0x00000004
80#define DIRTY 0x00010000
81#define OFFSCREEN 0x00020000
82#define DGA_PIXMAP 0x00040000
83#define SHARED_PIXMAP 0x00080000
84#define LOCKED_PIXMAP 0x00100000
85
86#define REDUCIBILITY_MASK \
87 (REDUCIBILITY_CHECKED | REDUCIBLE_TO_8x8 | REDUCIBLE_TO_2_COLOR)
88
89typedef struct _XAAPixmap {
90 unsigned long flags;
91 CARD32 pattern0;
92 CARD32 pattern1;
93 int fg;
94 int bg;
95 FBAreaPtr offscreenArea;
96 Bool freeData;
97} XAAPixmapRec, *XAAPixmapPtr;
98
99
100Bool
101XAACreateGC(
102 GCPtr pGC
103);
104
105Bool
106XAAInitAccel(
107 ScreenPtr pScreen,
108 XAAInfoRecPtr infoRec
109);
110
111RegionPtr
112XAABitBlt(
113 DrawablePtr pSrcDrawable,
114 DrawablePtr pDstDrawable,
115 GC *pGC,
116 int srcx,
117 int srcy,
118 int width,
119 int height,
120 int dstx,
121 int dsty,
122 void (*doBitBlt)(DrawablePtr, DrawablePtr, GCPtr, RegionPtr, DDXPointPtr),
123 unsigned long bitPlane
124);
125
126void
127XAAScreenToScreenBitBlt(
128 ScrnInfoPtr pScrn,
129 int nbox,
130 DDXPointPtr pptSrc,
131 BoxPtr pbox,
132 int xdir,
133 int ydir,
134 int alu,
135 unsigned int planemask
136);
137
138void
139XAADoBitBlt(
140 DrawablePtr pSrc,
141 DrawablePtr pDst,
142 GC *pGC,
143 RegionPtr prgnDst,
144 DDXPointPtr pptSrc
145);
146
147void
148XAADoImageWrite(
149 DrawablePtr pSrc,
150 DrawablePtr pDst,
151 GC *pGC,
152 RegionPtr prgnDst,
153 DDXPointPtr pptSrc
154);
155
156void
157XAADoImageRead(
158 DrawablePtr pSrc,
159 DrawablePtr pDst,
160 GC *pGC,
161 RegionPtr prgnDst,
162 DDXPointPtr pptSrc
163);
164
165void
166XAACopyWindow(
167 WindowPtr pWin,
168 DDXPointRec ptOldOrg,
169 RegionPtr prgnSrc
170);
171
172
173RegionPtr
174XAACopyArea(
175 DrawablePtr pSrcDrawable,
176 DrawablePtr pDstDrawable,
177 GC *pGC,
178 int srcx,
179 int srcy,
180 int width,
181 int height,
182 int dstx,
183 int dsty
184);
185
186void
187XAAValidateCopyArea(
188 GCPtr pGC,
189 unsigned long changes,
190 DrawablePtr pDraw
191);
192
193void
194XAAValidatePutImage(
195 GCPtr pGC,
196 unsigned long changes,
197 DrawablePtr pDraw
198);
199
200void
201XAAValidateCopyPlane(
202 GCPtr pGC,
203 unsigned long changes,
204 DrawablePtr pDraw
205);
206
207void
208XAAValidatePushPixels(
209 GCPtr pGC,
210 unsigned long changes,
211 DrawablePtr pDraw
212);
213
214void
215XAAValidateFillSpans(
216 GCPtr pGC,
217 unsigned long changes,
218 DrawablePtr pDraw
219);
220
221void
222XAAValidatePolyGlyphBlt(
223 GCPtr pGC,
224 unsigned long changes,
225 DrawablePtr pDraw
226);
227
228void
229XAAValidateImageGlyphBlt(
230 GCPtr pGC,
231 unsigned long changes,
232 DrawablePtr pDraw
233);
234
235void
236XAAValidatePolylines(
237 GCPtr pGC,
238 unsigned long changes,
239 DrawablePtr pDraw
240);
241
242
243RegionPtr
244XAACopyPlaneColorExpansion(
245 DrawablePtr pSrc,
246 DrawablePtr pDst,
247 GCPtr pGC,
248 int srcx,
249 int srcy,
250 int width,
251 int height,
252 int dstx,
253 int dsty,
254 unsigned long bitPlane
255);
256
257
258void
259XAAPushPixelsSolidColorExpansion(
260 GCPtr pGC,
261 PixmapPtr pBitMap,
262 DrawablePtr pDrawable,
263 int dx,
264 int dy,
265 int xOrg,
266 int yOrg
267);
268
269void
270XAAWriteBitmapColorExpandMSBFirstFixedBase (
271 ScrnInfoPtr pScrn,
272 int x, int y, int w, int h,
273 unsigned char *src,
274 int srcwidth,
275 int skipleft,
276 int fg, int bg,
277 int rop,
278 unsigned int planemask
279);
280
281void
282XAAWriteBitmapColorExpand3MSBFirstFixedBase (
283 ScrnInfoPtr pScrn,
284 int x, int y, int w, int h,
285 unsigned char *src,
286 int srcwidth,
287 int skipleft,
288 int fg, int bg,
289 int rop,
290 unsigned int planemask
291);
292
293void
294XAAWriteBitmapColorExpandMSBFirst (
295 ScrnInfoPtr pScrn,
296 int x, int y, int w, int h,
297 unsigned char *src,
298 int srcwidth,
299 int skipleft,
300 int fg, int bg,
301 int rop,
302 unsigned int planemask
303);
304
305void
306XAAWriteBitmapColorExpand3MSBFirst (
307 ScrnInfoPtr pScrn,
308 int x, int y, int w, int h,
309 unsigned char *src,
310 int srcwidth,
311 int skipleft,
312 int fg, int bg,
313 int rop,
314 unsigned int planemask
315);
316
317void
318XAAWriteBitmapColorExpandLSBFirstFixedBase (
319 ScrnInfoPtr pScrn,
320 int x, int y, int w, int h,
321 unsigned char *src,
322 int srcwidth,
323 int skipleft,
324 int fg, int bg,
325 int rop,
326 unsigned int planemask
327);
328
329void
330XAAWriteBitmapColorExpand3LSBFirstFixedBase (
331 ScrnInfoPtr pScrn,
332 int x, int y, int w, int h,
333 unsigned char *src,
334 int srcwidth,
335 int skipleft,
336 int fg, int bg,
337 int rop,
338 unsigned int planemask
339);
340
341void
342XAAWriteBitmapColorExpandLSBFirst (
343 ScrnInfoPtr pScrn,
344 int x, int y, int w, int h,
345 unsigned char *src,
346 int srcwidth,
347 int skipleft,
348 int fg, int bg,
349 int rop,
350 unsigned int planemask
351);
352
353void
354XAAWriteBitmapColorExpand3LSBFirst (
355 ScrnInfoPtr pScrn,
356 int x, int y, int w, int h,
357 unsigned char *src,
358 int srcwidth,
359 int skipleft,
360 int fg, int bg,
361 int rop,
362 unsigned int planemask
363);
364
365
366void
367XAAWriteBitmapScanlineColorExpandMSBFirst (
368 ScrnInfoPtr pScrn,
369 int x, int y, int w, int h,
370 unsigned char *src,
371 int srcwidth,
372 int skipleft,
373 int fg, int bg,
374 int rop,
375 unsigned int planemask
376);
377
378void
379XAAWriteBitmapScanlineColorExpand3MSBFirst (
380 ScrnInfoPtr pScrn,
381 int x, int y, int w, int h,
382 unsigned char *src,
383 int srcwidth,
384 int skipleft,
385 int fg, int bg,
386 int rop,
387 unsigned int planemask
388);
389
390void
391XAAWriteBitmapScanlineColorExpandMSBFirstFixedBase (
392 ScrnInfoPtr pScrn,
393 int x, int y, int w, int h,
394 unsigned char *src,
395 int srcwidth,
396 int skipleft,
397 int fg, int bg,
398 int rop,
399 unsigned int planemask
400);
401
402void
403XAAWriteBitmapScanlineColorExpand3MSBFirstFixedBase (
404 ScrnInfoPtr pScrn,
405 int x, int y, int w, int h,
406 unsigned char *src,
407 int srcwidth,
408 int skipleft,
409 int fg, int bg,
410 int rop,
411 unsigned int planemask
412);
413
414void
415XAAWriteBitmapScanlineColorExpandLSBFirst (
416 ScrnInfoPtr pScrn,
417 int x, int y, int w, int h,
418 unsigned char *src,
419 int srcwidth,
420 int skipleft,
421 int fg, int bg,
422 int rop,
423 unsigned int planemask
424);
425
426void
427XAAWriteBitmapScanlineColorExpand3LSBFirst (
428 ScrnInfoPtr pScrn,
429 int x, int y, int w, int h,
430 unsigned char *src,
431 int srcwidth,
432 int skipleft,
433 int fg, int bg,
434 int rop,
435 unsigned int planemask
436);
437
438void
439XAAWriteBitmapScanlineColorExpandLSBFirstFixedBase (
440 ScrnInfoPtr pScrn,
441 int x, int y, int w, int h,
442 unsigned char *src,
443 int srcwidth,
444 int skipleft,
445 int fg, int bg,
446 int rop,
447 unsigned int planemask
448);
449
450void
451XAAWriteBitmapScanlineColorExpand3LSBFirstFixedBase (
452 ScrnInfoPtr pScrn,
453 int x, int y, int w, int h,
454 unsigned char *src,
455 int srcwidth,
456 int skipleft,
457 int fg, int bg,
458 int rop,
459 unsigned int planemask
460);
461
462void
463XAAWritePixmap (
464 ScrnInfoPtr pScrn,
465 int x, int y, int w, int h,
466 unsigned char *src,
467 int srcwidth,
468 int rop,
469 unsigned int planemask,
470 int transparency_color,
471 int bpp, int depth
472);
473
474void
475XAAWritePixmapScanline (
476 ScrnInfoPtr pScrn,
477 int x, int y, int w, int h,
478 unsigned char *src,
479 int srcwidth,
480 int rop,
481 unsigned int planemask,
482 int transparency_color,
483 int bpp, int depth
484);
485
486typedef void (*ClipAndRenderRectsFunc)(GCPtr, int, BoxPtr, int, int);
487
488
489void
490XAAClipAndRenderRects(
491 GCPtr pGC,
492 ClipAndRenderRectsFunc func,
493 int nrectFill,
494 xRectangle *prectInit,
495 int xorg, int yorg
496);
497
498
499typedef void (*ClipAndRenderSpansFunc)(GCPtr, int, DDXPointPtr, int*,
500 int, int, int);
501
502void
503XAAClipAndRenderSpans(
504 GCPtr pGC,
505 DDXPointPtr ppt,
506 int *pwidth,
507 int nspans,
508 int fSorted,
509 ClipAndRenderSpansFunc func,
510 int xorg,
511 int yorg
512);
513
514
515void
516XAAFillSolidRects(
517 ScrnInfoPtr pScrn,
518 int fg, int rop,
519 unsigned int planemask,
520 int nBox,
521 BoxPtr pBox
522);
523
524void
525XAAFillMono8x8PatternRects(
526 ScrnInfoPtr pScrn,
527 int fg, int bg, int rop,
528 unsigned int planemask,
529 int nBox,
530 BoxPtr pBox,
531 int pat0, int pat1,
532 int xorg, int yorg
533);
534
535void
536XAAFillMono8x8PatternRectsScreenOrigin(
537 ScrnInfoPtr pScrn,
538 int fg, int bg, int rop,
539 unsigned int planemask,
540 int nBox,
541 BoxPtr pBox,
542 int pat0, int pat1,
543 int xorg, int yorg
544);
545
546
547void
548XAAFillColor8x8PatternRectsScreenOrigin(
549 ScrnInfoPtr pScrn,
550 int rop,
551 unsigned int planemask,
552 int nBox,
553 BoxPtr pBox,
554 int xorigin, int yorigin,
555 XAACacheInfoPtr pCache
556);
557
558void
559XAAFillColor8x8PatternRects(
560 ScrnInfoPtr pScrn,
561 int rop,
562 unsigned int planemask,
563 int nBox,
564 BoxPtr pBox,
565 int xorigin, int yorigin,
566 XAACacheInfoPtr pCache
567);
568
569void
570XAAFillCacheBltRects(
571 ScrnInfoPtr pScrn,
572 int rop,
573 unsigned int planemask,
574 int nBox,
575 BoxPtr pBox,
576 int xorg, int yorg,
577 XAACacheInfoPtr pCache
578);
579
580void
581XAAFillCacheExpandRects(
582 ScrnInfoPtr pScrn,
583 int fg, int bg, int rop,
584 unsigned int planemask,
585 int nBox,
586 BoxPtr pBox,
587 int xorg, int yorg,
588 PixmapPtr pPix
589);
590
591void
592XAAFillImageWriteRects(
593 ScrnInfoPtr pScrn,
594 int rop,
595 unsigned int planemask,
596 int nBox,
597 BoxPtr pBox,
598 int xorg, int yorg,
599 PixmapPtr pPix
600);
601
602void
603XAAPolyFillRect(
604 DrawablePtr pDraw,
605 GCPtr pGC,
606 int nrectFill,
607 xRectangle *prectInit
608);
609
610
611void
612XAATEGlyphRendererMSBFirstFixedBase (
613 ScrnInfoPtr pScrn,
614 int x, int y, int w, int h, int skipleft, int startline,
615 unsigned int **glyphs, int glyphWidth,
616 int fg, int bg, int rop, unsigned planemask
617);
618
619void
620XAATEGlyphRenderer3MSBFirstFixedBase (
621 ScrnInfoPtr pScrn,
622 int x, int y, int w, int h, int skipleft, int startline,
623 unsigned int **glyphs, int glyphWidth,
624 int fg, int bg, int rop, unsigned planemask
625);
626
627void
628XAATEGlyphRendererMSBFirst (
629 ScrnInfoPtr pScrn,
630 int x, int y, int w, int h, int skipleft, int startline,
631 unsigned int **glyphs, int glyphWidth,
632 int fg, int bg, int rop, unsigned planemask
633);
634
635void
636XAATEGlyphRenderer3MSBFirst (
637 ScrnInfoPtr pScrn,
638 int x, int y, int w, int h, int skipleft, int startline,
639 unsigned int **glyphs, int glyphWidth,
640 int fg, int bg, int rop, unsigned planemask
641);
642
643void
644XAATEGlyphRendererLSBFirstFixedBase (
645 ScrnInfoPtr pScrn,
646 int x, int y, int w, int h, int skipleft, int startline,
647 unsigned int **glyphs, int glyphWidth,
648 int fg, int bg, int rop, unsigned planemask
649);
650
651
652void
653XAATEGlyphRenderer3LSBFirstFixedBase (
654 ScrnInfoPtr pScrn,
655 int x, int y, int w, int h, int skipleft, int startline,
656 unsigned int **glyphs, int glyphWidth,
657 int fg, int bg, int rop, unsigned planemask
658);
659
660void
661XAATEGlyphRendererLSBFirst (
662 ScrnInfoPtr pScrn,
663 int x, int y, int w, int h, int skipleft, int startline,
664 unsigned int **glyphs, int glyphWidth,
665 int fg, int bg, int rop, unsigned planemask
666);
667
668void
669XAATEGlyphRenderer3LSBFirst (
670 ScrnInfoPtr pScrn,
671 int x, int y, int w, int h, int skipleft, int startline,
672 unsigned int **glyphs, int glyphWidth,
673 int fg, int bg, int rop, unsigned planemask
674);
675
676
677void
678XAATEGlyphRendererScanlineMSBFirst (
679 ScrnInfoPtr pScrn,
680 int x, int y, int w, int h, int skipleft, int startline,
681 unsigned int **glyphs, int glyphWidth,
682 int fg, int bg, int rop, unsigned planemask
683);
684
685void
686XAATEGlyphRendererScanline3MSBFirst (
687 ScrnInfoPtr pScrn,
688 int x, int y, int w, int h, int skipleft, int startline,
689 unsigned int **glyphs, int glyphWidth,
690 int fg, int bg, int rop, unsigned planemask
691);
692
693void
694XAATEGlyphRendererScanlineLSBFirst (
695 ScrnInfoPtr pScrn,
696 int x, int y, int w, int h, int skipleft, int startline,
697 unsigned int **glyphs, int glyphWidth,
698 int fg, int bg, int rop, unsigned planemask
699);
700
701void
702XAATEGlyphRendererScanline3LSBFirst (
703 ScrnInfoPtr pScrn,
704 int x, int y, int w, int h, int skipleft, int startline,
705 unsigned int **glyphs, int glyphWidth,
706 int fg, int bg, int rop, unsigned planemask
707);
708
709
710extern CARD32 *(*XAAGlyphScanlineFuncMSBFirstFixedBase[32])(
711 CARD32 *base, unsigned int **glyphp, int line, int nglyph, int width
712);
713
714extern CARD32 *(*XAAGlyphScanlineFuncMSBFirst[32])(
715 CARD32 *base, unsigned int **glyphp, int line, int nglyph, int width
716);
717
718extern CARD32 *(*XAAGlyphScanlineFuncLSBFirstFixedBase[32])(
719 CARD32 *base, unsigned int **glyphp, int line, int nglyph, int width
720);
721
722extern CARD32 *(*XAAGlyphScanlineFuncLSBFirst[32])(
723 CARD32 *base, unsigned int **glyphp, int line, int nglyph, int width
724);
725
726GlyphScanlineFuncPtr *XAAGetGlyphScanlineFuncMSBFirstFixedBase(void);
727GlyphScanlineFuncPtr *XAAGetGlyphScanlineFuncMSBFirst(void);
728GlyphScanlineFuncPtr *XAAGetGlyphScanlineFuncLSBFirstFixedBase(void);
729GlyphScanlineFuncPtr *XAAGetGlyphScanlineFuncLSBFirst(void);
730
731void
732XAAFillColorExpandRectsLSBFirst(
733 ScrnInfoPtr pScrn,
734 int fg, int bg, int rop,
735 unsigned int planemask,
736 int nBox,
737 BoxPtr pBox,
738 int xorg, int yorg,
739 PixmapPtr pPix
740);
741
742void
743XAAFillColorExpandRects3LSBFirst(
744 ScrnInfoPtr pScrn,
745 int fg, int bg, int rop,
746 unsigned int planemask,
747 int nBox,
748 BoxPtr pBox,
749 int xorg, int yorg,
750 PixmapPtr pPix
751);
752
753void
754XAAFillColorExpandRectsLSBFirstFixedBase(
755 ScrnInfoPtr pScrn,
756 int fg, int bg, int rop,
757 unsigned int planemask,
758 int nBox,
759 BoxPtr pBox,
760 int xorg, int yorg,
761 PixmapPtr pPix
762);
763
764void
765XAAFillColorExpandRects3LSBFirstFixedBase(
766 ScrnInfoPtr pScrn,
767 int fg, int bg, int rop,
768 unsigned int planemask,
769 int nBox,
770 BoxPtr pBox,
771 int xorg, int yorg,
772 PixmapPtr pPix
773);
774
775void
776XAAFillColorExpandRectsMSBFirst(
777 ScrnInfoPtr pScrn,
778 int fg, int bg, int rop,
779 unsigned int planemask,
780 int nBox,
781 BoxPtr pBox,
782 int xorg, int yorg,
783 PixmapPtr pPix
784);
785
786void
787XAAFillColorExpandRects3MSBFirst(
788 ScrnInfoPtr pScrn,
789 int fg, int bg, int rop,
790 unsigned int planemask,
791 int nBox,
792 BoxPtr pBox,
793 int xorg, int yorg,
794 PixmapPtr pPix
795);
796
797void
798XAAFillColorExpandRectsMSBFirstFixedBase(
799 ScrnInfoPtr pScrn,
800 int fg, int bg, int rop,
801 unsigned int planemask,
802 int nBox,
803 BoxPtr pBox,
804 int xorg, int yorg,
805 PixmapPtr pPix
806);
807
808void
809XAAFillColorExpandRects3MSBFirstFixedBase(
810 ScrnInfoPtr pScrn,
811 int fg, int bg, int rop,
812 unsigned int planemask,
813 int nBox,
814 BoxPtr pBox,
815 int xorg, int yorg,
816 PixmapPtr pPix
817);
818
819void
820XAAFillScanlineColorExpandRectsLSBFirst(
821 ScrnInfoPtr pScrn,
822 int fg, int bg, int rop,
823 unsigned int planemask,
824 int nBox,
825 BoxPtr pBox,
826 int xorg, int yorg,
827 PixmapPtr pPix
828);
829
830void
831XAAFillScanlineColorExpandRects3LSBFirst(
832 ScrnInfoPtr pScrn,
833 int fg, int bg, int rop,
834 unsigned int planemask,
835 int nBox,
836 BoxPtr pBox,
837 int xorg, int yorg,
838 PixmapPtr pPix
839);
840
841void
842XAAFillScanlineColorExpandRectsMSBFirst(
843 ScrnInfoPtr pScrn,
844 int fg, int bg, int rop,
845 unsigned int planemask,
846 int nBox,
847 BoxPtr pBox,
848 int xorg, int yorg,
849 PixmapPtr pPix
850);
851
852void
853XAAFillScanlineColorExpandRects3MSBFirst(
854 ScrnInfoPtr pScrn,
855 int fg, int bg, int rop,
856 unsigned int planemask,
857 int nBox,
858 BoxPtr pBox,
859 int xorg, int yorg,
860 PixmapPtr pPix
861);
862
863void
864XAAFillColorExpandSpansLSBFirst(
865 ScrnInfoPtr pScrn,
866 int fg, int bg, int rop,
867 unsigned int planemask,
868 int n,
869 DDXPointPtr ppt,
870 int *pwidth,
871 int fSorted,
872 int xorg, int yorg,
873 PixmapPtr pPix
874);
875
876void
877XAAFillColorExpandSpans3LSBFirst(
878 ScrnInfoPtr pScrn,
879 int fg, int bg, int rop,
880 unsigned int planemask,
881 int n,
882 DDXPointPtr ppt,
883 int *pwidth,
884 int fSorted,
885 int xorg, int yorg,
886 PixmapPtr pPix
887);
888
889void
890XAAFillColorExpandSpansLSBFirstFixedBase(
891 ScrnInfoPtr pScrn,
892 int fg, int bg, int rop,
893 unsigned int planemask,
894 int n,
895 DDXPointPtr ppt,
896 int *pwidth,
897 int fSorted,
898 int xorg, int yorg,
899 PixmapPtr pPix
900);
901
902void
903XAAFillColorExpandSpans3LSBFirstFixedBase(
904 ScrnInfoPtr pScrn,
905 int fg, int bg, int rop,
906 unsigned int planemask,
907 int n,
908 DDXPointPtr ppt,
909 int *pwidth,
910 int fSorted,
911 int xorg, int yorg,
912 PixmapPtr pPix
913);
914
915void
916XAAFillColorExpandSpansMSBFirst(
917 ScrnInfoPtr pScrn,
918 int fg, int bg, int rop,
919 unsigned int planemask,
920 int n,
921 DDXPointPtr ppt,
922 int *pwidth,
923 int fSorted,
924 int xorg, int yorg,
925 PixmapPtr pPix
926);
927
928void
929XAAFillColorExpandSpans3MSBFirst(
930 ScrnInfoPtr pScrn,
931 int fg, int bg, int rop,
932 unsigned int planemask,
933 int n,
934 DDXPointPtr ppt,
935 int *pwidth,
936 int fSorted,
937 int xorg, int yorg,
938 PixmapPtr pPix
939);
940
941void
942XAAFillColorExpandSpansMSBFirstFixedBase(
943 ScrnInfoPtr pScrn,
944 int fg, int bg, int rop,
945 unsigned int planemask,
946 int n,
947 DDXPointPtr ppt,
948 int *pwidth,
949 int fSorted,
950 int xorg, int yorg,
951 PixmapPtr pPix
952);
953
954void
955XAAFillColorExpandSpans3MSBFirstFixedBase(
956 ScrnInfoPtr pScrn,
957 int fg, int bg, int rop,
958 unsigned int planemask,
959 int n,
960 DDXPointPtr ppt,
961 int *pwidth,
962 int fSorted,
963 int xorg, int yorg,
964 PixmapPtr pPix
965);
966
967void
968XAAFillScanlineColorExpandSpansLSBFirst(
969 ScrnInfoPtr pScrn,
970 int fg, int bg, int rop,
971 unsigned int planemask,
972 int n,
973 DDXPointPtr ppt,
974 int *pwidth,
975 int fSorted,
976 int xorg, int yorg,
977 PixmapPtr pPix
978);
979
980void
981XAAFillScanlineColorExpandSpans3LSBFirst(
982 ScrnInfoPtr pScrn,
983 int fg, int bg, int rop,
984 unsigned int planemask,
985 int n,
986 DDXPointPtr ppt,
987 int *pwidth,
988 int fSorted,
989 int xorg, int yorg,
990 PixmapPtr pPix
991);
992
993void
994XAAPutImage(
995 DrawablePtr pDraw,
996 GCPtr pGC,
997 int depth,
998 int x,
999 int y,
1000 int w,
1001 int h,
1002 int leftPad,
1003 int format,
1004 char *pImage
1005);
1006
1007void
1008XAAFillScanlineColorExpandSpansMSBFirst(
1009 ScrnInfoPtr pScrn,
1010 int fg, int bg, int rop,
1011 unsigned int planemask,
1012 int n,
1013 DDXPointPtr ppt,
1014 int *pwidth,
1015 int fSorted,
1016 int xorg, int yorg,
1017 PixmapPtr pPix
1018);
1019
1020void
1021XAAFillScanlineColorExpandSpans3MSBFirst(
1022 ScrnInfoPtr pScrn,
1023 int fg, int bg, int rop,
1024 unsigned int planemask,
1025 int n,
1026 DDXPointPtr ppt,
1027 int *pwidth,
1028 int fSorted,
1029 int xorg, int yorg,
1030 PixmapPtr pPix
1031);
1032
1033
1034extern CARD32 *(*XAAStippleScanlineFuncMSBFirstFixedBase[6])(
1035 CARD32* base, CARD32* src, int offset, int width, int dwords
1036);
1037
1038extern CARD32 *(*XAAStippleScanlineFuncMSBFirst[6])(
1039 CARD32* base, CARD32* src, int offset, int width, int dwords
1040);
1041
1042extern CARD32 *(*XAAStippleScanlineFuncLSBFirstFixedBase[6])(
1043 CARD32* base, CARD32* src, int offset, int width, int dwords
1044);
1045
1046extern CARD32 *(*XAAStippleScanlineFuncLSBFirst[6])(
1047 CARD32* base, CARD32* src, int offset, int width, int dwords
1048);
1049
1050StippleScanlineProcPtr *XAAGetStippleScanlineFuncMSBFirstFixedBase(void);
1051StippleScanlineProcPtr *XAAGetStippleScanlineFuncMSBFirst(void);
1052StippleScanlineProcPtr *XAAGetStippleScanlineFuncLSBFirstFixedBase(void);
1053StippleScanlineProcPtr *XAAGetStippleScanlineFuncLSBFirst(void);
1054StippleScanlineProcPtr *XAAGetStippleScanlineFunc3MSBFirstFixedBase(void);
1055StippleScanlineProcPtr *XAAGetStippleScanlineFunc3MSBFirst(void);
1056StippleScanlineProcPtr *XAAGetStippleScanlineFunc3LSBFirstFixedBase(void);
1057StippleScanlineProcPtr *XAAGetStippleScanlineFunc3LSBFirst(void);
1058
1059int
1060XAAPolyText8TEColorExpansion(
1061 DrawablePtr pDraw,
1062 GCPtr pGC,
1063 int x, int y,
1064 int count,
1065 char *chars
1066);
1067
1068int
1069XAAPolyText16TEColorExpansion(
1070 DrawablePtr pDraw,
1071 GCPtr pGC,
1072 int x, int y,
1073 int count,
1074 unsigned short *chars
1075);
1076
1077void
1078XAAImageText8TEColorExpansion(
1079 DrawablePtr pDraw,
1080 GCPtr pGC,
1081 int x, int y,
1082 int count,
1083 char *chars
1084);
1085
1086void
1087XAAImageText16TEColorExpansion(
1088 DrawablePtr pDraw,
1089 GCPtr pGC,
1090 int x, int y,
1091 int count,
1092 unsigned short *chars
1093);
1094
1095void
1096XAAImageGlyphBltTEColorExpansion(
1097 DrawablePtr pDrawable,
1098 GCPtr pGC,
1099 int xInit, int yInit,
1100 unsigned int nglyph,
1101 CharInfoPtr *ppci,
1102 pointer pglyphBase
1103);
1104
1105void
1106XAAPolyGlyphBltTEColorExpansion(
1107 DrawablePtr pDrawable,
1108 GCPtr pGC,
1109 int xInit, int yInit,
1110 unsigned int nglyph,
1111 CharInfoPtr *ppci,
1112 pointer pglyphBase
1113);
1114
1115
1116int
1117XAAPolyText8NonTEColorExpansion(
1118 DrawablePtr pDraw,
1119 GCPtr pGC,
1120 int x, int y,
1121 int count,
1122 char *chars
1123);
1124
1125int
1126XAAPolyText16NonTEColorExpansion(
1127 DrawablePtr pDraw,
1128 GCPtr pGC,
1129 int x, int y,
1130 int count,
1131 unsigned short *chars
1132);
1133
1134void
1135XAAImageText8NonTEColorExpansion(
1136 DrawablePtr pDraw,
1137 GCPtr pGC,
1138 int x, int y,
1139 int count,
1140 char *chars
1141);
1142
1143void
1144XAAImageText16NonTEColorExpansion(
1145 DrawablePtr pDraw,
1146 GCPtr pGC,
1147 int x, int y,
1148 int count,
1149 unsigned short *chars
1150);
1151
1152void
1153XAAImageGlyphBltNonTEColorExpansion(
1154 DrawablePtr pDrawable,
1155 GCPtr pGC,
1156 int xInit, int yInit,
1157 unsigned int nglyph,
1158 CharInfoPtr *ppci,
1159 pointer pglyphBase
1160);
1161
1162void
1163XAAPolyGlyphBltNonTEColorExpansion(
1164 DrawablePtr pDrawable,
1165 GCPtr pGC,
1166 int xInit, int yInit,
1167 unsigned int nglyph,
1168 CharInfoPtr *ppci,
1169 pointer pglyphBase
1170);
1171
1172
1173void XAANonTEGlyphRenderer(
1174 ScrnInfoPtr pScrn,
1175 int x, int y, int n,
1176 NonTEGlyphPtr glyphs,
1177 BoxPtr pbox,
1178 int fg, int rop,
1179 unsigned int planemask
1180);
1181
1182void
1183XAAFillSolidSpans(
1184 ScrnInfoPtr pScrn,
1185 int fg, int rop,
1186 unsigned int planemask,
1187 int n,
1188 DDXPointPtr ppt,
1189 int *pwidth, int fSorted
1190);
1191
1192void
1193XAAFillMono8x8PatternSpans(
1194 ScrnInfoPtr pScrn,
1195 int fg, int bg, int rop,
1196 unsigned int planemask,
1197 int n,
1198 DDXPointPtr ppt,
1199 int *pwidth, int fSorted,
1200 int patx, int paty,
1201 int xorg, int yorg
1202);
1203
1204void
1205XAAFillMono8x8PatternSpansScreenOrigin(
1206 ScrnInfoPtr pScrn,
1207 int fg, int bg, int rop,
1208 unsigned int planemask,
1209 int n,
1210 DDXPointPtr ppt,
1211 int *pwidth, int fSorted,
1212 int patx, int paty,
1213 int xorg, int yorg
1214);
1215
1216void
1217XAAFillColor8x8PatternSpansScreenOrigin(
1218 ScrnInfoPtr pScrn,
1219 int rop,
1220 unsigned int planemask,
1221 int n,
1222 DDXPointPtr ppt,
1223 int *pwidth, int fSorted,
1224 XAACacheInfoPtr,
1225 int xorigin, int yorigin
1226);
1227
1228void
1229XAAFillColor8x8PatternSpans(
1230 ScrnInfoPtr pScrn,
1231 int rop,
1232 unsigned int planemask,
1233 int n,
1234 DDXPointPtr ppt,
1235 int *pwidth, int fSorted,
1236 XAACacheInfoPtr,
1237 int xorigin, int yorigin
1238);
1239
1240void
1241XAAFillCacheBltSpans(
1242 ScrnInfoPtr pScrn,
1243 int rop,
1244 unsigned int planemask,
1245 int n,
1246 DDXPointPtr points,
1247 int *widths,
1248 int fSorted,
1249 XAACacheInfoPtr pCache,
1250 int xorg, int yorg
1251);
1252
1253void
1254XAAFillCacheExpandSpans(
1255 ScrnInfoPtr pScrn,
1256 int fg, int bg, int rop,
1257 unsigned int planemask,
1258 int n,
1259 DDXPointPtr ppt,
1260 int *pwidth,
1261 int fSorted,
1262 int xorg, int yorg,
1263 PixmapPtr pPix
1264);
1265
1266void
1267XAAFillSpans(
1268 DrawablePtr pDrawable,
1269 GC *pGC,
1270 int nInit,
1271 DDXPointPtr pptInit,
1272 int *pwidth,
1273 int fSorted
1274);
1275
1276
1277void
1278XAAInitPixmapCache(
1279 ScreenPtr pScreen,
1280 RegionPtr areas,
1281 pointer data
1282);
1283
1284void
1285XAAWriteBitmapToCache(
1286 ScrnInfoPtr pScrn,
1287 int x, int y, int w, int h,
1288 unsigned char *src,
1289 int srcwidth,
1290 int fg, int bg
1291);
1292
1293void
1294XAAWriteBitmapToCacheLinear(
1295 ScrnInfoPtr pScrn,
1296 int x, int y, int w, int h,
1297 unsigned char *src,
1298 int srcwidth,
1299 int fg, int bg
1300);
1301
1302void
1303XAAWritePixmapToCache(
1304 ScrnInfoPtr pScrn,
1305 int x, int y, int w, int h,
1306 unsigned char *src,
1307 int srcwidth,
1308 int bpp, int depth
1309);
1310
1311void
1312XAAWritePixmapToCacheLinear(
1313 ScrnInfoPtr pScrn,
1314 int x, int y, int w, int h,
1315 unsigned char *src,
1316 int srcwidth,
1317 int bpp, int depth
1318);
1319
1320void
1321XAASolidHorVertLineAsRects(
1322 ScrnInfoPtr pScrn,
1323 int x, int y, int len, int dir
1324);
1325
1326void
1327XAASolidHorVertLineAsTwoPoint(
1328 ScrnInfoPtr pScrn,
1329 int x, int y, int len, int dir
1330);
1331
1332void
1333XAASolidHorVertLineAsBresenham(
1334 ScrnInfoPtr pScrn,
1335 int x, int y, int len, int dir
1336);
1337
1338
1339void
1340XAAPolyRectangleThinSolid(
1341 DrawablePtr pDrawable,
1342 GCPtr pGC,
1343 int nRectsInit,
1344 xRectangle *pRectsInit
1345);
1346
1347
1348void
1349XAAPolylinesWideSolid (
1350 DrawablePtr pDrawable,
1351 GCPtr pGC,
1352 int mode,
1353 int npt,
1354 DDXPointPtr pPts
1355);
1356
1357void
1358XAAFillPolygonSolid(
1359 DrawablePtr pDrawable,
1360 GCPtr pGC,
1361 int shape,
1362 int mode,
1363 int count,
1364 DDXPointPtr ptsIn
1365);
1366
1367void
1368XAAFillPolygonStippled(
1369 DrawablePtr pDrawable,
1370 GCPtr pGC,
1371 int shape,
1372 int mode,
1373 int count,
1374 DDXPointPtr ptsIn
1375);
1376
1377
1378void
1379XAAFillPolygonTiled(
1380 DrawablePtr pDrawable,
1381 GCPtr pGC,
1382 int shape,
1383 int mode,
1384 int count,
1385 DDXPointPtr ptsIn
1386);
1387
1388
1389int
1390XAAIsEasyPolygon(
1391 DDXPointPtr ptsIn,
1392 int count,
1393 BoxPtr extents,
1394 int origin,
1395 DDXPointPtr *topPoint,
1396 int *topY, int *bottomY,
1397 int shape
1398);
1399
1400void
1401XAAFillPolygonHelper(
1402 ScrnInfoPtr pScrn,
1403 DDXPointPtr ptsIn,
1404 int count,
1405 DDXPointPtr topPoint,
1406 int y,
1407 int maxy,
1408 int origin,
1409 RectFuncPtr RectFunc,
1410 TrapFuncPtr TrapFunc,
1411 int xorg,
1412 int yorg,
1413 XAACacheInfoPtr pCache
1414);
1415
1416void
1417XAAPolySegment(
1418 DrawablePtr pDrawable,
1419 GCPtr pGC,
1420 int nseg,
1421 xSegment *pSeg
1422);
1423
1424void
1425XAAPolyLines(
1426 DrawablePtr pDrawable,
1427 GCPtr pGC,
1428 int mode,
1429 int npt,
1430 DDXPointPtr pptInit
1431);
1432
1433void
1434XAAPolySegmentDashed(
1435 DrawablePtr pDrawable,
1436 GCPtr pGC,
1437 int nseg,
1438 xSegment *pSeg
1439);
1440
1441void
1442XAAPolyLinesDashed(
1443 DrawablePtr pDrawable,
1444 GCPtr pGC,
1445 int mode,
1446 int npt,
1447 DDXPointPtr pptInit
1448);
1449
1450
1451void
1452XAAWriteMono8x8PatternToCache(ScrnInfoPtr pScrn, XAACacheInfoPtr pCache);
1453
1454void
1455XAAWriteColor8x8PatternToCache(
1456 ScrnInfoPtr pScrn,
1457 PixmapPtr pPix,
1458 XAACacheInfoPtr pCache
1459);
1460
1461void
1462XAARotateMonoPattern(
1463 int *pat0, int *pat1,
1464 int xoffset, int yoffset,
1465 Bool msbfirst
1466);
1467
1468void XAAComputeDash(GCPtr pGC);
1469
1470void XAAMoveDWORDS_FixedBase(
1471 register CARD32* dest,
1472 register CARD32* src,
1473 register int dwords
1474);
1475
1476void XAAMoveDWORDS_FixedSrc(
1477 register CARD32* dest,
1478 register CARD32* src,
1479 register int dwords
1480);
1481
1482void XAAMoveDWORDS(
1483 register CARD32* dest,
1484 register CARD32* src,
1485 register int dwords
1486);
1487
1488int
1489XAAGetRectClipBoxes(
1490 GCPtr pGC,
1491 BoxPtr pboxClippedBase,
1492 int nrectFill,
1493 xRectangle *prectInit
1494);
1495
1496void
1497XAASetupOverlay8_32Planar(ScreenPtr);
1498
1499void
1500XAAPolyFillArcSolid(DrawablePtr pDraw, GCPtr pGC, int narcs, xArc *parcs);
1501
1502XAACacheInfoPtr
1503XAACacheTile(ScrnInfoPtr Scrn, PixmapPtr pPix);
1504
1505XAACacheInfoPtr
1506XAACacheMonoStipple(ScrnInfoPtr Scrn, PixmapPtr pPix);
1507
1508XAACacheInfoPtr
1509XAACachePlanarMonoStipple(ScrnInfoPtr Scrn, PixmapPtr pPix);
1510
1511typedef XAACacheInfoPtr (*XAACachePlanarMonoStippleProc)(ScrnInfoPtr, PixmapPtr);
1512XAACachePlanarMonoStippleProc XAAGetCachePlanarMonoStipple(void);
1513
1514XAACacheInfoPtr
1515XAACacheStipple(ScrnInfoPtr Scrn, PixmapPtr pPix, int fg, int bg);
1516
1517XAACacheInfoPtr
1518XAACacheMono8x8Pattern(ScrnInfoPtr Scrn, int pat0, int pat1);
1519
1520XAACacheInfoPtr
1521XAACacheColor8x8Pattern(ScrnInfoPtr Scrn, PixmapPtr pPix, int fg, int bg);
1522
1523void
1524XAATileCache(ScrnInfoPtr pScrn, XAACacheInfoPtr pCache, int w, int h);
1525
1526void XAAClosePixmapCache(ScreenPtr pScreen);
1527void XAAInvalidatePixmapCache(ScreenPtr pScreen);
1528
1529Bool XAACheckStippleReducibility(PixmapPtr pPixmap);
1530Bool XAACheckTileReducibility(PixmapPtr pPixmap, Bool checkMono);
1531
1532int XAAStippledFillChooser(GCPtr pGC);
1533int XAAOpaqueStippledFillChooser(GCPtr pGC);
1534int XAATiledFillChooser(GCPtr pGC);
1535
1536void XAAMoveInOffscreenPixmaps(ScreenPtr pScreen);
1537void XAAMoveOutOffscreenPixmaps(ScreenPtr pScreen);
1538void XAARemoveAreaCallback(FBAreaPtr area);
1539void XAAMoveOutOffscreenPixmap(PixmapPtr pPix);
1540Bool XAAInitStateWrap(ScreenPtr pScreen, XAAInfoRecPtr infoRec);
1541
1542#ifdef RENDER
1543void
1544XAAComposite (CARD8 op,
1545 PicturePtr pSrc,
1546 PicturePtr pMask,
1547 PicturePtr pDst,
1548 INT16 xSrc,
1549 INT16 ySrc,
1550 INT16 xMask,
1551 INT16 yMask,
1552 INT16 xDst,
1553 INT16 yDst,
1554 CARD16 width,
1555 CARD16 height);
1556
1557
1558Bool
1559XAADoComposite (CARD8 op,
1560 PicturePtr pSrc,
1561 PicturePtr pMask,
1562 PicturePtr pDst,
1563 INT16 xSrc,
1564 INT16 ySrc,
1565 INT16 xMask,
1566 INT16 yMask,
1567 INT16 xDst,
1568 INT16 yDst,
1569 CARD16 width,
1570 CARD16 height);
1571
1572
1573void
1574XAAGlyphs (CARD8 op,
1575 PicturePtr pSrc,
1576 PicturePtr pDst,
1577 PictFormatPtr maskFormat,
1578 INT16 xSrc,
1579 INT16 ySrc,
1580 int nlist,
1581 GlyphListPtr list,
1582 GlyphPtr *glyphs);
1583
1584Bool
1585XAADoGlyphs (CARD8 op,
1586 PicturePtr pSrc,
1587 PicturePtr pDst,
1588 PictFormatPtr maskFormat,
1589 INT16 xSrc,
1590 INT16 ySrc,
1591 int nlist,
1592 GlyphListPtr list,
1593 GlyphPtr *glyphs);
1594
1595
1596
1597/* helpers */
1598void
1599XAA_888_plus_PICT_a8_to_8888 (
1600 CARD32 color,
1601 CARD8 *alphaPtr, /* in bytes */
1602 int alphaPitch,
1603 CARD32 *dstPtr,
1604 int dstPitch, /* in dwords */
1605 int width,
1606 int height
1607);
1608
1609Bool
1610XAAGetRGBAFromPixel(
1611 CARD32 pixel,
1612 CARD16 *red,
1613 CARD16 *green,
1614 CARD16 *blue,
1615 CARD16 *alpha,
1616 CARD32 format
1617);
1618
1619
1620Bool
1621XAAGetPixelFromRGBA (
1622 CARD32 *pixel,
1623 CARD16 red,
1624 CARD16 green,
1625 CARD16 blue,
1626 CARD16 alpha,
1627 CARD32 format
1628);
1629
1630#endif
1631
1632/* XXX should be static */
1633extern GCOps XAAFallbackOps;
1634extern GCOps *XAAGetFallbackOps(void);
1635extern GCFuncs XAAGCFuncs;
1636extern DevPrivateKey XAAGetScreenKey(void);
1637extern DevPrivateKey XAAGetGCKey(void);
1638extern DevPrivateKey XAAGetPixmapKey(void);
1639
1640extern unsigned int XAAShiftMasks[32];
1641
1642extern unsigned int byte_expand3[256], byte_reversed_expand3[256];
1643
1644CARD32 XAAReverseBitOrder(CARD32 data);
1645
1646#define GET_XAASCREENPTR_FROM_SCREEN(pScreen)\
1647 dixLookupPrivate(&(pScreen)->devPrivates, XAAGetScreenKey())
1648
1649#define GET_XAASCREENPTR_FROM_GC(pGC)\
1650 dixLookupPrivate(&(pGC)->pScreen->devPrivates, XAAGetScreenKey())
1651
1652#define GET_XAASCREENPTR_FROM_DRAWABLE(pDraw)\
1653 dixLookupPrivate(&(pDraw)->pScreen->devPrivates, XAAGetScreenKey())
1654
1655#define GET_XAAINFORECPTR_FROM_SCREEN(pScreen)\
1656((XAAScreenPtr)dixLookupPrivate(&(pScreen)->devPrivates, XAAGetScreenKey()))->AccelInfoRec
1657
1658#define GET_XAAINFORECPTR_FROM_GC(pGC)\
1659((XAAScreenPtr)dixLookupPrivate(&(pGC)->pScreen->devPrivates, XAAGetScreenKey()))->AccelInfoRec
1660
1661#define GET_XAAINFORECPTR_FROM_DRAWABLE(pDraw)\
1662((XAAScreenPtr)dixLookupPrivate(&(pDraw)->pScreen->devPrivates, XAAGetScreenKey()))->AccelInfoRec
1663
1664#define GET_XAAINFORECPTR_FROM_SCRNINFOPTR(pScrn)\
1665((XAAScreenPtr)dixLookupPrivate(&(pScrn)->pScreen->devPrivates, XAAGetScreenKey()))->AccelInfoRec
1666
1667#define XAA_GET_PIXMAP_PRIVATE(pix)\
1668 (XAAPixmapPtr)dixLookupPrivate(&(pix)->devPrivates, XAAGetPixmapKey())
1669
1670#define CHECK_RGB_EQUAL(c) (!((((c) >> 8) ^ (c)) & 0xffff))
1671
1672#define CHECK_FG(pGC, flags) \
1673 (!(flags & RGB_EQUAL) || CHECK_RGB_EQUAL(pGC->fgPixel))
1674
1675#define CHECK_BG(pGC, flags) \
1676 (!(flags & RGB_EQUAL) || CHECK_RGB_EQUAL(pGC->bgPixel))
1677
1678#define CHECK_ROP(pGC, flags) \
1679 (!(flags & GXCOPY_ONLY) || (pGC->alu == GXcopy))
1680
1681#define CHECK_ROPSRC(pGC, flags) \
1682 (!(flags & ROP_NEEDS_SOURCE) || ((pGC->alu != GXclear) && \
1683 (pGC->alu != GXnoop) && (pGC->alu != GXinvert) && \
1684 (pGC->alu != GXset)))
1685
1686#define CHECK_PLANEMASK(pGC, flags) \
1687 (!(flags & NO_PLANEMASK) || \
1688 ((pGC->planemask & infoRec->FullPlanemasks[pGC->depth - 1]) == \
1689 infoRec->FullPlanemasks[pGC->depth - 1]))
1690
1691#define CHECK_COLORS(pGC, flags) \
1692 (!(flags & RGB_EQUAL) || \
1693 (CHECK_RGB_EQUAL(pGC->fgPixel) && CHECK_RGB_EQUAL(pGC->bgPixel)))
1694
1695#define CHECK_NO_GXCOPY(pGC, flags) \
1696 ((pGC->alu != GXcopy) || !(flags & NO_GXCOPY) || \
1697 ((pGC->planemask & infoRec->FullPlanemask) != infoRec->FullPlanemask))
1698
1699#define IS_OFFSCREEN_PIXMAP(pPix)\
1700 ((XAA_GET_PIXMAP_PRIVATE((PixmapPtr)(pPix)))->offscreenArea)
1701
1702#define PIXMAP_IS_SHARED(pPix)\
1703 ((XAA_GET_PIXMAP_PRIVATE((PixmapPtr)(pPix)))->flags & SHARED_PIXMAP)
1704
1705#define OFFSCREEN_PIXMAP_LOCKED(pPix)\
1706 ((XAA_GET_PIXMAP_PRIVATE((PixmapPtr)(pPix)))->flags & LOCKED_PIXMAP)
1707
1708#define XAA_DEPTH_BUG(pGC) \
1709 ((pGC->depth == 32) && (pGC->bgPixel == 0xffffffff))
1710
1711#define DELIST_OFFSCREEN_PIXMAP(pPix) { \
1712 PixmapLinkPtr _pLink, _prev; \
1713 _pLink = infoRec->OffscreenPixmaps; \
1714 _prev = NULL; \
1715 while(_pLink) { \
1716 if(_pLink->pPix == pPix) { \
1717 if(_prev) _prev->next = _pLink->next; \
1718 else infoRec->OffscreenPixmaps = _pLink->next; \
1719 xfree(_pLink); \
1720 break; \
1721 } \
1722 _prev = _pLink; \
1723 _pLink = _pLink->next; \
1724 }}
1725
1726
1727#define SWAP_BITS_IN_BYTES(v) \
1728 (((0x01010101 & (v)) << 7) | ((0x02020202 & (v)) << 5) | \
1729 ((0x04040404 & (v)) << 3) | ((0x08080808 & (v)) << 1) | \
1730 ((0x10101010 & (v)) >> 1) | ((0x20202020 & (v)) >> 3) | \
1731 ((0x40404040 & (v)) >> 5) | ((0x80808080 & (v)) >> 7))
1732
1733/*
1734 * Moved XAAPixmapCachePrivate here from xaaPCache.c, since driver
1735 * replacements for CacheMonoStipple need access to it
1736 */
1737
1738typedef struct {
1739 int Num512x512;
1740 int Current512;
1741 XAACacheInfoPtr Info512;
1742 int Num256x256;
1743 int Current256;
1744 XAACacheInfoPtr Info256;
1745 int Num128x128;
1746 int Current128;
1747 XAACacheInfoPtr Info128;
1748 int NumMono;
1749 int CurrentMono;
1750 XAACacheInfoPtr InfoMono;
1751 int NumColor;
1752 int CurrentColor;
1753 XAACacheInfoPtr InfoColor;
1754 int NumPartial;
1755 int CurrentPartial;
1756 XAACacheInfoPtr InfoPartial;
1757 DDXPointRec MonoOffsets[64];
1758 DDXPointRec ColorOffsets[64];
1759} XAAPixmapCachePrivate, *XAAPixmapCachePrivatePtr;
1760
1761
1762#endif /* _XAALOCAL_H */
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette