117ca54c3Smrg/*
217ca54c3Smrg   Copyright (c) 1999  XFree86 Inc
317ca54c3Smrg*/
417ca54c3Smrg
517ca54c3Smrg#ifndef _XF86DGACONST_H_
617ca54c3Smrg#define _XF86DGACONST_H_
717ca54c3Smrg
817ca54c3Smrg#include <X11/extensions/xf86dga1const.h>
917ca54c3Smrg
1017ca54c3Smrg#define X_XDGAQueryVersion		0
1117ca54c3Smrg
1217ca54c3Smrg/* 1 through 9 are in xf86dga1.h */
1317ca54c3Smrg
1417ca54c3Smrg/* 10 and 11 are reserved to avoid conflicts with rogue DGA extensions */
1517ca54c3Smrg
1617ca54c3Smrg#define X_XDGAQueryModes		12
1717ca54c3Smrg#define X_XDGASetMode			13
1817ca54c3Smrg#define X_XDGASetViewport		14
1917ca54c3Smrg#define X_XDGAInstallColormap		15
2017ca54c3Smrg#define X_XDGASelectInput		16
2117ca54c3Smrg#define X_XDGAFillRectangle		17
2217ca54c3Smrg#define X_XDGACopyArea			18
2317ca54c3Smrg#define X_XDGACopyTransparentArea	19
2417ca54c3Smrg#define X_XDGAGetViewportStatus		20
2517ca54c3Smrg#define X_XDGASync			21
2617ca54c3Smrg#define X_XDGAOpenFramebuffer		22
2717ca54c3Smrg#define X_XDGACloseFramebuffer		23
2817ca54c3Smrg#define X_XDGASetClientVersion		24
2917ca54c3Smrg#define X_XDGAChangePixmapMode		25
3017ca54c3Smrg#define X_XDGACreateColormap		26
3117ca54c3Smrg
3217ca54c3Smrg
3317ca54c3Smrg#define XDGAConcurrentAccess	0x00000001
3417ca54c3Smrg#define XDGASolidFillRect	0x00000002
3517ca54c3Smrg#define XDGABlitRect		0x00000004
3617ca54c3Smrg#define XDGABlitTransRect	0x00000008
3717ca54c3Smrg#define XDGAPixmap    		0x00000010
3817ca54c3Smrg
3917ca54c3Smrg#define XDGAInterlaced          0x00010000
4017ca54c3Smrg#define XDGADoublescan          0x00020000
4117ca54c3Smrg
4217ca54c3Smrg#define XDGAFlipImmediate	0x00000001
4317ca54c3Smrg#define XDGAFlipRetrace		0x00000002
4417ca54c3Smrg
4517ca54c3Smrg#define XDGANeedRoot		0x00000001
4617ca54c3Smrg
4717ca54c3Smrg#define XF86DGANumberEvents		7
4817ca54c3Smrg
4917ca54c3Smrg#define XDGAPixmapModeLarge		0
5017ca54c3Smrg#define XDGAPixmapModeSmall		1
5117ca54c3Smrg
5217ca54c3Smrg#define XF86DGAClientNotLocal		0
5317ca54c3Smrg#define XF86DGANoDirectVideoMode	1
5417ca54c3Smrg#define XF86DGAScreenNotActive		2
5517ca54c3Smrg#define XF86DGADirectNotActivated	3
5617ca54c3Smrg#define XF86DGAOperationNotSupported	4
5717ca54c3Smrg#define XF86DGANumberErrors		(XF86DGAOperationNotSupported + 1)
5817ca54c3Smrg
5917ca54c3Smrg
6017ca54c3Smrgtypedef struct {
6117ca54c3Smrg   int num;		/* A unique identifier for the mode (num > 0) */
6217ca54c3Smrg   char *name;		/* name of mode given in the XF86Config */
6317ca54c3Smrg   float verticalRefresh;
6417ca54c3Smrg   int flags;		/* DGA_CONCURRENT_ACCESS, etc... */
6517ca54c3Smrg   int imageWidth;	/* linear accessible portion (pixels) */
6617ca54c3Smrg   int imageHeight;
6717ca54c3Smrg   int pixmapWidth;	/* Xlib accessible portion (pixels) */
6817ca54c3Smrg   int pixmapHeight;	/* both fields ignored if no concurrent access */
69ea1d6981Smrg   int bytesPerScanline;
7017ca54c3Smrg   int byteOrder;	/* MSBFirst, LSBFirst */
71ea1d6981Smrg   int depth;
7217ca54c3Smrg   int bitsPerPixel;
7317ca54c3Smrg   unsigned long redMask;
7417ca54c3Smrg   unsigned long greenMask;
7517ca54c3Smrg   unsigned long blueMask;
7617ca54c3Smrg   short visualClass;
7717ca54c3Smrg   int viewportWidth;
7817ca54c3Smrg   int viewportHeight;
7917ca54c3Smrg   int xViewportStep;	/* viewport position granularity */
8017ca54c3Smrg   int yViewportStep;
8117ca54c3Smrg   int maxViewportX;	/* max viewport origin */
8217ca54c3Smrg   int maxViewportY;
8317ca54c3Smrg   int viewportFlags;	/* types of page flipping possible */
8417ca54c3Smrg   int reserved1;
8517ca54c3Smrg   int reserved2;
8617ca54c3Smrg} XDGAMode;
8717ca54c3Smrg
8817ca54c3Smrg
8917ca54c3Smrgtypedef struct {
9017ca54c3Smrg   XDGAMode mode;
9117ca54c3Smrg   unsigned char *data;
9217ca54c3Smrg   Pixmap pixmap;
9317ca54c3Smrg} XDGADevice;
9417ca54c3Smrg
9517ca54c3Smrg
9617ca54c3Smrg#endif /* _XF86DGACONST_H_ */
97