Lines Matching +full:mode +full:-
30 if (a->width != b->width) in RRModeEqual()
32 if (a->height != b->height) in RRModeEqual()
34 if (a->dotClock != b->dotClock) in RRModeEqual()
36 if (a->hSyncStart != b->hSyncStart) in RRModeEqual()
38 if (a->hSyncEnd != b->hSyncEnd) in RRModeEqual()
40 if (a->hTotal != b->hTotal) in RRModeEqual()
42 if (a->hSkew != b->hSkew) in RRModeEqual()
44 if (a->vSyncStart != b->vSyncStart) in RRModeEqual()
46 if (a->vSyncEnd != b->vSyncEnd) in RRModeEqual()
48 if (a->vTotal != b->vTotal) in RRModeEqual()
50 if (a->nameLength != b->nameLength) in RRModeEqual()
52 if (a->modeFlags != b->modeFlags) in RRModeEqual()
66 RRModePtr mode, *newModes; in RRModeCreate() local
71 mode = malloc(sizeof(RRModeRec) + modeInfo->nameLength + 1); in RRModeCreate()
72 if (!mode) in RRModeCreate()
74 mode->refcnt = 1; in RRModeCreate()
75 mode->mode = *modeInfo; in RRModeCreate()
76 mode->name = (char *) (mode + 1); in RRModeCreate()
77 memcpy(mode->name, name, modeInfo->nameLength); in RRModeCreate()
78 mode->name[modeInfo->nameLength] = '\0'; in RRModeCreate()
79 mode->userScreen = userScreen; in RRModeCreate()
87 free(mode); in RRModeCreate()
91 mode->mode.id = FakeClientID(0); in RRModeCreate()
92 if (!AddResource(mode->mode.id, RRModeType, (void *) mode)) { in RRModeCreate()
97 modes[num_modes++] = mode; in RRModeCreate()
100 * give the caller a reference to this mode in RRModeCreate()
102 ++mode->refcnt; in RRModeCreate()
103 return mode; in RRModeCreate()
110 RRModePtr mode; in RRModeFindByName() local
113 mode = modes[i]; in RRModeFindByName()
114 if (mode->mode.nameLength == nameLength && in RRModeFindByName()
115 !memcmp(name, mode->name, nameLength)) { in RRModeFindByName()
116 return mode; in RRModeFindByName()
128 RRModePtr mode = modes[i]; in RRModeGet() local
130 if (RRModeEqual(&mode->mode, modeInfo) && in RRModeGet()
131 !memcmp(name, mode->name, modeInfo->nameLength)) { in RRModeGet()
132 ++mode->refcnt; in RRModeGet()
133 return mode; in RRModeGet()
144 RRModePtr mode; in RRModeCreateUser() local
146 mode = RRModeFindByName(name, modeInfo->nameLength); in RRModeCreateUser()
147 if (mode) { in RRModeCreateUser()
152 mode = RRModeCreate(modeInfo, name, pScreen); in RRModeCreateUser()
153 if (!mode) { in RRModeCreateUser()
158 return mode; in RRModeCreateUser()
176 for (o = 0; o < pScrPriv->numOutputs; o++) { in RRModesForScreen()
177 RROutputPtr output = pScrPriv->outputs[o]; in RRModesForScreen()
180 for (m = 0; m < output->numModes + output->numUserModes; m++) { in RRModesForScreen()
181 RRModePtr mode = (m < output->numModes ? in RRModesForScreen() local
182 output->modes[m] : in RRModesForScreen()
183 output->userModes[m - output->numModes]); in RRModesForScreen()
185 if (screen_modes[n] == mode) in RRModesForScreen()
188 screen_modes[num_screen_modes++] = mode; in RRModesForScreen()
196 for (c = 0; c < pScrPriv->numCrtcs; c++) { in RRModesForScreen()
197 RRCrtcPtr crtc = pScrPriv->crtcs[c]; in RRModesForScreen()
198 RRModePtr mode = crtc->mode; in RRModesForScreen() local
201 if (!mode) in RRModesForScreen()
204 if (screen_modes[n] == mode) in RRModesForScreen()
207 screen_modes[num_screen_modes++] = mode; in RRModesForScreen()
213 RRModePtr mode = modes[m]; in RRModesForScreen() local
216 if (mode->userScreen != pScreen) in RRModesForScreen()
219 if (screen_modes[n] == mode) in RRModesForScreen()
222 screen_modes[num_screen_modes++] = mode; in RRModesForScreen()
230 RRModeDestroy(RRModePtr mode) in RRModeDestroy() argument
234 if (--mode->refcnt > 0) in RRModeDestroy()
237 if (modes[m] == mode) { in RRModeDestroy()
239 (num_modes - m - 1) * sizeof(RRModePtr)); in RRModeDestroy()
240 num_modes--; in RRModeDestroy()
249 free(mode); in RRModeDestroy()
260 * Initialize mode type
267 RRModeType = CreateNewResourceType(RRModeDestroyResource, "MODE"); in RRModeInit()
275 * Initialize mode type error value
294 RRModePtr mode; in ProcRRCreateMode() local
297 rc = dixLookupWindow(&pWin, stuff->window, client, DixGetAttrAccess); in ProcRRCreateMode()
301 pScreen = pWin->drawable.pScreen; in ProcRRCreateMode()
303 modeInfo = &stuff->modeInfo; in ProcRRCreateMode()
305 units_after = (stuff->length - bytes_to_int32(sizeof(xRRCreateModeReq))); in ProcRRCreateMode()
308 if (bytes_to_int32(modeInfo->nameLength) > units_after) in ProcRRCreateMode()
311 mode = RRModeCreateUser(pScreen, modeInfo, name, &error); in ProcRRCreateMode()
312 if (!mode) in ProcRRCreateMode()
317 .sequenceNumber = client->sequence, in ProcRRCreateMode()
319 .mode = mode->mode.id in ProcRRCreateMode()
321 if (client->swapped) { in ProcRRCreateMode()
324 swapl(&rep.mode); in ProcRRCreateMode()
327 /* Drop out reference to this mode */ in ProcRRCreateMode()
328 RRModeDestroy(mode); in ProcRRCreateMode()
336 RRModePtr mode; in ProcRRDestroyMode() local
339 VERIFY_RR_MODE(stuff->mode, mode, DixDestroyAccess); in ProcRRDestroyMode()
341 if (!mode->userScreen) in ProcRRDestroyMode()
343 if (mode->refcnt > 1) in ProcRRDestroyMode()
345 FreeResource(stuff->mode, 0); in ProcRRDestroyMode()
353 RRModePtr mode; in ProcRRAddOutputMode() local
357 VERIFY_RR_OUTPUT(stuff->output, output, DixReadAccess); in ProcRRAddOutputMode()
358 VERIFY_RR_MODE(stuff->mode, mode, DixUseAccess); in ProcRRAddOutputMode()
363 return RROutputAddUserMode(output, mode); in ProcRRAddOutputMode()
370 RRModePtr mode; in ProcRRDeleteOutputMode() local
374 VERIFY_RR_OUTPUT(stuff->output, output, DixReadAccess); in ProcRRDeleteOutputMode()
375 VERIFY_RR_MODE(stuff->mode, mode, DixUseAccess); in ProcRRDeleteOutputMode()
380 return RROutputDeleteUserMode(output, mode); in ProcRRDeleteOutputMode()