Lines Matching +full:mode +full:-

33 #include <xorg-config.h>
46 VbeModeInfoBlock *mode; in GetDepthFlag() local
49 if ((mode = VBEGetModeInfo(pVbe, id)) == NULL) in GetDepthFlag()
52 if (VBE_MODE_USABLE(mode, 0)) { in GetDepthFlag()
55 if (VBE_MODE_COLOR(mode)) { in GetDepthFlag()
56 depth = mode->RedMaskSize + mode->GreenMaskSize + in GetDepthFlag()
57 mode->BlueMaskSize; in GetDepthFlag()
62 bpp = mode->BitsPerPixel; in GetDepthFlag()
63 VBEFreeModeInfo(mode); in GetDepthFlag()
64 mode = NULL; in GetDepthFlag()
85 if (mode) in GetDepthFlag()
86 VBEFreeModeInfo(mode); in GetDepthFlag()
91 * Find supported mode depths.
101 while (vbe->VideoModePtr[i] != 0xffff) { in VBEFindSupportedDepths()
102 depths |= GetDepthFlag(pVbe, vbe->VideoModePtr[i++]); in VBEFindSupportedDepths()
130 VbeModeInfoBlock *mode; in CheckMode() local
135 major = (unsigned) (vbe->VESAVersion >> 8); in CheckMode()
137 if ((mode = VBEGetModeInfo(pVbe, id)) == NULL) in CheckMode()
140 /* Does the mode match the depth/bpp? */ in CheckMode()
142 if (VBE_MODE_USABLE(mode, flags) && in CheckMode()
143 ((pScrn->bitsPerPixel == 1 && !VBE_MODE_COLOR(mode)) || in CheckMode()
144 (mode->BitsPerPixel > 8 && in CheckMode()
145 (mode->RedMaskSize + mode->GreenMaskSize + in CheckMode()
146 mode->BlueMaskSize) == pScrn->depth && in CheckMode()
147 mode->BitsPerPixel == pScrn->bitsPerPixel) || in CheckMode()
148 (mode->BitsPerPixel == 15 && pScrn->depth == 15) || in CheckMode()
149 (mode->BitsPerPixel <= 8 && in CheckMode()
150 mode->BitsPerPixel == pScrn->bitsPerPixel))) { in CheckMode()
156 "Mode: %x (%dx%d)\n", id, mode->XResolution, in CheckMode()
157 mode->YResolution); in CheckMode()
159 mode->ModeAttributes); in CheckMode()
161 mode->WinAAttributes); in CheckMode()
163 mode->WinBAttributes); in CheckMode()
165 mode->WinGranularity); in CheckMode()
166 xf86ErrorFVerb(DEBUG_VERB, " WinSize: %d\n", mode->WinSize); in CheckMode()
168 " WinASegment: 0x%x\n", mode->WinASegment); in CheckMode()
170 " WinBSegment: 0x%x\n", mode->WinBSegment); in CheckMode()
172 " WinFuncPtr: 0x%lx\n", (unsigned long) mode->WinFuncPtr); in CheckMode()
174 " BytesPerScanline: %d\n", mode->BytesPerScanline); in CheckMode()
175 xf86ErrorFVerb(DEBUG_VERB, " XResolution: %d\n", mode->XResolution); in CheckMode()
176 xf86ErrorFVerb(DEBUG_VERB, " YResolution: %d\n", mode->YResolution); in CheckMode()
177 xf86ErrorFVerb(DEBUG_VERB, " XCharSize: %d\n", mode->XCharSize); in CheckMode()
178 xf86ErrorFVerb(DEBUG_VERB, " YCharSize: %d\n", mode->YCharSize); in CheckMode()
180 " NumberOfPlanes: %d\n", mode->NumberOfPlanes); in CheckMode()
182 " BitsPerPixel: %d\n", mode->BitsPerPixel); in CheckMode()
184 " NumberOfBanks: %d\n", mode->NumberOfBanks); in CheckMode()
185 xf86ErrorFVerb(DEBUG_VERB, " MemoryModel: %d\n", mode->MemoryModel); in CheckMode()
186 xf86ErrorFVerb(DEBUG_VERB, " BankSize: %d\n", mode->BankSize); in CheckMode()
188 " NumberOfImages: %d\n", mode->NumberOfImages); in CheckMode()
189 xf86ErrorFVerb(DEBUG_VERB, " RedMaskSize: %d\n", mode->RedMaskSize); in CheckMode()
191 " RedFieldPosition: %d\n", mode->RedFieldPosition); in CheckMode()
193 " GreenMaskSize: %d\n", mode->GreenMaskSize); in CheckMode()
195 " GreenFieldPosition: %d\n", mode->GreenFieldPosition); in CheckMode()
197 " BlueMaskSize: %d\n", mode->BlueMaskSize); in CheckMode()
199 " BlueFieldPosition: %d\n", mode->BlueFieldPosition); in CheckMode()
201 " RsvdMaskSize: %d\n", mode->RsvdMaskSize); in CheckMode()
203 " RsvdFieldPosition: %d\n", mode->RsvdFieldPosition); in CheckMode()
205 " DirectColorModeInfo: %d\n", mode->DirectColorModeInfo); in CheckMode()
209 (unsigned long) mode->PhysBasePtr); in CheckMode()
213 mode->LinBytesPerScanLine); in CheckMode()
215 mode->BnkNumberOfImagePages); in CheckMode()
217 mode->LinNumberOfImagePages); in CheckMode()
219 mode->LinRedMaskSize); in CheckMode()
221 mode->LinRedFieldPosition); in CheckMode()
223 mode->LinGreenMaskSize); in CheckMode()
225 mode->LinGreenFieldPosition); in CheckMode()
227 mode->LinBlueMaskSize); in CheckMode()
229 mode->LinBlueFieldPosition); in CheckMode()
231 mode->LinRsvdMaskSize); in CheckMode()
233 mode->LinRsvdFieldPosition); in CheckMode()
235 (unsigned long) mode->MaxPixelClock); in CheckMode()
240 VBEFreeModeInfo(mode); in CheckMode()
245 pMode->status = MODE_OK; in CheckMode()
246 pMode->type = M_T_BUILTIN; in CheckMode()
249 pMode->HDisplay = mode->XResolution; in CheckMode()
250 pMode->VDisplay = mode->YResolution; in CheckMode()
253 data->mode = id; in CheckMode()
254 data->data = mode; in CheckMode()
255 pMode->PrivSize = sizeof(VbeModeInfoData); in CheckMode()
256 pMode->Private = (INT32 *) data; in CheckMode()
257 pMode->next = NULL; in CheckMode()
263 * requirements into the modePool. Note: modePool is a NULL-terminated
275 while (vbe->VideoModePtr[i] != 0xffff) { in VBEGetModePool()
276 int id = vbe->VideoModePtr[i++]; in VBEGetModePool()
281 /* Check the mode against a specified virtual size (if any) */ in VBEGetModePool()
282 if (pScrn->display->virtualX > 0 && in VBEGetModePool()
283 pMode->HDisplay > pScrn->display->virtualX) { in VBEGetModePool()
286 if (pScrn->display->virtualY > 0 && in VBEGetModePool()
287 pMode->VDisplay > pScrn->display->virtualY) { in VBEGetModePool()
291 xf86DrvMsg(pScrn->scrnIndex, X_INFO, in VBEGetModePool()
292 "Not using mode \"%dx%d\" (%s)\n", in VBEGetModePool()
293 pMode->HDisplay, pMode->VDisplay, in VBEGetModePool()
301 p->next = pMode; in VBEGetModePool()
303 pMode->prev = NULL; in VBEGetModePool()
314 /* Check the mode against a specified virtual size (if any) */ in VBEGetModePool()
315 if (pScrn->display->virtualX > 0 && in VBEGetModePool()
316 pMode->HDisplay > pScrn->display->virtualX) { in VBEGetModePool()
319 if (pScrn->display->virtualY > 0 && in VBEGetModePool()
320 pMode->VDisplay > pScrn->display->virtualY) { in VBEGetModePool()
324 xf86DrvMsg(pScrn->scrnIndex, X_INFO, in VBEGetModePool()
325 "Not using mode \"%dx%d\" (%s)\n", in VBEGetModePool()
326 pMode->HDisplay, pMode->VDisplay, in VBEGetModePool()
334 p->next = pMode; in VBEGetModePool()
336 pMode->prev = NULL; in VBEGetModePool()
352 if (!pMode->name) { in VBESetModeNames()
354 if (pMode->HDisplay > 10000 || pMode->HDisplay < 0 || in VBESetModeNames()
355 pMode->VDisplay > 10000 || pMode->VDisplay < 0) { in VBESetModeNames()
356 pMode->name = strdup("BADMODE"); in VBESetModeNames()
361 pMode->HDisplay, pMode->VDisplay); in VBESetModeNames()
362 pMode->name = tmp; in VBESetModeNames()
365 pMode = pMode->next; in VBESetModeNames()
371 * parameters for each BIOS mode. Note: This is only supported in
380 pMode = pScrn->modes; in VBESetModeParameters()
385 for (p = pScrn->monitor->Modes; p != NULL; p = p->next) { in VBESetModeParameters()
386 if ((p->HDisplay != pMode->HDisplay) || in VBESetModeParameters()
387 (p->VDisplay != pMode->VDisplay) || in VBESetModeParameters()
388 (p->Flags & (V_INTERLACE | V_DBLSCAN | V_CLKDIV2))) in VBESetModeParameters()
391 status = xf86CheckModeForMonitor(p, pScrn->monitor); in VBESetModeParameters()
394 if (!best || (p->Clock > best->Clock)) in VBESetModeParameters()
401 data = (VbeModeInfoData *) pMode->Private; in VBESetModeParameters()
402 pMode->HSync = (float) best->Clock * 1000.0 / best->HTotal + 0.5; in VBESetModeParameters()
403 pMode->VRefresh = pMode->HSync / best->VTotal + 0.5; in VBESetModeParameters()
404 xf86DrvMsg(pScrn->scrnIndex, X_INFO, in VBESetModeParameters()
405 "Attempting to use %dHz refresh for mode \"%s\" (%x)\n", in VBESetModeParameters()
406 (int) pMode->VRefresh, pMode->name, data->mode); in VBESetModeParameters()
407 data->block = calloc(sizeof(VbeCRTCInfoBlock), 1); in VBESetModeParameters()
408 data->block->HorizontalTotal = best->HTotal; in VBESetModeParameters()
409 data->block->HorizontalSyncStart = best->HSyncStart; in VBESetModeParameters()
410 data->block->HorizontalSyncEnd = best->HSyncEnd; in VBESetModeParameters()
411 data->block->VerticalTotal = best->VTotal; in VBESetModeParameters()
412 data->block->VerticalSyncStart = best->VSyncStart; in VBESetModeParameters()
413 data->block->VerticalSyncEnd = best->VSyncEnd; in VBESetModeParameters()
414 data->block->Flags = ((best->Flags & V_NHSYNC) ? CRTC_NHSYNC : 0) | in VBESetModeParameters()
415 ((best->Flags & V_NVSYNC) ? CRTC_NVSYNC : 0); in VBESetModeParameters()
416 data->block->PixelClock = best->Clock * 1000; in VBESetModeParameters()
418 clock = VBEGetPixelClock(pVbe, data->mode, data->block->PixelClock); in VBESetModeParameters()
420 (double) data->block->PixelClock / 1000000.0, in VBESetModeParameters()
423 data->block->PixelClock = clock; in VBESetModeParameters()
424 data->mode |= (1 << 11); in VBESetModeParameters()
425 data->block->RefreshRate = ((double) (data->block->PixelClock) / in VBESetModeParameters()
426 (double) (best->HTotal * in VBESetModeParameters()
427 best->VTotal)) * 100; in VBESetModeParameters()
429 pMode = pMode->next; in VBESetModeParameters()
430 } while (pMode != pScrn->modes); in VBESetModeParameters()