65
65
#define VM_SETPRIV(c,p) \
66
66
dixSetPrivate(&(c)->devPrivates, VidModeClientPrivateKey, p)
68
static DISPATCH_PROC(ProcXF86VidModeDispatch);
69
static DISPATCH_PROC(ProcXF86VidModeGetAllModeLines);
70
static DISPATCH_PROC(ProcXF86VidModeGetModeLine);
71
static DISPATCH_PROC(ProcXF86VidModeGetMonitor);
72
static DISPATCH_PROC(ProcXF86VidModeLockModeSwitch);
73
static DISPATCH_PROC(ProcXF86VidModeAddModeLine);
74
static DISPATCH_PROC(ProcXF86VidModeDeleteModeLine);
75
static DISPATCH_PROC(ProcXF86VidModeModModeLine);
76
static DISPATCH_PROC(ProcXF86VidModeValidateModeLine);
77
static DISPATCH_PROC(ProcXF86VidModeQueryVersion);
78
static DISPATCH_PROC(ProcXF86VidModeSwitchMode);
79
static DISPATCH_PROC(ProcXF86VidModeSwitchToMode);
80
static DISPATCH_PROC(ProcXF86VidModeGetViewPort);
81
static DISPATCH_PROC(ProcXF86VidModeSetViewPort);
82
static DISPATCH_PROC(ProcXF86VidModeGetDotClocks);
83
static DISPATCH_PROC(ProcXF86VidModeSetGamma);
84
static DISPATCH_PROC(ProcXF86VidModeGetGamma);
85
static DISPATCH_PROC(ProcXF86VidModeSetClientVersion);
86
static DISPATCH_PROC(ProcXF86VidModeGetGammaRamp);
87
static DISPATCH_PROC(ProcXF86VidModeSetGammaRamp);
88
static DISPATCH_PROC(ProcXF86VidModeGetGammaRampSize);
89
static DISPATCH_PROC(SProcXF86VidModeDispatch);
90
static DISPATCH_PROC(SProcXF86VidModeGetAllModeLines);
91
static DISPATCH_PROC(SProcXF86VidModeGetModeLine);
92
static DISPATCH_PROC(SProcXF86VidModeGetMonitor);
93
static DISPATCH_PROC(SProcXF86VidModeLockModeSwitch);
94
static DISPATCH_PROC(SProcXF86VidModeAddModeLine);
95
static DISPATCH_PROC(SProcXF86VidModeDeleteModeLine);
96
static DISPATCH_PROC(SProcXF86VidModeModModeLine);
97
static DISPATCH_PROC(SProcXF86VidModeValidateModeLine);
98
static DISPATCH_PROC(SProcXF86VidModeQueryVersion);
99
static DISPATCH_PROC(SProcXF86VidModeSwitchMode);
100
static DISPATCH_PROC(SProcXF86VidModeSwitchToMode);
101
static DISPATCH_PROC(SProcXF86VidModeGetViewPort);
102
static DISPATCH_PROC(SProcXF86VidModeSetViewPort);
103
static DISPATCH_PROC(SProcXF86VidModeGetDotClocks);
104
static DISPATCH_PROC(SProcXF86VidModeSetGamma);
105
static DISPATCH_PROC(SProcXF86VidModeGetGamma);
106
static DISPATCH_PROC(SProcXF86VidModeSetClientVersion);
107
static DISPATCH_PROC(SProcXF86VidModeGetGammaRamp);
108
static DISPATCH_PROC(SProcXF86VidModeSetGammaRamp);
109
static DISPATCH_PROC(SProcXF86VidModeGetGammaRampSize);
112
70
static unsigned char XF86VidModeReqCode = 0;
159
117
# define DEBUG_P(x) /**/
163
XFree86VidModeExtensionInit(void)
165
ExtensionEntry* extEntry;
168
Bool enabled = FALSE;
170
DEBUG_P("XFree86VidModeExtensionInit");
172
if (!dixRegisterPrivateKey(&VidModeClientPrivateKeyRec, PRIVATE_CLIENT, 0))
174
#ifdef XF86VIDMODE_EVENTS
175
if (!dixRegisterPrivateKey(&ScreenPrivateKeyRec, PRIVATE_SCREEN, 0))
179
#ifdef XF86VIDMODE_EVENTS
180
EventType = CreateNewResourceType(XF86VidModeFreeEvents, "VidModeEvent");
183
for(i = 0; i < screenInfo.numScreens; i++) {
184
pScreen = screenInfo.screens[i];
185
if (VidModeExtensionInit(pScreen))
188
/* This means that the DDX doesn't want the vidmode extension enabled */
193
#ifdef XF86VIDMODE_EVENTS
196
(extEntry = AddExtension(XF86VIDMODENAME,
197
XF86VidModeNumberEvents,
198
XF86VidModeNumberErrors,
199
ProcXF86VidModeDispatch,
200
SProcXF86VidModeDispatch,
202
StandardMinorOpcode))) {
204
XF86VidModeReqCode = (unsigned char)extEntry->base;
206
VidModeErrorBase = extEntry->errorBase;
207
#ifdef XF86VIDMODE_EVENTS
208
XF86VidModeEventBase = extEntry->eventBase;
209
EventSwapVector[XF86VidModeEventBase] = (EventSwapPtr)SXF86VidModeNotifyEvent;
215
121
ClientMajorVersion(ClientPtr client)
2166
2072
return VidModeErrorBase + XF86VidModeClientNotLocal;
2077
XFree86VidModeExtensionInit(void)
2079
ExtensionEntry* extEntry;
2082
Bool enabled = FALSE;
2084
DEBUG_P("XFree86VidModeExtensionInit");
2086
if (!dixRegisterPrivateKey(&VidModeClientPrivateKeyRec, PRIVATE_CLIENT, 0))
2088
#ifdef XF86VIDMODE_EVENTS
2089
if (!dixRegisterPrivateKey(&ScreenPrivateKeyRec, PRIVATE_SCREEN, 0))
2093
#ifdef XF86VIDMODE_EVENTS
2094
EventType = CreateNewResourceType(XF86VidModeFreeEvents, "VidModeEvent");
2097
for(i = 0; i < screenInfo.numScreens; i++) {
2098
pScreen = screenInfo.screens[i];
2099
if (VidModeExtensionInit(pScreen))
2102
/* This means that the DDX doesn't want the vidmode extension enabled */
2107
#ifdef XF86VIDMODE_EVENTS
2110
(extEntry = AddExtension(XF86VIDMODENAME,
2111
XF86VidModeNumberEvents,
2112
XF86VidModeNumberErrors,
2113
ProcXF86VidModeDispatch,
2114
SProcXF86VidModeDispatch,
2116
StandardMinorOpcode))) {
2118
XF86VidModeReqCode = (unsigned char)extEntry->base;
2120
VidModeErrorBase = extEntry->errorBase;
2121
#ifdef XF86VIDMODE_EVENTS
2122
XF86VidModeEventBase = extEntry->eventBase;
2123
EventSwapVector[XF86VidModeEventBase] = (EventSwapPtr)SXF86VidModeNotifyEvent;