xref: /OK3568_Linux_fs/external/xserver/include/vidmodestr.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun #ifdef HAVE_DIX_CONFIG_H
2*4882a593Smuzhiyun #include <dix-config.h>
3*4882a593Smuzhiyun #endif
4*4882a593Smuzhiyun 
5*4882a593Smuzhiyun #ifndef _VIDMODEPROC_H_
6*4882a593Smuzhiyun #define _VIDMODEPROC_H_
7*4882a593Smuzhiyun 
8*4882a593Smuzhiyun #include "displaymode.h"
9*4882a593Smuzhiyun 
10*4882a593Smuzhiyun typedef enum {
11*4882a593Smuzhiyun     VIDMODE_H_DISPLAY,
12*4882a593Smuzhiyun     VIDMODE_H_SYNCSTART,
13*4882a593Smuzhiyun     VIDMODE_H_SYNCEND,
14*4882a593Smuzhiyun     VIDMODE_H_TOTAL,
15*4882a593Smuzhiyun     VIDMODE_H_SKEW,
16*4882a593Smuzhiyun     VIDMODE_V_DISPLAY,
17*4882a593Smuzhiyun     VIDMODE_V_SYNCSTART,
18*4882a593Smuzhiyun     VIDMODE_V_SYNCEND,
19*4882a593Smuzhiyun     VIDMODE_V_TOTAL,
20*4882a593Smuzhiyun     VIDMODE_FLAGS,
21*4882a593Smuzhiyun     VIDMODE_CLOCK
22*4882a593Smuzhiyun } VidModeSelectMode;
23*4882a593Smuzhiyun 
24*4882a593Smuzhiyun typedef enum {
25*4882a593Smuzhiyun     VIDMODE_MON_VENDOR,
26*4882a593Smuzhiyun     VIDMODE_MON_MODEL,
27*4882a593Smuzhiyun     VIDMODE_MON_NHSYNC,
28*4882a593Smuzhiyun     VIDMODE_MON_NVREFRESH,
29*4882a593Smuzhiyun     VIDMODE_MON_HSYNC_LO,
30*4882a593Smuzhiyun     VIDMODE_MON_HSYNC_HI,
31*4882a593Smuzhiyun     VIDMODE_MON_VREFRESH_LO,
32*4882a593Smuzhiyun     VIDMODE_MON_VREFRESH_HI
33*4882a593Smuzhiyun } VidModeSelectMonitor;
34*4882a593Smuzhiyun 
35*4882a593Smuzhiyun typedef union {
36*4882a593Smuzhiyun     const void *ptr;
37*4882a593Smuzhiyun     int i;
38*4882a593Smuzhiyun     float f;
39*4882a593Smuzhiyun } vidMonitorValue;
40*4882a593Smuzhiyun 
41*4882a593Smuzhiyun typedef Bool            (*VidModeExtensionInitProcPtr)       (ScreenPtr pScreen);
42*4882a593Smuzhiyun typedef vidMonitorValue (*VidModeGetMonitorValueProcPtr)     (ScreenPtr pScreen,
43*4882a593Smuzhiyun                                                               int valtyp,
44*4882a593Smuzhiyun                                                               int indx);
45*4882a593Smuzhiyun typedef Bool            (*VidModeGetEnabledProcPtr)          (void);
46*4882a593Smuzhiyun typedef Bool            (*VidModeGetAllowNonLocalProcPtr)    (void);
47*4882a593Smuzhiyun typedef Bool            (*VidModeGetCurrentModelineProcPtr)  (ScreenPtr pScreen,
48*4882a593Smuzhiyun                                                               DisplayModePtr *mode,
49*4882a593Smuzhiyun                                                               int *dotClock);
50*4882a593Smuzhiyun typedef Bool            (*VidModeGetFirstModelineProcPtr)    (ScreenPtr pScreen,
51*4882a593Smuzhiyun                                                               DisplayModePtr *mode,
52*4882a593Smuzhiyun                                                               int *dotClock);
53*4882a593Smuzhiyun typedef Bool            (*VidModeGetNextModelineProcPtr)     (ScreenPtr pScreen,
54*4882a593Smuzhiyun                                                               DisplayModePtr *mode,
55*4882a593Smuzhiyun                                                               int *dotClock);
56*4882a593Smuzhiyun typedef Bool            (*VidModeDeleteModelineProcPtr)      (ScreenPtr pScreen,
57*4882a593Smuzhiyun                                                               DisplayModePtr mode);
58*4882a593Smuzhiyun typedef Bool            (*VidModeZoomViewportProcPtr)        (ScreenPtr pScreen,
59*4882a593Smuzhiyun                                                               int zoom);
60*4882a593Smuzhiyun typedef Bool            (*VidModeGetViewPortProcPtr)         (ScreenPtr pScreen,
61*4882a593Smuzhiyun                                                               int *x,
62*4882a593Smuzhiyun                                                               int *y);
63*4882a593Smuzhiyun typedef Bool            (*VidModeSetViewPortProcPtr)         (ScreenPtr pScreen,
64*4882a593Smuzhiyun                                                               int x,
65*4882a593Smuzhiyun                                                               int y);
66*4882a593Smuzhiyun typedef Bool            (*VidModeSwitchModeProcPtr)          (ScreenPtr pScreen,
67*4882a593Smuzhiyun                                                               DisplayModePtr mode);
68*4882a593Smuzhiyun typedef Bool            (*VidModeLockZoomProcPtr)            (ScreenPtr pScreen,
69*4882a593Smuzhiyun                                                               Bool lock);
70*4882a593Smuzhiyun typedef int             (*VidModeGetNumOfClocksProcPtr)      (ScreenPtr pScreen,
71*4882a593Smuzhiyun                                                               Bool *progClock);
72*4882a593Smuzhiyun typedef Bool            (*VidModeGetClocksProcPtr)           (ScreenPtr pScreen,
73*4882a593Smuzhiyun                                                               int *Clocks);
74*4882a593Smuzhiyun typedef ModeStatus      (*VidModeCheckModeForMonitorProcPtr) (ScreenPtr pScreen,
75*4882a593Smuzhiyun                                                               DisplayModePtr mode);
76*4882a593Smuzhiyun typedef ModeStatus      (*VidModeCheckModeForDriverProcPtr)  (ScreenPtr pScreen,
77*4882a593Smuzhiyun                                                               DisplayModePtr mode);
78*4882a593Smuzhiyun typedef void            (*VidModeSetCrtcForModeProcPtr)      (ScreenPtr pScreen,
79*4882a593Smuzhiyun                                                               DisplayModePtr mode);
80*4882a593Smuzhiyun typedef Bool            (*VidModeAddModelineProcPtr)         (ScreenPtr pScreen,
81*4882a593Smuzhiyun                                                               DisplayModePtr mode);
82*4882a593Smuzhiyun typedef int             (*VidModeGetDotClockProcPtr)         (ScreenPtr pScreen,
83*4882a593Smuzhiyun                                                               int Clock);
84*4882a593Smuzhiyun typedef int             (*VidModeGetNumOfModesProcPtr)       (ScreenPtr pScreen);
85*4882a593Smuzhiyun typedef Bool            (*VidModeSetGammaProcPtr)            (ScreenPtr pScreen,
86*4882a593Smuzhiyun                                                               float red,
87*4882a593Smuzhiyun                                                               float green,
88*4882a593Smuzhiyun                                                               float blue);
89*4882a593Smuzhiyun typedef Bool            (*VidModeGetGammaProcPtr)            (ScreenPtr pScreen,
90*4882a593Smuzhiyun                                                               float *red,
91*4882a593Smuzhiyun                                                               float *green,
92*4882a593Smuzhiyun                                                               float *blue);
93*4882a593Smuzhiyun typedef Bool            (*VidModeSetGammaRampProcPtr)        (ScreenPtr pScreen,
94*4882a593Smuzhiyun                                                               int size,
95*4882a593Smuzhiyun                                                               CARD16 *red,
96*4882a593Smuzhiyun                                                               CARD16 *green,
97*4882a593Smuzhiyun                                                               CARD16 *blue);
98*4882a593Smuzhiyun typedef Bool            (*VidModeGetGammaRampProcPtr)        (ScreenPtr pScreen,
99*4882a593Smuzhiyun                                                               int size,
100*4882a593Smuzhiyun                                                               CARD16 *red,
101*4882a593Smuzhiyun                                                               CARD16 *green,
102*4882a593Smuzhiyun                                                               CARD16 *blue);
103*4882a593Smuzhiyun typedef int             (*VidModeGetGammaRampSizeProcPtr)    (ScreenPtr pScreen);
104*4882a593Smuzhiyun 
105*4882a593Smuzhiyun typedef struct {
106*4882a593Smuzhiyun     DisplayModePtr First;
107*4882a593Smuzhiyun     DisplayModePtr Next;
108*4882a593Smuzhiyun     int Flags;
109*4882a593Smuzhiyun 
110*4882a593Smuzhiyun     VidModeExtensionInitProcPtr       ExtensionInit;
111*4882a593Smuzhiyun     VidModeGetMonitorValueProcPtr     GetMonitorValue;
112*4882a593Smuzhiyun     VidModeGetCurrentModelineProcPtr  GetCurrentModeline;
113*4882a593Smuzhiyun     VidModeGetFirstModelineProcPtr    GetFirstModeline;
114*4882a593Smuzhiyun     VidModeGetNextModelineProcPtr     GetNextModeline;
115*4882a593Smuzhiyun     VidModeDeleteModelineProcPtr      DeleteModeline;
116*4882a593Smuzhiyun     VidModeZoomViewportProcPtr        ZoomViewport;
117*4882a593Smuzhiyun     VidModeGetViewPortProcPtr         GetViewPort;
118*4882a593Smuzhiyun     VidModeSetViewPortProcPtr         SetViewPort;
119*4882a593Smuzhiyun     VidModeSwitchModeProcPtr          SwitchMode;
120*4882a593Smuzhiyun     VidModeLockZoomProcPtr            LockZoom;
121*4882a593Smuzhiyun     VidModeGetNumOfClocksProcPtr      GetNumOfClocks;
122*4882a593Smuzhiyun     VidModeGetClocksProcPtr           GetClocks;
123*4882a593Smuzhiyun     VidModeCheckModeForMonitorProcPtr CheckModeForMonitor;
124*4882a593Smuzhiyun     VidModeCheckModeForDriverProcPtr  CheckModeForDriver;
125*4882a593Smuzhiyun     VidModeSetCrtcForModeProcPtr      SetCrtcForMode;
126*4882a593Smuzhiyun     VidModeAddModelineProcPtr         AddModeline;
127*4882a593Smuzhiyun     VidModeGetDotClockProcPtr         GetDotClock;
128*4882a593Smuzhiyun     VidModeGetNumOfModesProcPtr       GetNumOfModes;
129*4882a593Smuzhiyun     VidModeSetGammaProcPtr            SetGamma;
130*4882a593Smuzhiyun     VidModeGetGammaProcPtr            GetGamma;
131*4882a593Smuzhiyun     VidModeSetGammaRampProcPtr        SetGammaRamp;
132*4882a593Smuzhiyun     VidModeGetGammaRampProcPtr        GetGammaRamp;
133*4882a593Smuzhiyun     VidModeGetGammaRampSizeProcPtr    GetGammaRampSize;
134*4882a593Smuzhiyun } VidModeRec, *VidModePtr;
135*4882a593Smuzhiyun 
136*4882a593Smuzhiyun #ifdef XF86VIDMODE
137*4882a593Smuzhiyun void VidModeAddExtension(Bool allow_non_local);
138*4882a593Smuzhiyun VidModePtr VidModeGetPtr(ScreenPtr pScreen);
139*4882a593Smuzhiyun VidModePtr VidModeInit(ScreenPtr pScreen);
140*4882a593Smuzhiyun #endif /* XF86VIDMODE */
141*4882a593Smuzhiyun 
142*4882a593Smuzhiyun #endif
143