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);
240 static void intel_check_dri_option(ScrnInfoPtr scrn)
242 intel_screen_private *intel = intel_get_screen_private(scrn);
252 if (scrn->depth != 16 && scrn->depth != 24 && scrn->depth != 30) {
253 xf86DrvMsg(scrn->scrnIndex, X_CONFIG,
260 static Bool intel_open_drm_master(ScrnInfoPtr scrn)
262 intel_screen_private *intel = intel_get_screen_private(scrn);
263 intel->dev = intel_get_device(scrn, &intel->drmSubFD);
305 static void I830XvInit(ScrnInfoPtr scrn)
307 intel_screen_private *intel = intel_get_screen_private(scrn);
321 (1 << scrn->offset.red) | (1 << scrn->offset.green) |
322 (((scrn->mask.blue >> scrn->offset.blue) - 1) <<
323 scrn->offset.blue);
326 xf86DrvMsg(scrn->scrnIndex, from, "video overlay key set to 0x%x\n",
369 xf86DrvMsg(intel->scrn->scrnIndex, X_CONFIG,
382 xf86DrvMsg(intel->scrn->scrnIndex, X_WARNING,
405 static void intel_setup_capabilities(ScrnInfoPtr scrn)
408 intel_screen_private *intel = intel_get_screen_private(scrn);
412 scrn->capabilities = 0;
417 scrn->capabilities |= RR_Capability_SourceOutput | RR_Capability_SinkOffload;
419 scrn->capabilities |= RR_Capability_SinkOutput;
437 static Bool I830PreInit(ScrnInfoPtr scrn, int flags)
445 if (scrn->numEntities != 1)
448 pEnt = xf86GetEntityInfo(scrn->entityList[0]);
462 if (((uintptr_t)scrn->driverPrivate) & 3) {
467 intel->info = (void *)((uintptr_t)scrn->driverPrivate & ~3);
468 scrn->driverPrivate = intel;
470 intel = intel_get_screen_private(scrn);
471 intel->scrn = scrn;
474 scrn->displayWidth = 640; /* default it */
476 if (!intel_open_drm_master(scrn)) {
477 xf86DrvMsg(scrn->scrnIndex, X_ERROR,
482 scrn->monitor = scrn->confScreen->monitor;
483 scrn->progClock = TRUE;
484 scrn->rgbBits = 8;
488 if (!xf86SetDepthBpp(scrn, 0, 0, 0, flags24))
491 switch (scrn->depth) {
499 xf86DrvMsg(scrn->scrnIndex, X_ERROR,
501 scrn->depth);
504 xf86PrintDepthBpp(scrn);
506 if (!xf86SetWeight(scrn, defaultWeight, defaultWeight))
508 if (!xf86SetDefaultVisual(scrn, -1))
511 intel->cpp = scrn->bitsPerPixel / 8;
513 if (!I830GetEarlyOptions(scrn))
516 intel_setup_capabilities(scrn);
517 intel_check_chipset_option(scrn);
518 intel_check_dri_option(scrn);
521 PreInitCleanup(scrn);
550 xf86DrvMsg(scrn->scrnIndex, X_CONFIG,
558 xf86DrvMsg(scrn->scrnIndex, X_CONFIG, "Wait on SwapBuffers? %s\n",
565 xf86DrvMsg(scrn->scrnIndex, X_CONFIG, "Triple buffering? %s\n",
568 xf86DrvMsg(scrn->scrnIndex, X_CONFIG, "Framebuffer %s\n",
570 xf86DrvMsg(scrn->scrnIndex, X_CONFIG, "Pixmaps %s\n",
572 xf86DrvMsg(scrn->scrnIndex, X_CONFIG, "3D buffers %s\n",
574 xf86DrvMsg(scrn->scrnIndex, X_CONFIG, "SwapBuffers wait %sabled\n",
577 I830XvInit(scrn);
579 if (!intel_mode_pre_init(scrn, intel->drmSubFD, intel->cpp)) {
580 PreInitCleanup(scrn);
584 if (!xf86SetGamma(scrn, zeros)) {
585 PreInitCleanup(scrn);
589 if (scrn->modes == NULL) {
590 xf86DrvMsg(scrn->scrnIndex, X_ERROR, "No modes.\n");
591 PreInitCleanup(scrn);
594 scrn->currentMode = scrn->modes;
597 xf86SetDpi(scrn, 0, 0);
600 if (!xf86LoadSubModule(scrn, "fb")) {
601 PreInitCleanup(scrn);
607 if (intel->dri2 != DRI_DISABLED && !xf86LoadSubModule(scrn, "dri2"))
611 if (intel->dri3 != DRI_DISABLED && !xf86LoadSubModule(scrn, "dri3"))
626 ScrnInfoPtr scrn = xf86ScreenToScrn(screen);
627 intel_screen_private *intel = intel_get_screen_private(scrn);
661 ScreenPtr screen = xf86ScrnToScreen(intel->scrn);
683 ScrnInfoPtr scrn = xf86ScreenToScrn(screen);
684 intel_screen_private *intel = intel_get_screen_private(scrn);
714 intel_init_initial_framebuffer(ScrnInfoPtr scrn)
716 intel_screen_private *intel = intel_get_screen_private(scrn);
717 int width = scrn->virtualX;
718 int height = scrn->virtualY;
722 intel->front_buffer = intel_allocate_framebuffer(scrn,
728 xf86DrvMsg(scrn->scrnIndex, X_ERROR,
735 scrn->displayWidth = pitch / intel->cpp;
744 ScrnInfoPtr scrn = user_data;
745 if (scrn->vtSema)
746 intel_flush(intel_get_screen_private(scrn));
755 ScrnInfoPtr scrn = closure;
756 intel_screen_private *intel = intel_get_screen_private(scrn);
798 I830UeventInit(ScrnInfoPtr scrn)
800 intel_screen_private *intel = intel_get_screen_private(scrn);
815 xf86DrvMsg(scrn->scrnIndex, from, "hotplug detection: \"%s\"\n",
842 I830HandleUEvents, scrn);
853 I830UeventFini(ScrnInfoPtr scrn)
855 intel_screen_private *intel = intel_get_screen_private(scrn);
873 ScrnInfoPtr scrn = xf86ScreenToScrn(screen);
874 intel_screen_private *intel = intel_get_screen_private(scrn);
882 scrn->videoRam = device->regions[fb_bar].size / 1024;
893 if (!intel_init_initial_framebuffer(scrn))
897 if (!miSetVisualTypes(scrn->depth,
898 miGetDefaultVisualMask(scrn->depth),
899 scrn->rgbBits, scrn->defaultVisual))
906 scrn->virtualX, scrn->virtualY,
907 scrn->xDpi, scrn->yDpi,
908 scrn->displayWidth, scrn->bitsPerPixel))
911 if (scrn->bitsPerPixel > 8) {
916 visual->offsetRed = scrn->offset.red;
917 visual->offsetGreen = scrn->offset.green;
918 visual->offsetBlue = scrn->offset.blue;
919 visual->redMask = scrn->mask.red;
920 visual->greenMask = scrn->mask.green;
921 visual->blueMask = scrn->mask.blue;
931 xf86DrvMsg(scrn->scrnIndex, X_ERROR,
955 xf86DrvMsg(scrn->scrnIndex, X_INFO, "Initializing HW Cursor\n");
965 xf86DrvMsg(scrn->scrnIndex, X_ERROR,
983 if (!AddCallback(&FlushCallback, intel_flush_callback, scrn))
999 if ((scrn->rgbBits <= 8 ||
1001 !xf86HandleColormaps(screen, 1 << scrn->rgbBits, scrn->rgbBits,
1016 xf86DrvMsg(scrn->scrnIndex, from, "Intel XvMC decoder %sabled\n",
1026 xf86DrvMsg(scrn->scrnIndex, X_INFO,
1030 xf86DrvMsg(scrn->scrnIndex, X_INFO,
1034 xf86DrvMsg(scrn->scrnIndex, X_INFO,
1039 xf86DrvMsg(scrn->scrnIndex, X_INFO,
1046 xf86DrvMsg(scrn->scrnIndex, X_INFO,
1050 xf86DrvMsg(scrn->scrnIndex, X_INFO,
1054 xf86DrvMsg(scrn->scrnIndex, X_INFO,
1059 xf86DrvMsg(scrn->scrnIndex, X_INFO,
1064 xf86ShowUnusedOptions(scrn->scrnIndex, scrn->options);
1071 I830UeventInit(scrn);
1076 scrn->vtSema = TRUE;
1088 intel_screen_private *intel = intel_get_screen_private(scrn);
1096 scrn->driverPrivate = NULL;
1103 intel_screen_private *intel = intel_get_screen_private(scrn);
1105 xf86RotateFreeShadow(scrn);
1107 xf86_hide_cursors(scrn);
1110 xf86DrvMsg(scrn->scrnIndex, X_WARNING,
1120 intel_screen_private *intel = intel_get_screen_private(scrn);
1123 xf86DrvMsg(scrn->scrnIndex, X_WARNING,
1129 if (!xf86SetDesiredModes(scrn))
1132 intel_mode_disable_unused_functions(scrn);
1140 return xf86SetSingleMode(scrn, mode, RR_Rotate_0);
1145 ScrnInfoPtr scrn = xf86ScreenToScrn(screen);
1146 intel_screen_private *intel = intel_get_screen_private(scrn);
1149 I830UeventFini(scrn);
1154 DeleteCallback(&FlushCallback, intel_flush_callback, scrn);
1176 if (scrn->vtSema == TRUE) {
1180 intel_batch_teardown(scrn);
1183 gen4_render_state_cleanup(scrn);
1187 i965_free_video(scrn);
1204 scrn->vtSema = FALSE;
1214 xf86DrvMsg(scrn->scrnIndex, X_PROBED,
1238 intel_screen_private *intel = intel_get_screen_private(scrn);
1247 scrn->LeaveVT(VT_FUNC_ARGS(0));
1252 scrn->EnterVT(VT_FUNC_ARGS(0));
1261 scrn->EnterVT(VT_FUNC_ARGS(0));
1287 Bool intel_init_scrn(ScrnInfoPtr scrn)
1289 scrn->PreInit = I830PreInit;
1290 scrn->ScreenInit = I830ScreenInit;
1291 scrn->SwitchMode = I830SwitchMode;
1292 scrn->AdjustFrame = i830AdjustFrame;
1293 scrn->EnterVT = I830EnterVT;
1294 scrn->LeaveVT = I830LeaveVT;
1295 scrn->FreeScreen = I830FreeScreen;
1296 scrn->ValidMode = I830ValidMode;
1297 scrn->PMEvent = I830PMEvent;