~ubuntu-branches/ubuntu/precise/xorg-server/precise-updates

« back to all changes in this revision

Viewing changes to hw/xfree86/dixmods/extmod/xf86vmode.c

Tags: 2:1.10.1-2
* Build xserver-xorg-core-udeb on hurd-i386.  Thanks, Samuel Thibault!
* Upload to unstable.

Show diffs side-by-side

added added

removed removed

Lines of Context:
65
65
#define VM_SETPRIV(c,p) \
66
66
    dixSetPrivate(&(c)->devPrivates, VidModeClientPrivateKey, p)
67
67
 
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);
110
68
 
111
69
#if 0
112
70
static unsigned char XF86VidModeReqCode = 0;
159
117
# define DEBUG_P(x) /**/
160
118
#endif
161
119
 
162
 
void
163
 
XFree86VidModeExtensionInit(void)
164
 
{
165
 
    ExtensionEntry* extEntry;
166
 
    ScreenPtr pScreen;
167
 
    int             i;
168
 
    Bool            enabled = FALSE;
169
 
 
170
 
    DEBUG_P("XFree86VidModeExtensionInit");
171
 
 
172
 
    if (!dixRegisterPrivateKey(&VidModeClientPrivateKeyRec, PRIVATE_CLIENT, 0))
173
 
        return;
174
 
#ifdef XF86VIDMODE_EVENTS
175
 
    if (!dixRegisterPrivateKey(&ScreenPrivateKeyRec, PRIVATE_SCREEN, 0))
176
 
        return;
177
 
#endif
178
 
 
179
 
#ifdef XF86VIDMODE_EVENTS
180
 
    EventType = CreateNewResourceType(XF86VidModeFreeEvents, "VidModeEvent");
181
 
#endif
182
 
 
183
 
    for(i = 0; i < screenInfo.numScreens; i++) {
184
 
        pScreen = screenInfo.screens[i];
185
 
        if (VidModeExtensionInit(pScreen))
186
 
            enabled = TRUE;
187
 
    }
188
 
    /* This means that the DDX doesn't want the vidmode extension enabled */
189
 
    if (!enabled)
190
 
        return;
191
 
 
192
 
    if (
193
 
#ifdef XF86VIDMODE_EVENTS
194
 
        EventType &&
195
 
#endif
196
 
        (extEntry = AddExtension(XF86VIDMODENAME,
197
 
                                XF86VidModeNumberEvents,
198
 
                                XF86VidModeNumberErrors,
199
 
                                ProcXF86VidModeDispatch,
200
 
                                SProcXF86VidModeDispatch,
201
 
                                NULL,
202
 
                                StandardMinorOpcode))) {
203
 
#if 0
204
 
        XF86VidModeReqCode = (unsigned char)extEntry->base;
205
 
#endif
206
 
        VidModeErrorBase = extEntry->errorBase;
207
 
#ifdef XF86VIDMODE_EVENTS
208
 
        XF86VidModeEventBase = extEntry->eventBase;
209
 
        EventSwapVector[XF86VidModeEventBase] = (EventSwapPtr)SXF86VidModeNotifyEvent;
210
 
#endif
211
 
    }
212
 
}
213
 
 
214
120
static int
215
121
ClientMajorVersion(ClientPtr client)
216
122
{
2166
2072
            return VidModeErrorBase + XF86VidModeClientNotLocal;
2167
2073
    }
2168
2074
}
 
2075
 
 
2076
void
 
2077
XFree86VidModeExtensionInit(void)
 
2078
{
 
2079
    ExtensionEntry* extEntry;
 
2080
    ScreenPtr pScreen;
 
2081
    int             i;
 
2082
    Bool            enabled = FALSE;
 
2083
 
 
2084
    DEBUG_P("XFree86VidModeExtensionInit");
 
2085
 
 
2086
    if (!dixRegisterPrivateKey(&VidModeClientPrivateKeyRec, PRIVATE_CLIENT, 0))
 
2087
        return;
 
2088
#ifdef XF86VIDMODE_EVENTS
 
2089
    if (!dixRegisterPrivateKey(&ScreenPrivateKeyRec, PRIVATE_SCREEN, 0))
 
2090
        return;
 
2091
#endif
 
2092
 
 
2093
#ifdef XF86VIDMODE_EVENTS
 
2094
    EventType = CreateNewResourceType(XF86VidModeFreeEvents, "VidModeEvent");
 
2095
#endif
 
2096
 
 
2097
    for(i = 0; i < screenInfo.numScreens; i++) {
 
2098
        pScreen = screenInfo.screens[i];
 
2099
        if (VidModeExtensionInit(pScreen))
 
2100
            enabled = TRUE;
 
2101
    }
 
2102
    /* This means that the DDX doesn't want the vidmode extension enabled */
 
2103
    if (!enabled)
 
2104
        return;
 
2105
 
 
2106
    if (
 
2107
#ifdef XF86VIDMODE_EVENTS
 
2108
        EventType &&
 
2109
#endif
 
2110
        (extEntry = AddExtension(XF86VIDMODENAME,
 
2111
                                XF86VidModeNumberEvents,
 
2112
                                XF86VidModeNumberErrors,
 
2113
                                ProcXF86VidModeDispatch,
 
2114
                                SProcXF86VidModeDispatch,
 
2115
                                NULL,
 
2116
                                StandardMinorOpcode))) {
 
2117
#if 0
 
2118
        XF86VidModeReqCode = (unsigned char)extEntry->base;
 
2119
#endif
 
2120
        VidModeErrorBase = extEntry->errorBase;
 
2121
#ifdef XF86VIDMODE_EVENTS
 
2122
        XF86VidModeEventBase = extEntry->eventBase;
 
2123
        EventSwapVector[XF86VidModeEventBase] = (EventSwapPtr)SXF86VidModeNotifyEvent;
 
2124
#endif
 
2125
    }
 
2126
}