1/*
2   Copyright (c) 1999  XFree86 Inc
3*/
4
5#ifndef _XF86DGACONST_H_
6#define _XF86DGACONST_H_
7
8#include <X11/extensions/xf86dga1const.h>
9
10#define X_XDGAQueryVersion		0
11
12/* 1 through 9 are in xf86dga1.h */
13
14/* 10 and 11 are reserved to avoid conflicts with rogue DGA extensions */
15
16#define X_XDGAQueryModes		12
17#define X_XDGASetMode			13
18#define X_XDGASetViewport		14
19#define X_XDGAInstallColormap		15
20#define X_XDGASelectInput		16
21#define X_XDGAFillRectangle		17
22#define X_XDGACopyArea			18
23#define X_XDGACopyTransparentArea	19
24#define X_XDGAGetViewportStatus		20
25#define X_XDGASync			21
26#define X_XDGAOpenFramebuffer		22
27#define X_XDGACloseFramebuffer		23
28#define X_XDGASetClientVersion		24
29#define X_XDGAChangePixmapMode		25
30#define X_XDGACreateColormap		26
31
32
33#define XDGAConcurrentAccess	0x00000001
34#define XDGASolidFillRect	0x00000002
35#define XDGABlitRect		0x00000004
36#define XDGABlitTransRect	0x00000008
37#define XDGAPixmap    		0x00000010
38
39#define XDGAInterlaced          0x00010000
40#define XDGADoublescan          0x00020000
41
42#define XDGAFlipImmediate	0x00000001
43#define XDGAFlipRetrace		0x00000002
44
45#define XDGANeedRoot		0x00000001
46
47#define XF86DGANumberEvents		7
48
49#define XDGAPixmapModeLarge		0
50#define XDGAPixmapModeSmall		1
51
52#define XF86DGAClientNotLocal		0
53#define XF86DGANoDirectVideoMode	1
54#define XF86DGAScreenNotActive		2
55#define XF86DGADirectNotActivated	3
56#define XF86DGAOperationNotSupported	4
57#define XF86DGANumberErrors		(XF86DGAOperationNotSupported + 1)
58
59
60typedef struct {
61   int num;		/* A unique identifier for the mode (num > 0) */
62   char *name;		/* name of mode given in the XF86Config */
63   float verticalRefresh;
64   int flags;		/* DGA_CONCURRENT_ACCESS, etc... */
65   int imageWidth;	/* linear accessible portion (pixels) */
66   int imageHeight;
67   int pixmapWidth;	/* Xlib accessible portion (pixels) */
68   int pixmapHeight;	/* both fields ignored if no concurrent access */
69   int bytesPerScanline;
70   int byteOrder;	/* MSBFirst, LSBFirst */
71   int depth;
72   int bitsPerPixel;
73   unsigned long redMask;
74   unsigned long greenMask;
75   unsigned long blueMask;
76   short visualClass;
77   int viewportWidth;
78   int viewportHeight;
79   int xViewportStep;	/* viewport position granularity */
80   int yViewportStep;
81   int maxViewportX;	/* max viewport origin */
82   int maxViewportY;
83   int viewportFlags;	/* types of page flipping possible */
84   int reserved1;
85   int reserved2;
86} XDGAMode;
87
88
89typedef struct {
90   XDGAMode mode;
91   unsigned char *data;
92   Pixmap pixmap;
93} XDGADevice;
94
95
96#endif /* _XF86DGACONST_H_ */
97