Changeset 49877 in vbox for trunk/src/VBox/Additions/x11/vboxvideo
- Timestamp:
- Dec 11, 2013 4:27:39 PM (11 years ago)
- svn:sync-xref-src-repo-rev:
- 91244
- Location:
- trunk/src/VBox/Additions/x11/vboxvideo
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/x11/vboxvideo/Makefile.kmk
r49643 r49877 30 30 ifeq ($(KBUILD_TARGET),solaris) # don't use .solaris or anything here. 31 31 vboxvideo_70_DEFS += __EXTENSIONS__ ## @todo Why this? 32 endif 33 ifdef VBOX_WITH_GUEST_KMS_DRIVER 34 vboxvideo_70_DEFS += VBOX_WITH_GUEST_KMS_DRIVER 32 35 endif 33 36 vboxvideo_13_DEFS := $(vboxvideo_70_DEFS) VBOXVIDEO_13 … … 77 80 IN_MODULE XFree86Module IN_XF86_MODULE IN_RT_STATIC 78 81 vboxvideo_drv_DEFS += memset=xf86memset memcpy=xf86memcpy 82 ifdef VBOX_WITH_GUEST_KMS_DRIVER 83 vboxvideo_drv_DEFS += VBOX_WITH_GUEST_KMS_DRIVER 84 endif 79 85 vboxvideo_drv_INCS = \ 80 86 $(VBOX_PATH_X11_XFREE_4_3)/include \ -
trunk/src/VBox/Additions/x11/vboxvideo/setmode.c
r49187 r49877 122 122 vboxBPP(pScrn), 0, x, y); 123 123 /* Tell the host we support graphics */ 124 #ifndef VBOX_WITH_GUEST_KMS_DRIVER 124 125 if (vbox_device_available(pVBox)) 125 126 vboxEnableGraphicsCap(pVBox); 127 #endif 126 128 if (pVBox->fHaveHGSMI) 127 129 { -
trunk/src/VBox/Additions/x11/vboxvideo/vboxvideo.c
r49639 r49877 520 520 ScrnInfoPtr pScrn = output->scrn; 521 521 VBOXPtr pVBox = VBOXGetRec(pScrn); 522 TRACE_LOG("property=%d, value->type=%d, value->format=%d, value->size=% ld\n",523 (int)property, (int)value->type, value->format,value->size);522 TRACE_LOG("property=%d, value->type=%d, value->format=%d, value->size=%d\n", 523 (int)property, (int)value->type, (int)value->format, (int)value->size); 524 524 if (property == vboxAtomVBoxMode()) 525 525 { 526 526 uint32_t cDisplay = (uintptr_t)output->driver_private; 527 char sz[256] = { 0 };528 527 int w, h; 529 528 530 if ( value->type != XA_STRING 531 || (unsigned) value->size > (sizeof(sz) - 1)) 529 if ( value->type != XA_INTEGER 530 || value->format != 32 531 || value->size != 1) 532 532 return FALSE; 533 strncpy(sz, value->data, value->size); 534 TRACE_LOG("screen=%u, property value=%s\n", cDisplay, sz); 535 if (sscanf(sz, "%dx%d", &w, &h) != 2) 536 return FALSE; 533 w = (*(uint32_t *)value->data) >> 16; 534 h = (*(uint32_t *)value->data) & 0xffff; 535 TRACE_LOG("screen=%u, property value=%dx%d\n", cDisplay, w, h); 537 536 pVBox->aPreferredSize[cDisplay].cx = w; 538 537 pVBox->aPreferredSize[cDisplay].cy = h; … … 1054 1053 if (vbox_open (pScrn, pScreen, pVBox)) { 1055 1054 vboxEnableVbva(pScrn); 1055 #ifndef VBOX_WITH_GUEST_KMS_DRIVER 1056 1056 vboxEnableGraphicsCap(pVBox); 1057 #endif 1057 1058 } 1058 1059 … … 1073 1074 1074 1075 /* Set up our virtual outputs. */ 1075 snprintf(szOutput, sizeof(szOutput), "V BOX%u", i);1076 snprintf(szOutput, sizeof(szOutput), "VGA-%u", i); 1076 1077 pVBox->paOutputs[i] = xf86OutputCreate(pScrn, &VBOXOutputFuncs, 1077 1078 szOutput); … … 1112 1113 for (i = 0; i < pVBox->cScreens; ++i) 1113 1114 { 1114 char csz[] = "0x0";1115 INT32 value = 0; 1115 1116 RRChangeOutputProperty(pVBox->paOutputs[i]->randr_output, 1116 vboxAtomVBoxMode(), XA_ STRING, 8,1117 PropModeReplace, sizeof(csz), csz, TRUE,1117 vboxAtomVBoxMode(), XA_INTEGER, 32, 1118 PropModeReplace, 1, &value, TRUE, 1118 1119 FALSE); 1119 1120 … … 1222 1223 vboxDisableVbva(pScrn); 1223 1224 vboxClearVRAM(pScrn, 0, 0); 1225 #ifndef VBOX_WITH_GUEST_KMS_DRIVER 1224 1226 vboxDisableGraphicsCap(pVBox); 1227 #endif 1225 1228 #ifdef VBOX_DRI_OLD 1226 1229 if (pVBox->useDRI) … … 1245 1248 if (pVBox->fHaveHGSMI) 1246 1249 vboxDisableVbva(pScrn); 1250 #ifndef VBOX_WITH_GUEST_KMS_DRIVER 1247 1251 if (pScrn->vtSema) 1248 1252 vboxDisableGraphicsCap(pVBox); 1253 #endif 1249 1254 vboxClearVRAM(pScrn, 0, 0); 1250 1255 }
Note:
See TracChangeset
for help on using the changeset viewer.