1 2#ifndef __DGAPROC_H 3#define __DGAPROC_H 4 5#include <X11/Xproto.h> 6#include "pixmap.h" 7 8#define DGA_CONCURRENT_ACCESS 0x00000001 9#define DGA_FILL_RECT 0x00000002 10#define DGA_BLIT_RECT 0x00000004 11#define DGA_BLIT_RECT_TRANS 0x00000008 12#define DGA_PIXMAP_AVAILABLE 0x00000010 13 14#define DGA_INTERLACED 0x00010000 15#define DGA_DOUBLESCAN 0x00020000 16 17#define DGA_FLIP_IMMEDIATE 0x00000001 18#define DGA_FLIP_RETRACE 0x00000002 19 20#define DGA_COMPLETED 0x00000000 21#define DGA_PENDING 0x00000001 22 23#define DGA_NEED_ROOT 0x00000001 24 25typedef struct { 26 int num; /* A unique identifier for the mode (num > 0) */ 27 const char *name; /* name of mode given in the XF86Config */ 28 int VSync_num; 29 int VSync_den; 30 int flags; /* DGA_CONCURRENT_ACCESS, etc... */ 31 int imageWidth; /* linear accessible portion (pixels) */ 32 int imageHeight; 33 int pixmapWidth; /* Xlib accessible portion (pixels) */ 34 int pixmapHeight; /* both fields ignored if no concurrent access */ 35 int bytesPerScanline; 36 int byteOrder; /* MSBFirst, LSBFirst */ 37 int depth; 38 int bitsPerPixel; 39 unsigned long red_mask; 40 unsigned long green_mask; 41 unsigned long blue_mask; 42 short visualClass; 43 int viewportWidth; 44 int viewportHeight; 45 int xViewportStep; /* viewport position granularity */ 46 int yViewportStep; 47 int maxViewportX; /* max viewport origin */ 48 int maxViewportY; 49 int viewportFlags; /* types of page flipping possible */ 50 int offset; 51 int reserved1; 52 int reserved2; 53} XDGAModeRec, *XDGAModePtr; 54 55/* DDX interface */ 56 57extern Bool DGAScreenAvailable(ScreenPtr pScreen); 58extern Bool DGAActive(int Index); 59 60extern Bool DGAVTSwitch(void); 61extern Bool DGAStealButtonEvent(DeviceIntPtr dev, int Index, 62 int button, int is_down); 63extern Bool DGAStealMotionEvent(DeviceIntPtr dev, int Index, int dx, int dy); 64extern Bool DGAStealKeyEvent(DeviceIntPtr dev, int Index, 65 int key_code, int is_down); 66 67#endif /* __DGAPROC_H */ 68