Changeset 51349 in vbox for trunk/src/VBox/HostServices/SharedOpenGL/crserverlib
- Timestamp:
- May 22, 2014 11:42:21 AM (11 years ago)
- svn:sync-xref-src-repo-rev:
- 93835
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/HostServices/SharedOpenGL/crserverlib/server_presenter.cpp
r51335 r51349 4920 4920 int rc; 4921 4921 int cDisplays = 0, i; 4922 4922 4923 for (i = 0; i < cr_server.screenCount; ++i) 4923 4924 { … … 4968 4969 AssertRCReturn(rc, rc); 4969 4970 4970 rc = SSMR3PutU32(pSSM, 0xffffffff); 4971 AssertRCReturn(rc, rc); 4972 4973 rc = CrFbSaveState(hFb, pSSM); 4971 rc = SSMR3PutU32(pSSM, hFb->ScreenInfo.u32StartOffset); 4974 4972 AssertRCReturn(rc, rc); 4975 4973 4976 4974 CR_FB_INFO *pFbInfo = &g_CrPresenter.aFbInfos[hFb->ScreenInfo.u32ViewIndex]; 4977 4975 rc = SSMR3PutMem(pSSM, pFbInfo->aTargetMap, sizeof (pFbInfo->aTargetMap)); 4976 AssertRCReturn(rc, rc); 4977 4978 rc = CrFbSaveState(hFb, pSSM); 4978 4979 AssertRCReturn(rc, rc); 4979 4980 } … … 5154 5155 AssertRCReturn(rc, rc); 5155 5156 5156 uint32_t offVram = 0; 5157 rc = SSMR3GetU32(pSSM, &offVram); 5157 rc = SSMR3GetU32(pSSM, &Screen.u32StartOffset); 5158 5158 AssertRCReturn(rc, rc); 5159 if ( offVram != 0xffffffff)5159 if (Screen.u32StartOffset == 0xffffffff) 5160 5160 { 5161 5161 WARN(("not expected offVram")); 5162 Screen.u32StartOffset = offVram;5162 Screen.u32StartOffset = 0; 5163 5163 } 5164 5164 5165 rc = CrFbLoadState(pFb, pSSM, version); 5166 AssertRCReturn(rc, rc); 5167 5168 if (version >= SHCROGL_SSM_VERSION_WITH_SCREEN_MAP) 5165 if (version >= SHCROGL_SSM_VERSION_WITH_SCREEN_MAP_REORDERED) 5169 5166 { 5170 5167 rc = SSMR3GetMem(pSSM, aTargetMap, sizeof (aTargetMap)); 5171 5168 AssertRCReturn(rc, rc); 5172 5169 } 5170 5171 if (version == SHCROGL_SSM_VERSION_WITH_SCREEN_MAP) 5172 { 5173 VBOXCMDVBVA_SCREENMAP_DECL(uint32_t, aEmptyTargetMap); 5174 5175 memset(aEmptyTargetMap, 0, sizeof (aEmptyTargetMap)); 5176 5177 rc = CrPMgrResize(&Screen, cr_server.fCrCmdEnabled ? NULL : CrFbGetVRAM(pFb), aEmptyTargetMap); 5178 AssertRCReturn(rc, rc); 5179 5180 rc = CrFbLoadState(pFb, pSSM, version); 5181 AssertRCReturn(rc, rc); 5182 5183 rc = SSMR3GetMem(pSSM, aTargetMap, sizeof (aTargetMap)); 5184 AssertRCReturn(rc, rc); 5185 } 5173 5186 } 5174 5187 5175 5188 rc = CrPMgrResize(&Screen, cr_server.fCrCmdEnabled ? NULL : CrFbGetVRAM(pFb), aTargetMap); 5176 5189 AssertRCReturn(rc, rc); 5190 5191 if (version >= SHCROGL_SSM_VERSION_WITH_FB_INFO && version != SHCROGL_SSM_VERSION_WITH_SCREEN_MAP) 5192 { 5193 rc = CrFbLoadState(pFb, pSSM, version); 5194 AssertRCReturn(rc, rc); 5195 } 5177 5196 } 5178 5197
Note:
See TracChangeset
for help on using the changeset viewer.