Changeset 51349 in vbox for trunk/src/VBox/HostServices/SharedOpenGL
- Timestamp:
- May 22, 2014 11:42:21 AM (11 years ago)
- svn:sync-xref-src-repo-rev:
- 93835
- Location:
- trunk/src/VBox/HostServices/SharedOpenGL
- Files:
-
- 6 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 -
trunk/src/VBox/HostServices/SharedOpenGL/render/renderspu.c
r51082 r51349 946 946 } 947 947 948 PCR_BLITTER renderspuVBoxPresentBlitterGetAndEnter( WindowInfo *window, int32_t i32MakeCurrentUserData )949 { 950 PCR_BLITTER pBlitter = renderspuVBoxPresentBlitterGet(window);948 PCR_BLITTER renderspuVBoxPresentBlitterGetAndEnter( WindowInfo *window, int32_t i32MakeCurrentUserData, bool fRedraw ) 949 { 950 PCR_BLITTER pBlitter = fRedraw ? window->pBlitter : renderspuVBoxPresentBlitterGet(window); 951 951 if (pBlitter) 952 952 { … … 1001 1001 } 1002 1002 1003 void renderspuVBoxPresentCompositionGeneric( WindowInfo *window, const struct VBOXVR_SCR_COMPOSITOR * pCompositor, const struct VBOXVR_SCR_COMPOSITOR_ENTRY *pChangedEntry, int32_t i32MakeCurrentUserData ) 1004 { 1005 PCR_BLITTER pBlitter = renderspuVBoxPresentBlitterGetAndEnter(window, i32MakeCurrentUserData); 1003 void renderspuVBoxPresentCompositionGeneric( WindowInfo *window, const struct VBOXVR_SCR_COMPOSITOR * pCompositor, 1004 const struct VBOXVR_SCR_COMPOSITOR_ENTRY *pChangedEntry, int32_t i32MakeCurrentUserData, 1005 bool fRedraw ) 1006 { 1007 PCR_BLITTER pBlitter = renderspuVBoxPresentBlitterGetAndEnter(window, i32MakeCurrentUserData, fRedraw); 1006 1008 if (!pBlitter) 1007 1009 return; -
trunk/src/VBox/HostServices/SharedOpenGL/render/renderspu.h
r51064 r51349 418 418 extern int renderspuVBoxCompositorTryAcquire(WindowInfo *window, const struct VBOXVR_SCR_COMPOSITOR **ppCompositor); 419 419 extern void renderspuVBoxCompositorRelease( WindowInfo *window); 420 extern void renderspuVBoxPresentCompositionGeneric( WindowInfo *window, const struct VBOXVR_SCR_COMPOSITOR * pCompositor, const struct VBOXVR_SCR_COMPOSITOR_ENTRY *pChangedEntry, int32_t i32MakeCurrentUserData ); 420 extern void renderspuVBoxPresentCompositionGeneric( WindowInfo *window, const struct VBOXVR_SCR_COMPOSITOR * pCompositor, 421 const struct VBOXVR_SCR_COMPOSITOR_ENTRY *pChangedEntry, int32_t i32MakeCurrentUserData, 422 bool fRedraw); 421 423 extern PCR_BLITTER renderspuVBoxPresentBlitterGet( WindowInfo *window ); 422 424 void renderspuVBoxPresentBlitterCleanup( WindowInfo *window ); 423 425 extern int renderspuVBoxPresentBlitterEnter( PCR_BLITTER pBlitter, int32_t i32MakeCurrentUserData ); 424 extern PCR_BLITTER renderspuVBoxPresentBlitterGetAndEnter( WindowInfo *window, int32_t i32MakeCurrentUserData );426 extern PCR_BLITTER renderspuVBoxPresentBlitterGetAndEnter( WindowInfo *window, int32_t i32MakeCurrentUserData, bool fRedraw ); 425 427 extern PCR_BLITTER renderspuVBoxPresentBlitterEnsureCreated( WindowInfo *window, int32_t i32MakeCurrentUserData ); 426 428 void renderspuWindowTermBase( WindowInfo *window ); -
trunk/src/VBox/HostServices/SharedOpenGL/render/renderspu_agl.c
r50095 r51349 610 610 void renderspu_SystemVBoxPresentComposition( WindowInfo *window, const struct VBOXVR_SCR_COMPOSITOR * pCompositor, const struct VBOXVR_SCR_COMPOSITOR_ENTRY *pChangedEntry ) 611 611 { 612 renderspuVBoxPresentCompositionGeneric(window, pCompositor, pChangedEntry, 0 );612 renderspuVBoxPresentCompositionGeneric(window, pCompositor, pChangedEntry, 0, false); 613 613 } 614 614 -
trunk/src/VBox/HostServices/SharedOpenGL/render/renderspu_glx.c
r51064 r51349 584 584 if (pCompositor) 585 585 { 586 renderspuVBoxPresentCompositionGeneric(pWindow, pCompositor, NULL, 0 );586 renderspuVBoxPresentCompositionGeneric(pWindow, pCompositor, NULL, 0, true); 587 587 renderspuVBoxCompositorRelease(pWindow); 588 588 } … … 1981 1981 if (RT_SUCCESS(rc)) 1982 1982 { 1983 renderspuVBoxPresentCompositionGeneric(window, pCompositor, pChangedEntry, 0 );1983 renderspuVBoxPresentCompositionGeneric(window, pCompositor, pChangedEntry, 0, false); 1984 1984 renderspuVBoxCompositorRelease(window); 1985 1985 } -
trunk/src/VBox/HostServices/SharedOpenGL/render/renderspu_wgl.c
r50626 r51349 446 446 pWindow->redraw_device_context = hDC; 447 447 448 renderspuVBoxPresentCompositionGeneric(pWindow, pCompositor, NULL, 1 );448 renderspuVBoxPresentCompositionGeneric(pWindow, pCompositor, NULL, 1, true); 449 449 450 450 bRc = EndPaint(pWindow->hWnd, &Paint); … … 1295 1295 if (RT_SUCCESS(rc)) 1296 1296 { 1297 renderspuVBoxPresentCompositionGeneric(window, pCompositor, pChangedEntry, 0 );1297 renderspuVBoxPresentCompositionGeneric(window, pCompositor, pChangedEntry, 0, false); 1298 1298 renderspuVBoxCompositorRelease(window); 1299 1299 }
Note:
See TracChangeset
for help on using the changeset viewer.