Lines Matching refs:scrn
87 I830LoadPalette(ScrnInfoPtr scrn, int numColors, int *indices,
90 xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(scrn);
98 switch (scrn->depth) {
158 ScrnInfoPtr scrn = xf86ScreenToScrn(screen);
159 intel_screen_private *intel = intel_get_screen_private(scrn);
168 intel_copy_fb(scrn);
187 intel_batch_submit(intel->scrn);
190 static void PreInitCleanup(ScrnInfoPtr scrn)
192 if (!scrn || !scrn->driverPrivate)
195 free(scrn->driverPrivate);
196 scrn->driverPrivate = NULL;
199 static void intel_check_chipset_option(ScrnInfoPtr scrn)
201 intel_screen_private *intel = intel_get_screen_private(scrn);
202 intel_detect_chipset(scrn, intel->dev);
205 static Bool I830GetEarlyOptions(ScrnInfoPtr scrn)
207 intel_screen_private *intel = intel_get_screen_private(scrn);
210 intel->Options = intel_options_get(scrn);
251 static void intel_check_dri_option(ScrnInfoPtr scrn)
253 intel_screen_private *intel = intel_get_screen_private(scrn);
259 if (scrn->depth != 16 && scrn->depth != 24 && scrn->depth != 30) {
260 xf86DrvMsg(scrn->scrnIndex, X_CONFIG,
267 static Bool intel_open_drm_master(ScrnInfoPtr scrn)
269 intel_screen_private *intel = intel_get_screen_private(scrn);
270 intel->dev = intel_get_device(scrn, &intel->drmSubFD);
312 static void I830XvInit(ScrnInfoPtr scrn)
314 intel_screen_private *intel = intel_get_screen_private(scrn);
328 (1 << scrn->offset.red) | (1 << scrn->offset.green) |
329 (((scrn->mask.blue >> scrn->offset.blue) - 1) <<
330 scrn->offset.blue);
333 xf86DrvMsg(scrn->scrnIndex, from, "video overlay key set to 0x%x\n",
376 xf86DrvMsg(intel->scrn->scrnIndex, X_CONFIG,
389 xf86DrvMsg(intel->scrn->scrnIndex, X_WARNING,
412 static void intel_setup_capabilities(ScrnInfoPtr scrn)
415 intel_screen_private *intel = intel_get_screen_private(scrn);
419 scrn->capabilities = 0;
424 scrn->capabilities |= RR_Capability_SourceOutput | RR_Capability_SinkOffload;
426 scrn->capabilities |= RR_Capability_SinkOutput;
444 static Bool I830PreInit(ScrnInfoPtr scrn, int flags)
452 if (scrn->numEntities != 1)
455 pEnt = xf86GetEntityInfo(scrn->entityList[0]);
469 if (((uintptr_t)scrn->driverPrivate) & 3) {
474 intel->info = (void *)((uintptr_t)scrn->driverPrivate & ~3);
475 scrn->driverPrivate = intel;
477 intel = intel_get_screen_private(scrn);
478 intel->scrn = scrn;
481 scrn->displayWidth = 640; /* default it */
483 if (!intel_open_drm_master(scrn)) {
484 xf86DrvMsg(scrn->scrnIndex, X_ERROR,
489 scrn->monitor = scrn->confScreen->monitor;
490 scrn->progClock = TRUE;
491 scrn->rgbBits = 8;
495 if (!xf86SetDepthBpp(scrn, 0, 0, 0, flags24))
498 switch (scrn->depth) {
506 xf86DrvMsg(scrn->scrnIndex, X_ERROR,
508 scrn->depth);
511 xf86PrintDepthBpp(scrn);
513 if (!xf86SetWeight(scrn, defaultWeight, defaultWeight))
515 if (!xf86SetDefaultVisual(scrn, -1))
518 intel->cpp = scrn->bitsPerPixel / 8;
520 if (!I830GetEarlyOptions(scrn))
523 intel_setup_capabilities(scrn);
524 intel_check_chipset_option(scrn);
525 intel_check_dri_option(scrn);
528 PreInitCleanup(scrn);
557 xf86DrvMsg(scrn->scrnIndex, X_CONFIG,
565 xf86DrvMsg(scrn->scrnIndex, X_CONFIG, "Wait on SwapBuffers? %s\n",
572 xf86DrvMsg(scrn->scrnIndex, X_CONFIG, "Triple buffering? %s\n",
575 xf86DrvMsg(scrn->scrnIndex, X_CONFIG, "Framebuffer %s\n",
577 xf86DrvMsg(scrn->scrnIndex, X_CONFIG, "Pixmaps %s\n",
579 xf86DrvMsg(scrn->scrnIndex, X_CONFIG, "3D buffers %s\n",
581 xf86DrvMsg(scrn->scrnIndex, X_CONFIG, "SwapBuffers wait %sabled\n",
584 I830XvInit(scrn);
586 if (!intel_mode_pre_init(scrn, intel->drmSubFD, intel->cpp)) {
587 PreInitCleanup(scrn);
591 if (!xf86SetGamma(scrn, zeros)) {
592 PreInitCleanup(scrn);
596 if (scrn->modes == NULL) {
597 xf86DrvMsg(scrn->scrnIndex, X_ERROR, "No modes.\n");
598 PreInitCleanup(scrn);
601 scrn->currentMode = scrn->modes;
604 xf86SetDpi(scrn, 0, 0);
607 if (!xf86LoadSubModule(scrn, "fb")) {
608 PreInitCleanup(scrn);
614 if (intel->dri2 != DRI_DISABLED && !xf86LoadSubModule(scrn, "dri2"))
618 if (intel->dri3 != DRI_DISABLED && !xf86LoadSubModule(scrn, "dri3"))
633 ScrnInfoPtr scrn = xf86ScreenToScrn(screen);
634 intel_screen_private *intel = intel_get_screen_private(scrn);
692 ScrnInfoPtr scrn = xf86ScreenToScrn(screen);
693 intel_screen_private *intel = intel_get_screen_private(scrn);
710 intel_init_initial_framebuffer(ScrnInfoPtr scrn)
712 intel_screen_private *intel = intel_get_screen_private(scrn);
713 int width = scrn->virtualX;
714 int height = scrn->virtualY;
718 intel->front_buffer = intel_allocate_framebuffer(scrn,
724 xf86DrvMsg(scrn->scrnIndex, X_ERROR,
731 scrn->displayWidth = pitch / intel->cpp;
740 ScrnInfoPtr scrn = user_data;
741 if (scrn->vtSema)
742 intel_flush(intel_get_screen_private(scrn));
749 ScrnInfoPtr scrn = closure;
750 intel_screen_private *intel = intel_get_screen_private(scrn);
783 I830UeventInit(ScrnInfoPtr scrn)
785 intel_screen_private *intel = intel_get_screen_private(scrn);
796 xf86DrvMsg(scrn->scrnIndex, from, "hotplug detection: \"%s\"\n",
823 I830HandleUEvents, scrn);
834 I830UeventFini(ScrnInfoPtr scrn)
836 intel_screen_private *intel = intel_get_screen_private(scrn);
854 ScrnInfoPtr scrn = xf86ScreenToScrn(screen);
855 intel_screen_private *intel = intel_get_screen_private(scrn);
863 scrn->videoRam = device->regions[fb_bar].size / 1024;
874 if (!intel_init_initial_framebuffer(scrn))
878 if (!miSetVisualTypes(scrn->depth,
879 miGetDefaultVisualMask(scrn->depth),
880 scrn->rgbBits, scrn->defaultVisual))
887 scrn->virtualX, scrn->virtualY,
888 scrn->xDpi, scrn->yDpi,
889 scrn->displayWidth, scrn->bitsPerPixel))
892 if (scrn->bitsPerPixel > 8) {
897 visual->offsetRed = scrn->offset.red;
898 visual->offsetGreen = scrn->offset.green;
899 visual->offsetBlue = scrn->offset.blue;
900 visual->redMask = scrn->mask.red;
901 visual->greenMask = scrn->mask.green;
902 visual->blueMask = scrn->mask.blue;
912 xf86DrvMsg(scrn->scrnIndex, X_ERROR,
936 xf86DrvMsg(scrn->scrnIndex, X_INFO, "Initializing HW Cursor\n");
946 xf86DrvMsg(scrn->scrnIndex, X_ERROR,
958 if (!AddCallback(&FlushCallback, intel_flush_callback, scrn))
987 xf86DrvMsg(scrn->scrnIndex, from, "Intel XvMC decoder %sabled\n",
997 xf86DrvMsg(scrn->scrnIndex, X_INFO,
1001 xf86DrvMsg(scrn->scrnIndex, X_INFO,
1005 xf86DrvMsg(scrn->scrnIndex, X_INFO,
1010 xf86DrvMsg(scrn->scrnIndex, X_INFO,
1017 xf86DrvMsg(scrn->scrnIndex, X_INFO,
1021 xf86DrvMsg(scrn->scrnIndex, X_INFO,
1025 xf86DrvMsg(scrn->scrnIndex, X_INFO,
1030 xf86DrvMsg(scrn->scrnIndex, X_INFO,
1035 xf86ShowUnusedOptions(scrn->scrnIndex, scrn->options);
1042 I830UeventInit(scrn);
1047 scrn->vtSema = TRUE;
1059 intel_screen_private *intel = intel_get_screen_private(scrn);
1067 scrn->driverPrivate = NULL;
1074 intel_screen_private *intel = intel_get_screen_private(scrn);
1076 xf86RotateFreeShadow(scrn);
1078 xf86_hide_cursors(scrn);
1081 xf86DrvMsg(scrn->scrnIndex, X_WARNING,
1091 intel_screen_private *intel = intel_get_screen_private(scrn);
1094 xf86DrvMsg(scrn->scrnIndex, X_WARNING,
1100 if (!xf86SetDesiredModes(scrn))
1103 intel_mode_disable_unused_functions(scrn);
1111 return xf86SetSingleMode(scrn, mode, RR_Rotate_0);
1116 ScrnInfoPtr scrn = xf86ScreenToScrn(screen);
1117 intel_screen_private *intel = intel_get_screen_private(scrn);
1120 I830UeventFini(scrn);
1125 DeleteCallback(&FlushCallback, intel_flush_callback, scrn);
1147 if (scrn->vtSema == TRUE) {
1151 intel_batch_teardown(scrn);
1154 gen4_render_state_cleanup(scrn);
1158 i965_free_video(scrn);
1175 xf86GARTCloseScreen(scrn->scrnIndex);
1177 scrn->vtSema = FALSE;
1187 xf86DrvMsg(scrn->scrnIndex, X_PROBED,
1211 intel_screen_private *intel = intel_get_screen_private(scrn);
1220 scrn->LeaveVT(VT_FUNC_ARGS(0));
1225 scrn->EnterVT(VT_FUNC_ARGS(0));
1234 scrn->EnterVT(VT_FUNC_ARGS(0));
1260 Bool intel_init_scrn(ScrnInfoPtr scrn)
1262 scrn->PreInit = I830PreInit;
1263 scrn->ScreenInit = I830ScreenInit;
1264 scrn->SwitchMode = I830SwitchMode;
1265 scrn->AdjustFrame = i830AdjustFrame;
1266 scrn->EnterVT = I830EnterVT;
1267 scrn->LeaveVT = I830LeaveVT;
1268 scrn->FreeScreen = I830FreeScreen;
1269 scrn->ValidMode = I830ValidMode;
1270 scrn->PMEvent = I830PMEvent;