Changeset 50178 in vbox for trunk/src/VBox/Main/src-client
- Timestamp:
- Jan 23, 2014 12:04:44 PM (11 years ago)
- svn:sync-xref-src-repo-rev:
- 91742
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/src-client/DisplayImpl.cpp
r50149 r50178 670 670 if (pVMMDev) 671 671 { 672 VBOXHGCMSVCPARM parm[SHCRGL_CPARMS_DEV_RESIZE]; 673 674 parm[0].type = VBOX_HGCM_SVC_PARM_32BIT; 675 parm[0].u.uint32 = pScreen->u32ViewIndex; 676 677 /* no completion callback is specified with this call, 678 * the CrOgl code will complete the CrHgsmi command once it processes it */ 679 rc = pVMMDev->hgcmHostFastCallAsync(mhCrOglSvc, SHCRGL_HOST_FN_DEV_RESIZE, parm, NULL, NULL); 680 AssertRC(rc); 672 CRVBOXHGCMDEVRESIZE *pData = (CRVBOXHGCMDEVRESIZE*)RTMemAlloc(sizeof (*pData)); 673 if (pData) 674 { 675 pData->Screen = *pScreen; 676 pData->pvVRAM = pvVRAM; 677 678 VBOXHGCMSVCPARM parm; 679 680 parm.type = VBOX_HGCM_SVC_PARM_PTR; 681 parm.u.pointer.addr = pData; 682 parm.u.pointer.size = sizeof (*pData); 683 684 rc = pVMMDev->hgcmHostFastCallAsync(mhCrOglSvc, SHCRGL_HOST_FN_DEV_RESIZE, &parm, displayCrAsyncCmdCompletion, this); 685 AssertRC(rc); 686 } 687 else 688 rc = VERR_NO_MEMORY; 681 689 } 682 690 } … … 4062 4070 pDisplay->handleCrHgsmiControlCompletion(result, u32Function, pParam); 4063 4071 } 4072 #endif 4073 4074 #if defined(VBOX_WITH_HGCM) && defined(VBOX_WITH_CROGL) 4075 DECLCALLBACK(void) Display::displayCrAsyncCmdCompletion(int32_t result, uint32_t u32Function, PVBOXHGCMSVCPARM pParam, void *pvContext) 4076 { 4077 Display *pDisplay = (Display *)pvContext; 4078 pDisplay->handleCrAsyncCmdCompletion(result, u32Function, pParam); 4079 } 4080 4081 4082 void Display::handleCrAsyncCmdCompletion(int32_t result, uint32_t u32Function, PVBOXHGCMSVCPARM pParam) 4083 { 4084 if (pParam->type == VBOX_HGCM_SVC_PARM_PTR && pParam->u.pointer.addr) 4085 RTMemFree(pParam->u.pointer.addr); 4086 } 4087 4064 4088 #endif 4065 4089
Note:
See TracChangeset
for help on using the changeset viewer.