Lines Matching refs:ms

191     modesettingPtr ms = modesettingPTR(pScrn);
199 if (ms->check_fb_size) {
202 if (size > ms->max_fb_size) {
216 /* ms->create_front_buffer will remove the old front buffer */
255 static Bool vmwgfx_use_server_fd(modesettingPtr ms)
258 return ms->platform_dev && (ms->platform_dev->flags & XF86_PDEV_SERVER_FD);
267 modesettingPtr ms = modesettingPTR(pScrn);
270 if (ms->fd < 0) {
272 ms->fd = vmwgfx_hosted_drm_fd(ms->hdriver, ms->hosted, ms->PciInfo);
275 if (ms->fd < 0 && vmwgfx_use_server_fd(ms))
276 ms->fd = xf86_get_platform_device_int_attrib(ms->platform_dev,
280 if (ms->fd < 0) {
285 ((ms->PciInfo->domain << 8) | ms->PciInfo->bus),
286 ms->PciInfo->dev, ms->PciInfo->func
289 ms->fd = drmOpen("vmwgfx", bus_id);
290 ms->isMaster = TRUE;
294 if (ms->fd >= 0) {
295 drmVersionPtr ver = drmGetVersion(ms->fd);
303 ms->drm_major = ver->version_major;
304 ms->drm_minor = ver->version_minor;
305 ms->drm_patch = ver->version_patchlevel;
333 modesettingPtr ms = modesettingPTR(pScrn);
360 ret = vmwgfx_update_gui_layout(ms->fd, num_outputs, rects);
375 modesettingPtr ms = modesettingPTR(pScrn);
378 ms->from_dp = (xf86GetOptValBool(ms->Options, OPTION_DIRECT_PRESENTS,
379 &ms->direct_presents)) ?
382 ms->from_hwp = (xf86GetOptValBool(ms->Options, OPTION_HW_PRESENTS,
383 &ms->only_hw_presents)) ?
394 res = drmModeGetResources(ms->fd);
409 ms->SWCursor = FALSE;
410 if (!xf86ReturnOptValBool(ms->Options, OPTION_HW_CURSOR, TRUE)) {
411 ms->SWCursor = TRUE;
414 if (xf86IsOptionSet(ms->Options, OPTION_GUI_LAYOUT)) {
416 xf86GetOptValString(ms->Options, OPTION_GUI_LAYOUT);
424 } else if (xf86IsOptionSet(ms->Options, OPTION_STATIC_XINERAMA)) {
426 xf86GetOptValString(ms->Options, OPTION_STATIC_XINERAMA);
463 modesettingPtr ms;
487 ms = modesettingPTR(pScrn);
488 ms->pEnt = pEnt;
492 ms->PciInfo = xf86GetPciInfoForEntity(ms->pEnt->index);
493 if (!ms->PciInfo) {
501 ms->platform_dev = pEnt->location.id.plat;
506 ms->hdriver = vmwgfx_hosted_detect();
507 ms->hosted = vmwgfx_hosted_create(ms->hdriver, pScrn);
508 if (ms->hdriver && !ms->hosted) {
525 if (!vmwgfx_hosted_pre_init(ms->hdriver, ms->hosted, flags))
528 ms->fd = -1;
532 if (ms->drm_major != DRM_VERSION_MAJOR_REQUIRED ||
533 ms->drm_minor < DRM_VERSION_MINOR_REQUIRED) {
536 ms->drm_major, ms->drm_minor, ms->drm_patch);
546 ms->drm_major, ms->drm_minor, ms->drm_patch);
549 ms->has_screen_targets = ms->drm_major > 2 ||
550 (ms->drm_major == 2 && ms->drm_minor >= 7);
551 ms->has_screen_targets = (ms->has_screen_targets &&
552 !vmwgfx_get_param(ms->fd,
557 ms->check_fb_size = (vmwgfx_max_fb_size(ms->fd, &ms->max_fb_size) == 0);
579 if (!(ms->Options = VMWARECopyOptions()))
581 xf86ProcessOptions(pScrn->scrnIndex, pScrn->options, ms->Options);
583 ms->accelerate_render = TRUE;
584 ms->from_render = xf86GetOptValBool(ms->Options, OPTION_RENDER_ACCEL,
585 &ms->accelerate_render) ?
588 ms->rendercheck = FALSE;
589 ms->from_rendercheck = xf86GetOptValBool(ms->Options, OPTION_RENDERCHECK,
590 &ms->rendercheck) ?
593 ms->enable_dri = ms->accelerate_render;
594 ms->from_dri = xf86GetOptValBool(ms->Options, OPTION_DRI,
595 &ms->enable_dri) ?
598 ms->direct_presents = FALSE;
599 ms->only_hw_presents = FALSE;
600 ms->SWCursor = TRUE;
601 if (!vmwgfx_is_hosted(ms->hdriver)) {
605 ms->from_dp = X_CONFIG;
606 ms->from_hwp = X_CONFIG;
637 free(ms->Options);
640 if (!vmwgfx_is_hosted(ms->hdriver) && !vmwgfx_use_server_fd(ms))
641 close(ms->fd);
643 vmwgfx_hosted_destroy(ms->hdriver, ms->hosted);
727 modesettingPtr ms = modesettingPTR(pScrn);
782 (void) vmwgfx_scanout_update(ms->fd, vpix->fb_id,
788 (void) vmwgfx_scanout_update(ms->fd, vpix->fb_id,
791 (void) vmwgfx_scanout_present(pScreen, ms->fd, vpix,
803 modesettingPtr ms = modesettingPTR(xf86ScreenToScrn(pScreen));
805 vmwgfx_swap(ms, pScreen, BlockHandler);
807 vmwgfx_swap(ms, pScreen, BlockHandler);
809 if (vmwgfx_is_hosted(ms->hdriver))
810 vmwgfx_hosted_post_damage(ms->hdriver, ms->hosted);
819 modesettingPtr ms = modesettingPTR(pScrn);
822 vmwgfx_swap(ms, pScreen, CreateScreenResources);
824 vmwgfx_swap(ms, pScreen, CreateScreenResources);
829 vmwgfx_uevent_init(pScrn, ms);
837 modesettingPtr ms = modesettingPTR(pScrn);
839 if (!vmwgfx_is_hosted(ms->hdriver) && !vmwgfx_use_server_fd(ms) &&
840 !ms->isMaster && drmSetMaster(ms->fd) != 0) {
852 ms->isMaster = TRUE;
871 modesettingPtr ms = modesettingPTR(pScrn);
874 vmwgfx_swap(ms, cursor_info, UseHWCursorARGB);
876 vmwgfx_swap(ms, cursor_info, UseHWCursorARGB);
902 modesettingPtr ms = modesettingPTR(pScrn);
905 vmwgfx_swap(ms, cursor_info, UseHWCursor);
907 vmwgfx_swap(ms, cursor_info, UseHWCursor);
930 modesettingPtr ms = modesettingPTR(pScrn);
932 vmwgfx_wrap(ms, cursor_info, UseHWCursor, vmwgfx_use_hw_cursor);
933 vmwgfx_wrap(ms, cursor_info, UseHWCursorARGB, vmwgfx_use_hw_cursor_argb);
941 modesettingPtr ms = modesettingPTR(pScrn);
950 ms->lut_r[_index * 8 + j] = colors[_index].red << 8;
951 ms->lut_g[_index * 8 + j] = colors[_index].green << 8;
952 ms->lut_b[_index * 8 + j] = colors[_index].blue << 8;
962 ms->lut_r[_index * 8 + j] = colors[_index].red << 8;
963 ms->lut_b[_index * 8 + j] = colors[_index].blue << 8;
968 ms->lut_g[_index * 4 + j] = colors[_index].green << 8;
975 ms->lut_r[_index] = colors[_index].red << 8;
976 ms->lut_g[_index] = colors[_index].green << 8;
977 ms->lut_b[_index] = colors[_index].blue << 8;
988 RRCrtcGammaSet(crtc->randr_crtc, ms->lut_r, ms->lut_g, ms->lut_b);
991 crtc->funcs->gamma_set(crtc, ms->lut_r, ms->lut_g, ms->lut_b, 256);
1000 modesettingPtr ms = modesettingPTR(pScrn);
1047 vmwgfx_wrap(ms, pScreen, BlockHandler, drv_block_handler);
1048 vmwgfx_wrap(ms, pScreen, CreateScreenResources,
1053 ms->autoLayout = TRUE;
1056 if (ms->accelerate_render) {
1065 int tmp_fd = dup(ms->fd);
1066 long flags = fcntl(ms->fd, F_GETFD);
1068 ms->xat = xa_tracker_create(ms->fd);
1069 if (fcntl(ms->fd, F_GETFD) == -1) {
1075 ms->fd = tmp_fd;
1080 if (!ms->xat) {
1084 ms->from_render = X_PROBED;
1104 xa_tracker_destroy(ms->xat);
1105 ms->xat = NULL;
1106 ms->from_render = X_PROBED;
1111 ms->xa_dri3 = TRUE;
1113 ms->xa_dri3 = FALSE;
1119 if (ms->xat == NULL && ms->rendercheck) {
1122 ms->rendercheck = FALSE;
1123 ms->from_rendercheck = X_PROBED;
1127 if (vmwgfx_is_hosted(ms->hdriver) && !ms->xat) {
1133 if (!vmwgfx_saa_init(pScreen, ms->fd, ms->xat, &xorg_flush,
1134 ms->direct_presents,
1135 ms->only_hw_presents,
1136 ms->rendercheck,
1137 ms->has_screen_targets)) {
1141 ms->dri2_available = FALSE;
1143 ms->dri3_available = FALSE;
1145 if (ms->enable_dri) {
1146 if (ms->xat) {
1147 ms->dri2_available = xorg_dri2_init(pScreen);
1148 if (!ms->dri2_available)
1152 if (ms->xa_dri3) {
1153 ms->dri3_available = vmwgfx_dri3_init(pScreen);
1154 if (!ms->dri3_available)
1163 ms->from_dri = X_PROBED;
1167 xf86DrvMsg(pScrn->scrnIndex, ms->from_render, "Render acceleration is %s.\n",
1168 (ms->xat != NULL) ? "enabled" : "disabled");
1170 xf86DrvMsg(pScrn->scrnIndex, ms->from_rendercheck,
1172 (ms->rendercheck) ? "enabled" : "disabled");
1174 xf86DrvMsg(pScrn->scrnIndex, ms->from_dri,
1176 (ms->dri2_available) ? "enabled" : "disabled");
1178 xf86DrvMsg(pScrn->scrnIndex, ms->from_dri,
1180 (ms->dri3_available) ? "enabled" : "disabled");
1182 if (ms->xat != NULL) {
1183 xf86DrvMsg(pScrn->scrnIndex, ms->from_dp, "Direct presents are %s.\n",
1184 (ms->direct_presents) ? "enabled" : "disabled");
1185 if (ms->only_hw_presents)
1186 xf86DrvMsg(pScrn->scrnIndex, ms->from_hwp, "Hardware only presents "
1189 xf86DrvMsg(pScrn->scrnIndex, ms->from_hwp, "Hardware only presents "
1191 (ms->has_screen_targets) ? "automatic per scanout" :
1199 if (!vmwgfx_hosted_screen_init(ms->hdriver, ms->hosted, pScreen)) {
1206 if (!ms->SWCursor) {
1219 vmwgfx_wrap(ms, pScreen, CloseScreen, drv_close_screen);
1237 vmwgfx_wrap(ms, pScrn, EnterVT, drv_enter_vt);
1238 vmwgfx_wrap(ms, pScrn, LeaveVT, drv_leave_vt);
1239 vmwgfx_wrap(ms, pScrn, AdjustFrame, drv_adjust_frame);
1253 modesettingPtr ms = modesettingPTR(pScrn);
1258 if (vmwgfx_is_hosted(ms->hdriver))
1277 modesettingPtr ms = modesettingPTR(pScrn);
1279 vmwgfx_hosted_destroy(ms->hdriver, ms->hosted);
1287 modesettingPtr ms = modesettingPTR(pScrn);
1289 if (!vmwgfx_is_hosted(ms->hdriver)) {
1290 vmwgfx_cursor_bypass(ms->fd, 0, 0);
1296 if (!vmwgfx_is_hosted(ms->hdriver) && !vmwgfx_use_server_fd(ms) &&
1297 drmDropMaster(ms->fd))
1300 ms->isMaster = FALSE;
1311 modesettingPtr ms = modesettingPTR(pScrn);
1318 if (!vmwgfx_is_hosted(ms->hdriver) && !xf86SetDesiredModes(pScrn))
1336 modesettingPtr ms = modesettingPTR(pScrn);
1339 if (ms->cursor) {
1340 FreeCursor(ms->cursor, None);
1341 ms->cursor = NULL;
1344 if (ms->dri2_available)
1350 vmwgfx_uevent_fini(pScrn, ms);
1355 vmwgfx_unwrap(ms, pScrn, EnterVT);
1356 vmwgfx_unwrap(ms, pScrn, LeaveVT);
1357 vmwgfx_unwrap(ms, pScrn, AdjustFrame);
1358 vmwgfx_unwrap(ms, pScreen, CloseScreen);
1359 vmwgfx_hosted_screen_close(ms->hdriver, ms->hosted);
1360 vmwgfx_unwrap(ms, pScreen, BlockHandler);
1361 vmwgfx_unwrap(ms, pScreen, CreateScreenResources);
1365 if (ms->xat)
1366 xa_tracker_destroy(ms->xat);