1 /* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/nv/riva_type.h $ */
3 #ifndef __Riva_STRUCT_H__
4 #define __Riva_STRUCT_H__
7 #include "colormapst.h"
10 #include "xf86Cursor.h"
11 #include "xf86int10.h"
14 #define BITMASK(t,b) (((unsigned)(1U << (((t)-(b)+1)))-1) << (b))
15 #define MASKEXPAND(mask) BITMASK(1?mask,0?mask)
16 #define SetBF(mask,value) ((value) << (0?mask))
17 #define GetBF(var,mask) (((unsigned)((var) & MASKEXPAND(mask))) >> (0?mask) )
18 #define SetBitField(value,from,to) SetBF(to, GetBF(value,from))
19 #define SetBit(n) (1<<(n))
20 #define Set8Bits(value) ((value)&0xff)
22 typedef RIVA_HW_STATE* RivaRegPtr;
29 int CursorOffscreenMemSize;
30 Bool (*UseHWCursor)(ScreenPtr, CursorPtr);
31 void (*LoadCursorImage)(ScrnInfoPtr, unsigned char*);
32 void (*ShowCursor)(ScrnInfoPtr);
33 void (*HideCursor)(ScrnInfoPtr);
34 void (*SetCursorPosition)(ScrnInfoPtr, int, int);
35 void (*SetCursorColors)(ScrnInfoPtr, int, int);
37 void (*LoadPalette)(ScrnInfoPtr, int, int*, LOCO*, VisualPtr);
38 void (*Save)(ScrnInfoPtr, vgaRegPtr, RivaRegPtr, Bool);
39 void (*Restore)(ScrnInfoPtr, vgaRegPtr, RivaRegPtr, Bool);
40 Bool (*ModeInit)(ScrnInfoPtr, DisplayModePtr);
41 } RivaRamdacRec, *RivaRamdacPtr;
53 RIVA_HW_STATE SavedReg;
54 RIVA_HW_STATE ModeReg;
62 unsigned long FbAddress;
64 unsigned char * IOBase;
65 unsigned char * FbBase;
66 unsigned char * FbStart;
74 unsigned char * ShadowPtr;
78 XAAInfoRecPtr AccelInfoRec;
79 xf86CursorInfoPtr CursorInfoRec;
83 int DGAViewportStatus;
84 void (*Save)(ScrnInfoPtr, vgaRegPtr, RivaRegPtr, Bool);
85 void (*Restore)(ScrnInfoPtr, vgaRegPtr, RivaRegPtr, Bool);
86 Bool (*ModeInit)(ScrnInfoPtr, DisplayModePtr);
87 void (*PointerMoved)(int index, int x, int y);
88 CloseScreenProcPtr CloseScreen;
91 unsigned char *expandBuffer;
92 unsigned char *expandFifo;
98 RivaFBLayout CurrentLayout;
103 unsigned int opaqueMonochrome;
107 xf86Int10InfoPtr pInt;
108 OptionInfoPtr Options;
109 unsigned char DDCBase;
112 #define RivaPTR(p) ((RivaPtr)((p)->driverPrivate))
114 void RivaRefreshArea(ScrnInfoPtr pScrn, int num, BoxPtr pbox);
115 void RivaRefreshArea8(ScrnInfoPtr pScrn, int num, BoxPtr pbox);
116 void RivaRefreshArea16(ScrnInfoPtr pScrn, int num, BoxPtr pbox);
117 void RivaRefreshArea32(ScrnInfoPtr pScrn, int num, BoxPtr pbox);
118 void RivaPointerMoved(int index, int x, int y);
120 int RivaGetConfig(RivaPtr);
122 #endif /* __Riva_STRUCT_H__ */