Changeset 54053 in vbox
- Timestamp:
- Jan 30, 2015 6:03:39 PM (10 years ago)
- svn:sync-xref-src-repo-rev:
- 97979
- Location:
- trunk/src/VBox/Main
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/include/DisplayImpl.h
r53965 r54053 380 380 * Does not go into the saved state as it is refreshed on restore. */ 381 381 bool mfVMMDevSupportsGraphics; 382 /** Mirror of the current guest VBVA capabilities. 383 * Does not go into the saved state as it is refreshed on restore. */ 382 /** Mirror of the current guest VBVA capabilities. */ 384 383 uint32_t mfGuestVBVACapabilities; 385 /** Mirror of the current host cursor integration support capability. 386 * Does not go into the saved state as it is refreshed on restore. */ 387 uint32_t mfHostSupportsCursorIntegration; 384 /** Mirror of the current host cursor capabilities. */ 385 uint32_t mfHostCursorCapabilities; 388 386 389 387 bool mfSourceBitmapEnabled; -
trunk/src/VBox/Main/include/DisplayUtils.h
r53965 r54053 24 24 #define sSSMDisplayVer3 0x00010003 25 25 #define sSSMDisplayVer4 0x00010004 26 #define sSSMDisplayVer5 0x00010005 26 27 27 28 int readSavedGuestScreenInfo(const Utf8Str &strStateFilePath, uint32_t u32ScreenId, -
trunk/src/VBox/Main/src-client/DisplayImpl.cpp
r53971 r54053 125 125 mfVMMDevSupportsGraphics = false; 126 126 mfGuestVBVACapabilities = 0; 127 mfHostCursorCapabilities = 0; 127 128 #endif 128 129 #ifdef VBOX_WITH_VPX … … 511 512 SSMR3PutU32(pSSM, that->cxInputMapping); 512 513 SSMR3PutU32(pSSM, that->cyInputMapping); 514 SSMR3PutU32(pSSM, that->mfGuestVBVACapabilities); 515 SSMR3PutU32(pSSM, that->mfHostCursorCapabilities); 513 516 } 514 517 … … 521 524 && uVersion != sSSMDisplayVer2 522 525 && uVersion != sSSMDisplayVer3 523 && uVersion != sSSMDisplayVer4) 526 && uVersion != sSSMDisplayVer4 527 && uVersion != sSSMDisplayVer5) 524 528 return VERR_SSM_UNSUPPORTED_DATA_UNIT_VERSION; 525 529 Assert(uPass == SSM_PASS_FINAL); NOREF(uPass); … … 537 541 if ( uVersion == sSSMDisplayVer2 538 542 || uVersion == sSSMDisplayVer3 539 || uVersion == sSSMDisplayVer4) 543 || uVersion == sSSMDisplayVer4 544 || uVersion == sSSMDisplayVer5) 540 545 { 541 546 uint32_t w; … … 547 552 } 548 553 if ( uVersion == sSSMDisplayVer3 549 || uVersion == sSSMDisplayVer4) 554 || uVersion == sSSMDisplayVer4 555 || uVersion == sSSMDisplayVer5) 550 556 { 551 557 int32_t xOrigin; … … 561 567 } 562 568 } 563 if (uVersion == sSSMDisplayVer4) 569 if ( uVersion == sSSMDisplayVer4 570 || uVersion == sSSMDisplayVer5) 564 571 { 565 572 SSMR3GetS32(pSSM, &that->xInputMappingOrigin); … … 567 574 SSMR3GetU32(pSSM, &that->cxInputMapping); 568 575 SSMR3GetU32(pSSM, &that->cyInputMapping); 576 } 577 if (uVersion == sSSMDisplayVer5) 578 { 579 SSMR3GetU32(pSSM, &that->mfGuestVBVACapabilities); 580 SSMR3GetU32(pSSM, &that->mfHostCursorCapabilities); 569 581 } 570 582 … … 706 718 { 707 719 /* Version 2 adds width and height of the framebuffer; version 3 adds 708 * the framebuffer offset in the virtual desktop and the framebuffer flags. 720 * the framebuffer offset in the virtual desktop and the framebuffer flags; 721 * version 4 adds guest to host input event mapping and version 5 adds 722 * guest VBVA and host cursor capabilities. 709 723 */ 710 int rc = SSMR3RegisterExternal(pUVM, "DisplayData", 0, sSSMDisplayVer 4,724 int rc = SSMR3RegisterExternal(pUVM, "DisplayData", 0, sSSMDisplayVer5, 711 725 mcMonitors * sizeof(uint32_t) * 8 + sizeof(uint32_t), 712 726 NULL, NULL, NULL, … … 1163 1177 * ensures that mpDrv will remain valid. */ 1164 1178 AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS); 1179 uint32_t fHostCursorCapabilities = (mfHostCursorCapabilities | fCapabilitiesAdded) 1180 & ~fCapabilitiesRemoved; 1165 1181 1166 1182 Console::SafeVMPtr ptrVM(mParent); … … 1171 1187 mpDrv->pUpPort->pfnReportHostCursorCapabilities (mpDrv->pUpPort, fCapabilitiesAdded, fCapabilitiesRemoved); 1172 1188 if ( mfGuestVBVACapabilities & VBVACAPS_DISABLE_CURSOR_INTEGRATION 1173 && !(mfGuestVBVACapabilities & VBVACAPS_IRQ)) 1189 && !(mfGuestVBVACapabilities & VBVACAPS_IRQ) 1190 && fHostCursorCapabilities != mfHostCursorCapabilities) 1174 1191 { 1175 1192 HRESULT hrc = mParent->i_sendACPIMonitorHotPlugEvent(); … … 1177 1194 return hrc; 1178 1195 } 1196 mfHostCursorCapabilities = fHostCursorCapabilities; 1179 1197 return S_OK; 1180 1198 }
Note:
See TracChangeset
for help on using the changeset viewer.