b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#ifndef _XAA_H
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define _XAA_H
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define XAA_VERSION_MAJOR 1
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define XAA_VERSION_MINOR 2
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define XAA_VERSION_RELEASE 1
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync/*
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ******** OPERATION SPECIFIC FLAGS *********
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync **** solid/dashed line flags ****
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync--------- --------
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync23 LINE_PATTERN_LSBFIRST_MSBJUSTIFIED
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync22 LINE_PATTERN_LSBFIRST_LSBJUSTIFIED
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync21 LINE_PATTERN_MSBFIRST_MSBJUSTIFIED
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync20 LINE_PATTERN_MSBFIRST_LSBJUSTIFIED
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync19 LINE_PATTERN_POWER_OF_2_ONLY
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync18 LINE_LIMIT_COORDS
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync17 .
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync16 .
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync--------- -------
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync **** screen to screen copy flags ****
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync--------- --------
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync23 ONLY_LEFT_TO_RIGHT_BITBLT
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync22 ONLY_TWO_BITBLT_DIRECTIONS
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync21 .
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync20 .
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync19 .
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync18 .
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync17 .
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync16 .
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync--------- -------
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync **** clipping flags ****
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync--------- --------
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync23 .
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync22 HARDWARE_CLIP_SCREEN_TO_SCREEN_COLOR_EXPAND
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync21 HARDWARE_CLIP_SCREEN_TO_SCREEN_COPY
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync20 HARDWARE_CLIP_MONO_8x8_FILL
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync19 HARDWARE_CLIP_COLOR_8x8_FILL
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync18 HARDWARE_CLIP_SOLID_FILL
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync17 HARDWARE_CLIP_DASHED_LINE
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync16 HARDWARE_CLIP_SOLID_LINE
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync--------- -------
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync **** hardware pattern flags ****
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync--------- --------
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync23 .
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync22 .
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync21 HARDWARE_PATTERN_SCREEN_ORIGIN
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync20 .
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync19 .
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync18 .
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync17 HARDWARE_PATTERN_PROGRAMMED_ORIGIN
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync16 HARDWARE_PATTERN_PROGRAMMED_BITS
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync--------- -------
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync **** write pixmap flags ****
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync--------- --------
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync23 .
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync22 .
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync21 .
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync20 .
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync19 .
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync18 .
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync17 .
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync16 CONVERT_32BPP_TO_24BPP
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync--------- -------
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ******** GENERIC FLAGS *********
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync--------- -------
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync15 SYNC_AFTER_COLOR_EXPAND
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync14 CPU_TRANSFER_PAD_QWORD
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync13 .
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync12 LEFT_EDGE_CLIPPING_NEGATIVE_X
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync11 LEFT_EDGE_CLIPPING
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync10 CPU_TRANSFER_BASE_FIXED
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync 9 BIT_ORDER_IN_BYTE_MSBFIRST
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync 8 TRANSPARENCY_GXCOPY_ONLY
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync--------- -------
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync 7 NO_TRANSPARENCY
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync 6 TRANSPARENCY_ONLY
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync 5 ROP_NEEDS_SOURCE
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync 4 TRIPLE_BITS_24BPP
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync 3 RGB_EQUAL
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync 2 NO_PLANEMASK
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync 1 NO_GXCOPY
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync 0 GXCOPY_ONLY
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync--------- -------
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync*/
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#include "gcstruct.h"
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#include "pixmapstr.h"
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#include "xf86str.h"
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#include "regionstr.h"
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#include "xf86fbman.h"
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#ifdef RENDER
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#include "picturestr.h"
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#endif
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync/* Flags */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define PIXMAP_CACHE 0x00000001
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define MICROSOFT_ZERO_LINE_BIAS 0x00000002
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define OFFSCREEN_PIXMAPS 0x00000004
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define LINEAR_FRAMEBUFFER 0x00000008
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync/* GC fg, bg, and planemask restrictions */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define GXCOPY_ONLY 0x00000001
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define NO_GXCOPY 0x00000002
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define NO_PLANEMASK 0x00000004
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define RGB_EQUAL 0x00000008
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define TRIPLE_BITS_24BPP 0x00000010
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_NEEDS_SOURCE 0x00000020
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync/* transparency restrictions */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define TRANSPARENCY_ONLY 0x00000040
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define NO_TRANSPARENCY 0x00000080
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define TRANSPARENCY_GXCOPY_ONLY 0x00000100
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync/* bit order restrictions */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define BIT_ORDER_IN_BYTE_MSBFIRST 0x00000200
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define BIT_ORDER_IN_BYTE_LSBFIRST 0x00000000
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync/* transfer base restriction */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define CPU_TRANSFER_BASE_FIXED 0x00000400
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync/* skipleft restrictions */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define LEFT_EDGE_CLIPPING 0x00000800
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define LEFT_EDGE_CLIPPING_NEGATIVE_X 0x00001000
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync/* data padding */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define CPU_TRANSFER_PAD_DWORD 0x00000000
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define CPU_TRANSFER_PAD_QWORD 0x00004000
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define SCANLINE_PAD_DWORD 0x00000000
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define SYNC_AFTER_COLOR_EXPAND 0x00008000
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define SYNC_AFTER_IMAGE_WRITE SYNC_AFTER_COLOR_EXPAND
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync/* hardware pattern */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define HARDWARE_PATTERN_PROGRAMMED_BITS 0x00010000
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define HARDWARE_PATTERN_PROGRAMMED_ORIGIN 0x00020000
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define HARDWARE_PATTERN_SCREEN_ORIGIN 0x00200000
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync/* copyarea flags */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ONLY_TWO_BITBLT_DIRECTIONS 0x00400000
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ONLY_LEFT_TO_RIGHT_BITBLT 0x00800000
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync/* line flags */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define LINE_PATTERN_LSBFIRST_MSBJUSTIFIED 0x00800000
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define LINE_PATTERN_LSBFIRST_LSBJUSTIFIED 0x00400000
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define LINE_PATTERN_MSBFIRST_MSBJUSTIFIED 0x00200000
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define LINE_PATTERN_MSBFIRST_LSBJUSTIFIED 0x00100000
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define LINE_PATTERN_POWER_OF_2_ONLY 0x00080000
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define LINE_LIMIT_COORDS 0x00040000
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync/* clipping flags */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define HARDWARE_CLIP_SCREEN_TO_SCREEN_COLOR_EXPAND 0x00400000
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define HARDWARE_CLIP_SCREEN_TO_SCREEN_COPY 0x00200000
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define HARDWARE_CLIP_MONO_8x8_FILL 0x00100000
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define HARDWARE_CLIP_COLOR_8x8_FILL 0x00080000
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define HARDWARE_CLIP_SOLID_FILL 0x00040000
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define HARDWARE_CLIP_DASHED_LINE 0x00020000
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define HARDWARE_CLIP_SOLID_LINE 0x00010000
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define HARDWARE_CLIP_LINE 0x00000000
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync/* image write flags */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define CONVERT_32BPP_TO_24BPP 0x00010000
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync/* pixmap cache flags */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define CACHE_MONO_8x8 0x00000001
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define CACHE_COLOR_8x8 0x00000002
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define DO_NOT_BLIT_STIPPLES 0x00000004
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define DO_NOT_TILE_MONO_DATA 0x00000008
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define DO_NOT_TILE_COLOR_DATA 0x00000010
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define DEGREES_0 0
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define DEGREES_90 1
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define DEGREES_180 2
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define DEGREES_270 3
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define OMIT_LAST 1
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync/* render flags */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define XAA_RENDER_POWER_OF_2_TILE_ONLY 0x00000008
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define XAA_RENDER_NO_SRC_ALPHA 0x00000004
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define XAA_RENDER_IMPRECISE_ONLY 0x00000002
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define XAA_RENDER_NO_TILE 0x00000001
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define XAA_RENDER_REPEAT 0x00000001
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsynctypedef void (* ValidateGCProcPtr)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync GCPtr pGC,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned long changes,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DrawablePtr pDraw
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsynctypedef struct {
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned char *bits;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int width;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int height;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int yoff;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int srcwidth;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int start;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int end;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync} NonTEGlyphInfo, *NonTEGlyphPtr;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsynctypedef struct {
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int x;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int y;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int w;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int h;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int orig_w;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int orig_h;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned long serialNumber;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int pat0;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int pat1;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int fg;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int bg;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int trans_color;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DDXPointPtr offsets;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DevUnion devPrivate;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync} XAACacheInfoRec, *XAACacheInfoPtr;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsynctypedef struct _PixmapLink {
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync PixmapPtr pPix;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync struct _PixmapLink *next;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync FBAreaPtr area;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync} PixmapLink, *PixmapLinkPtr;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsynctypedef struct _XAAInfoRec {
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int Flags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*Sync)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync /* Restore Accel State is a driver callback that is used
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync * when another screen on the same device has been active.
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync * This allows multihead on a single device to work.
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync * If The entityProp has IS_SHARED_ACCEL defined then this
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync * function is required.
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*RestoreAccelState)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync /***************** Low Level *****************/
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync/* Blits */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*SetupForScreenToScreenCopy)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int xdir, int ydir,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int rop,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned int planemask,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int trans_color
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int ScreenToScreenCopyFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*SubsequentScreenToScreenCopy)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int xsrc, int ysrc,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int xdst, int ydst,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int w, int h
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync/* Solid fills */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*SetupForSolidFill)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int color,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int rop,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned int planemask
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int SolidFillFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*SubsequentSolidFillRect)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int x, int y, int w, int h
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*SubsequentSolidFillTrap)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int y, int h,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int left, int dxL, int dyL, int eL,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int right, int dxR, int dyR, int eR
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync/* Solid lines */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*SetupForSolidLine)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int color,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int rop,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned int planemask
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int SolidLineFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*SubsequentSolidTwoPointLine)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int xa, int ya, int xb, int yb, int flags
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*SubsequentSolidBresenhamLine)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int x, int y, int absmaj, int absmin, int err, int len, int octant
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int SolidBresenhamLineErrorTermBits;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*SubsequentSolidHorVertLine)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int x, int y, int len, int dir
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync/* Dashed lines */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*SetupForDashedLine)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int fg, int bg,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int rop,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned int planemask,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int length,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned char *pattern
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int DashedLineFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int DashPatternMaxLength;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*SubsequentDashedTwoPointLine)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int xa, int ya, int xb, int yb, int flags, int phase
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*SubsequentDashedBresenhamLine)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int x, int y, int absmaj, int absmin, int err, int len, int flags,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int phase
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int DashedBresenhamLineErrorTermBits;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync/* Clipper */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*SetClippingRectangle) (
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int left, int top, int right, int bottom
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int ClippingFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*DisableClipping)(ScrnInfoPtr pScrn);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync/* 8x8 mono pattern fills */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*SetupForMono8x8PatternFill)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int patx, int paty,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int fg, int bg,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int rop,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned int planemask
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int Mono8x8PatternFillFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*SubsequentMono8x8PatternFillRect)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int patx, int paty,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int x, int y, int w, int h
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*SubsequentMono8x8PatternFillTrap)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int patx, int paty,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int y, int h,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int left, int dxL, int dyL, int eL,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int right, int dxR, int dyR, int eR
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync/* 8x8 color pattern fills */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*SetupForColor8x8PatternFill)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int patx, int paty,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int rop,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned int planemask,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int transparency_color
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int Color8x8PatternFillFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*SubsequentColor8x8PatternFillRect)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int patx, int paty,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int x, int y, int w, int h
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*SubsequentColor8x8PatternFillTrap)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int patx, int paty,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int y, int h,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int left, int dxL, int dyL, int eL,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int right, int dxR, int dyR, int eR
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync/* Color expansion */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*SetupForCPUToScreenColorExpandFill)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int fg, int bg,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int rop,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned int planemask
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int CPUToScreenColorExpandFillFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*SubsequentCPUToScreenColorExpandFill)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int x, int y, int w, int h,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int skipleft
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned char *ColorExpandBase;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int ColorExpandRange;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync/* Scanline color expansion */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*SetupForScanlineCPUToScreenColorExpandFill)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int fg, int bg,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int rop,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned int planemask
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int ScanlineCPUToScreenColorExpandFillFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*SubsequentScanlineCPUToScreenColorExpandFill)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int x, int y, int w, int h,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int skipleft
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*SubsequentColorExpandScanline)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int bufno
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int NumScanlineColorExpandBuffers;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned char **ScanlineColorExpandBuffers;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync/* Screen to screen color expansion */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*SetupForScreenToScreenColorExpandFill) (
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int fg, int bg,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int rop,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned int planemask
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int ScreenToScreenColorExpandFillFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*SubsequentScreenToScreenColorExpandFill)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int x, int y, int w, int h,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int srcx, int srcy, int skipleft
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync/* Image transfers */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*SetupForImageWrite)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int rop,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned int planemask,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int transparency_color,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int bpp, int depth
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int ImageWriteFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*SubsequentImageWriteRect)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int x, int y, int w, int h,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int skipleft
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned char *ImageWriteBase;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int ImageWriteRange;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync/* Scanline Image transfers */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*SetupForScanlineImageWrite)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int rop,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned int planemask,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int transparency_color,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int bpp, int depth
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int ScanlineImageWriteFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*SubsequentScanlineImageWriteRect)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int x, int y, int w, int h,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int skipleft
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*SubsequentImageWriteScanline) (
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int bufno
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int NumScanlineImageWriteBuffers;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned char **ScanlineImageWriteBuffers;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync /* Image Reads - OBSOLETE AND NOT USED */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*SetupForImageRead) (
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int bpp, int depth
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int ImageReadFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned char *ImageReadBase;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int ImageReadRange;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*SubsequentImageReadRect)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int x, int y, int w, int h
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync /***************** Mid Level *****************/
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*ScreenToScreenBitBlt)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int nbox,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DDXPointPtr pptSrc,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync BoxPtr pbox,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int xdir, int ydir,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int alu,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned int planmask
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int ScreenToScreenBitBltFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*WriteBitmap) (
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int x, int y, int w, int h,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned char *src,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int srcwidth,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int skipleft,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int fg, int bg,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int rop,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned int planemask
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int WriteBitmapFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*FillSolidRects)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int fg, int rop,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned int planemask,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int nBox,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync BoxPtr pBox
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int FillSolidRectsFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*FillMono8x8PatternRects)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int fg, int bg, int rop,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned int planemask,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int nBox,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync BoxPtr pBox,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int pat0, int pat1,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int xorg, int yorg
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int FillMono8x8PatternRectsFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*FillColor8x8PatternRects)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int rop,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned int planemask,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int nBox,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync BoxPtr pBox,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int xorg, int yorg,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync XAACacheInfoPtr pCache
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int FillColor8x8PatternRectsFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*FillCacheBltRects)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int rop,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned int planemask,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int nBox,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync BoxPtr pBox,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int xorg, int yorg,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync XAACacheInfoPtr pCache
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int FillCacheBltRectsFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*FillColorExpandRects)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int fg, int bg, int rop,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned int planemask,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int nBox,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync BoxPtr pBox,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int xorg, int yorg,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync PixmapPtr pPix
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int FillColorExpandRectsFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*FillCacheExpandRects)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int fg, int bg, int rop,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned int planemask,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int nBox,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync BoxPtr pBox,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int xorg, int yorg,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync PixmapPtr pPix
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int FillCacheExpandRectsFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*FillImageWriteRects)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int rop,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned int planemask,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int nBox,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync BoxPtr pBox,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int xorg, int yorg,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync PixmapPtr pPix
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int FillImageWriteRectsFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*FillSolidSpans)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int fg, int rop,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned int planemask,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int n,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DDXPointPtr points,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int *widths,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int fSorted
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int FillSolidSpansFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*FillMono8x8PatternSpans)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int fg, int bg, int rop,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned int planemask,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int n,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DDXPointPtr points,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int *widths,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int fSorted,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int pat0, int pat1,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int xorg, int yorg
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int FillMono8x8PatternSpansFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*FillColor8x8PatternSpans)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int rop,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned int planemask,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int n,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DDXPointPtr points,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int *widths,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int fSorted,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync XAACacheInfoPtr pCache,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int xorg, int yorg
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int FillColor8x8PatternSpansFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*FillCacheBltSpans)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int rop,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned int planemask,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int n,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DDXPointPtr points,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int *widths,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int fSorted,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync XAACacheInfoPtr pCache,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int xorg, int yorg
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int FillCacheBltSpansFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*FillColorExpandSpans)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int fg, int bg, int rop,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned int planemask,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int n,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DDXPointPtr points,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int *widths,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int fSorted,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int xorg, int yorg,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync PixmapPtr pPix
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int FillColorExpandSpansFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*FillCacheExpandSpans)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int fg, int bg, int rop,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned int planemask,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int n,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DDXPointPtr ppt,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int *pwidth,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int fSorted,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int xorg, int yorg,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync PixmapPtr pPix
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int FillCacheExpandSpansFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*TEGlyphRenderer)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int x, int y, int w, int h, int skipleft, int startline,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned int **glyphs, int glyphWidth,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int fg, int bg, int rop, unsigned planemask
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int TEGlyphRendererFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*NonTEGlyphRenderer)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int x, int y, int n,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync NonTEGlyphPtr glyphs,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync BoxPtr pbox,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int fg, int rop,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned int planemask
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int NonTEGlyphRendererFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*WritePixmap) (
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int x, int y, int w, int h,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned char *src,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int srcwidth,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int rop,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned int planemask,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int transparency_color,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int bpp, int depth
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int WritePixmapFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*ReadPixmap) (
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int x, int y, int w, int h,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned char *dst,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int dstwidth,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int bpp, int depth
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int ReadPixmapFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync /***************** GC Level *****************/
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync RegionPtr (*CopyArea)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DrawablePtr pSrcDrawable,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DrawablePtr pDstDrawable,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync GC *pGC,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int srcx, int srcy,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int width, int height,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int dstx, int dsty
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int CopyAreaFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync RegionPtr (*CopyPlane)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DrawablePtr pSrc,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DrawablePtr pDst,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync GCPtr pGC,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int srcx, int srcy,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int width, int height,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int dstx, int dsty,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned long bitPlane
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int CopyPlaneFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*PushPixelsSolid) (
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync GCPtr pGC,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync PixmapPtr pBitMap,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DrawablePtr pDrawable,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int dx, int dy,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int xOrg, int yOrg
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int PushPixelsFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync /** PolyFillRect **/
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*PolyFillRectSolid)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DrawablePtr pDraw,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync GCPtr pGC,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int nrectFill,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync xRectangle *prectInit
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int PolyFillRectSolidFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*PolyFillRectStippled)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DrawablePtr pDraw,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync GCPtr pGC,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int nrectFill,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync xRectangle *prectInit
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int PolyFillRectStippledFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*PolyFillRectOpaqueStippled)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DrawablePtr pDraw,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync GCPtr pGC,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int nrectFill,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync xRectangle *prectInit
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int PolyFillRectOpaqueStippledFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*PolyFillRectTiled)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DrawablePtr pDraw,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync GCPtr pGC,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int nrectFill,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync xRectangle *prectInit
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int PolyFillRectTiledFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync /** FillSpans **/
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*FillSpansSolid)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DrawablePtr pDraw,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync GCPtr pGC,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int nInit,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DDXPointPtr ppt,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int *pwidth,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int fSorted
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int FillSpansSolidFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*FillSpansStippled)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DrawablePtr pDraw,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync GCPtr pGC,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int nInit,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DDXPointPtr ppt,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int *pwidth,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int fSorted
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int FillSpansStippledFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*FillSpansOpaqueStippled)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DrawablePtr pDraw,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync GCPtr pGC,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int nInit,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DDXPointPtr ppt,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int *pwidth,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int fSorted
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int FillSpansOpaqueStippledFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*FillSpansTiled)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DrawablePtr pDraw,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync GCPtr pGC,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int nInit,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DDXPointPtr ppt,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int *pwidth,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int fSorted
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int FillSpansTiledFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int (*PolyText8TE) (
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DrawablePtr pDraw,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync GCPtr pGC,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int x, int y,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int count,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync char *chars
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int PolyText8TEFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int (*PolyText16TE) (
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DrawablePtr pDraw,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync GCPtr pGC,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int x, int y,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int count,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned short *chars
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int PolyText16TEFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*ImageText8TE) (
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DrawablePtr pDraw,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync GCPtr pGC,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int x, int y,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int count,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync char *chars
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int ImageText8TEFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*ImageText16TE) (
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DrawablePtr pDraw,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync GCPtr pGC,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int x, int y,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int count,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned short *chars
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int ImageText16TEFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*ImageGlyphBltTE) (
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DrawablePtr pDrawable,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync GCPtr pGC,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int xInit, int yInit,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned int nglyph,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CharInfoPtr *ppci,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync pointer pglyphBase
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int ImageGlyphBltTEFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*PolyGlyphBltTE) (
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DrawablePtr pDrawable,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync GCPtr pGC,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int xInit, int yInit,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned int nglyph,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CharInfoPtr *ppci,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync pointer pglyphBase
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int PolyGlyphBltTEFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int (*PolyText8NonTE) (
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DrawablePtr pDraw,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync GCPtr pGC,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int x, int y,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int count,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync char *chars
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int PolyText8NonTEFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int (*PolyText16NonTE) (
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DrawablePtr pDraw,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync GCPtr pGC,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int x, int y,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int count,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned short *chars
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int PolyText16NonTEFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*ImageText8NonTE) (
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DrawablePtr pDraw,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync GCPtr pGC,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int x, int y,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int count,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync char *chars
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int ImageText8NonTEFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*ImageText16NonTE) (
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DrawablePtr pDraw,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync GCPtr pGC,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int x, int y,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int count,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned short *chars
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int ImageText16NonTEFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*ImageGlyphBltNonTE) (
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DrawablePtr pDrawable,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync GCPtr pGC,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int xInit, int yInit,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned int nglyph,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CharInfoPtr *ppci,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync pointer pglyphBase
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int ImageGlyphBltNonTEFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*PolyGlyphBltNonTE) (
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DrawablePtr pDrawable,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync GCPtr pGC,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int xInit, int yInit,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned int nglyph,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CharInfoPtr *ppci,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync pointer pglyphBase
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int PolyGlyphBltNonTEFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*PolyRectangleThinSolid)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DrawablePtr pDrawable,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync GCPtr pGC,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int nRectsInit,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync xRectangle *pRectsInit
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int PolyRectangleThinSolidFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*PolylinesWideSolid)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DrawablePtr pDrawable,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync GCPtr pGC,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int mode,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int npt,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DDXPointPtr pPts
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int PolylinesWideSolidFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*PolylinesThinSolid)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DrawablePtr pDrawable,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync GCPtr pGC,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int mode,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int npt,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DDXPointPtr pPts
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int PolylinesThinSolidFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*PolySegmentThinSolid)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DrawablePtr pDrawable,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync GCPtr pGC,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int nseg,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync xSegment *pSeg
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int PolySegmentThinSolidFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*PolylinesThinDashed)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DrawablePtr pDrawable,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync GCPtr pGC,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int mode,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int npt,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DDXPointPtr pPts
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int PolylinesThinDashedFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*PolySegmentThinDashed)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DrawablePtr pDrawable,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync GCPtr pGC,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int nseg,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync xSegment *pSeg
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int PolySegmentThinDashedFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*FillPolygonSolid)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DrawablePtr pDrawable,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync GCPtr pGC,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int shape,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int mode,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int count,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DDXPointPtr ptsIn
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int FillPolygonSolidFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*FillPolygonStippled)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DrawablePtr pDrawable,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync GCPtr pGC,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int shape,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int mode,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int count,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DDXPointPtr ptsIn
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int FillPolygonStippledFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*FillPolygonOpaqueStippled)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DrawablePtr pDrawable,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync GCPtr pGC,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int shape,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int mode,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int count,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DDXPointPtr ptsIn
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int FillPolygonOpaqueStippledFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*FillPolygonTiled)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DrawablePtr pDrawable,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync GCPtr pGC,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int shape,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int mode,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int count,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DDXPointPtr ptsIn
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int FillPolygonTiledFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*PolyFillArcSolid)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DrawablePtr pDraw,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync GCPtr pGC,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int narcs,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync xArc *parcs
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int PolyFillArcSolidFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*PutImage)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DrawablePtr pDraw,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync GCPtr pGC,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int depth,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int x,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int y,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int w,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int h,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int leftPad,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int format,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync char *pImage
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int PutImageFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync /* Validation masks */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned long FillSpansMask;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ValidateGCProcPtr ValidateFillSpans;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned long SetSpansMask;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ValidateGCProcPtr ValidateSetSpans;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned long PutImageMask;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ValidateGCProcPtr ValidatePutImage;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned long CopyAreaMask;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ValidateGCProcPtr ValidateCopyArea;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned long CopyPlaneMask;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ValidateGCProcPtr ValidateCopyPlane;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned long PolyPointMask;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ValidateGCProcPtr ValidatePolyPoint;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned long PolylinesMask;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ValidateGCProcPtr ValidatePolylines;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned long PolySegmentMask;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ValidateGCProcPtr ValidatePolySegment;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned long PolyRectangleMask;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ValidateGCProcPtr ValidatePolyRectangle;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned long PolyArcMask;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ValidateGCProcPtr ValidatePolyArc;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned long FillPolygonMask;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ValidateGCProcPtr ValidateFillPolygon;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned long PolyFillRectMask;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ValidateGCProcPtr ValidatePolyFillRect;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned long PolyFillArcMask;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ValidateGCProcPtr ValidatePolyFillArc;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned long PolyText8Mask;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ValidateGCProcPtr ValidatePolyText8;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned long PolyText16Mask;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ValidateGCProcPtr ValidatePolyText16;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned long ImageText8Mask;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ValidateGCProcPtr ValidateImageText8;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned long ImageText16Mask;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ValidateGCProcPtr ValidateImageText16;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned long PolyGlyphBltMask;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ValidateGCProcPtr ValidatePolyGlyphBlt;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned long ImageGlyphBltMask;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ValidateGCProcPtr ValidateImageGlyphBlt;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned long PushPixelsMask;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ValidateGCProcPtr ValidatePushPixels;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*ComputeDash)(GCPtr pGC);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync /* Pixmap Cache */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int PixmapCacheFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync Bool UsingPixmapCache;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync Bool CanDoMono8x8;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync Bool CanDoColor8x8;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*InitPixmapCache)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScreenPtr pScreen,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync RegionPtr areas,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync pointer data
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*ClosePixmapCache)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScreenPtr pScreen
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int (*StippledFillChooser)(GCPtr pGC);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int (*OpaqueStippledFillChooser)(GCPtr pGC);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int (*TiledFillChooser)(GCPtr pGC);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int CachePixelGranularity;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int MaxCacheableTileWidth;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int MaxCacheableTileHeight;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int MaxCacheableStippleWidth;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int MaxCacheableStippleHeight;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync XAACacheInfoPtr (*CacheTile)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr Scrn, PixmapPtr pPix
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync XAACacheInfoPtr (*CacheStipple)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr Scrn, PixmapPtr pPix,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int fg, int bg
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync XAACacheInfoPtr (*CacheMonoStipple)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr Scrn, PixmapPtr pPix
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync XAACacheInfoPtr (*CacheMono8x8Pattern)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr Scrn, int pat0, int pat1
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync XAACacheInfoPtr (*CacheColor8x8Pattern)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr Scrn, PixmapPtr pPix,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int fg, int bg
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int MonoPatternPitch;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int CacheWidthMono8x8Pattern;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int CacheHeightMono8x8Pattern;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int ColorPatternPitch;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int CacheWidthColor8x8Pattern;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int CacheHeightColor8x8Pattern;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int CacheColorExpandDensity;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*WriteBitmapToCache) (
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int x, int y, int w, int h,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned char *src,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int srcwidth,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int fg, int bg
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*WritePixmapToCache) (
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int x, int y, int w, int h,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned char *src,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int srcwidth,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int bpp, int depth
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*WriteMono8x8PatternToCache)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync XAACacheInfoPtr pCache
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*WriteColor8x8PatternToCache)(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync PixmapPtr pPix,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync XAACacheInfoPtr pCache
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync char* PixmapCachePrivate;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync /* Miscellaneous */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync GC ScratchGC;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int PreAllocSize;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned char *PreAllocMem;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CharInfoPtr CharInfo[255];
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync NonTEGlyphInfo GlyphInfo[255];
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned int FullPlanemask; /* deprecated */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync PixmapLinkPtr OffscreenPixmaps;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int maxOffPixWidth;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int maxOffPixHeight;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync XAACacheInfoRec ScratchCacheInfoRec;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync BoxPtr ClipBox;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync Bool NeedToSync;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync char *dgaSaves;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync /* These can be supplied to override the defaults */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync GetImageProcPtr GetImage;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync GetSpansProcPtr GetSpans;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CopyWindowProcPtr CopyWindow;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync BackingStoreSaveAreasProcPtr SaveAreas;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync BackingStoreRestoreAreasProcPtr RestoreAreas;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync unsigned int offscreenDepths;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync Bool offscreenDepthsInitialized;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CARD32 FullPlanemasks[32];
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#ifdef RENDER
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync Bool (*Composite) (
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CARD8 op,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync PicturePtr pSrc,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync PicturePtr pMask,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync PicturePtr pDst,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync INT16 xSrc,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync INT16 ySrc,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync INT16 xMask,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync INT16 yMask,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync INT16 xDst,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync INT16 yDst,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CARD16 width,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CARD16 height
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync Bool (*Glyphs) (
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CARD8 op,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync PicturePtr pSrc,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync PicturePtr pDst,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync PictFormatPtr maskFormat,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync INT16 xSrc,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync INT16 ySrc,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int nlist,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync GlyphListPtr list,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync GlyphPtr *glyphs
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync /* The old SetupForCPUToScreenAlphaTexture function is no longer used because
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync * it doesn't pass in enough information to write a conforming
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync * implementation. See SetupForCPUToScreenAlphaTexture2.
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync Bool (*SetupForCPUToScreenAlphaTexture) (
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int op,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CARD16 red,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CARD16 green,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CARD16 blue,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CARD16 alpha,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int alphaType,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CARD8 *alphaPtr,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int alphaPitch,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int width,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int height,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int flags
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*SubsequentCPUToScreenAlphaTexture) (
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int dstx,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int dsty,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int srcx,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int srcy,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int width,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int height
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int CPUToScreenAlphaTextureFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CARD32 * CPUToScreenAlphaTextureFormats;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync /* The old SetupForCPUToScreenTexture function is no longer used because
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync * it doesn't pass in enough information to write a conforming
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync * implementation. See SetupForCPUToScreenTexture2.
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync Bool (*SetupForCPUToScreenTexture) (
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int op,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int texType,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CARD8 *texPtr,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int texPitch,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int width,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int height,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int flags
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync void (*SubsequentCPUToScreenTexture) (
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int dstx,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int dsty,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int srcx,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int srcy,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int width,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int height
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int CPUToScreenTextureFlags;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CARD32 * CPUToScreenTextureFormats;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#endif
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync /* these were added for 4.3.0 */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync BoxRec SolidLineLimits;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync BoxRec DashedLineLimits;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#ifdef RENDER
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync /* These were added for X.Org 6.8.0 */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync Bool (*SetupForCPUToScreenAlphaTexture2) (
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int op,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CARD16 red,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CARD16 green,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CARD16 blue,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CARD16 alpha,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CARD32 maskFormat,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CARD32 dstFormat,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CARD8 *alphaPtr,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int alphaPitch,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int width,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int height,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int flags
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CARD32 *CPUToScreenAlphaTextureDstFormats;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync Bool (*SetupForCPUToScreenTexture2) (
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScrnInfoPtr pScrn,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int op,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CARD32 srcFormat,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CARD32 dstFormat,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CARD8 *texPtr,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int texPitch,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int width,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int height,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int flags
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync );
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync CARD32 *CPUToScreenTextureDstFormats;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#endif /* RENDER */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync} XAAInfoRec, *XAAInfoRecPtr;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define SET_SYNC_FLAG(infoRec) (infoRec)->NeedToSync = TRUE
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT Bool
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncXAAInit(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScreenPtr pScreen,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync XAAInfoRecPtr infoRec
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT XAAInfoRecPtr XAACreateInfoRec(void);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT void
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncXAADestroyInfoRec(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync XAAInfoRecPtr infoRec
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsynctypedef void (*DepthChangeFuncPtr) (ScrnInfoPtr pScrn, int depth);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT Bool
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncXAAInitDualFramebufferOverlay(
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ScreenPtr pScreen,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DepthChangeFuncPtr callback
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#endif /* _XAA_H */