Changeset 50754 in vbox for trunk/src/VBox/Main/src-client
- Timestamp:
- Mar 12, 2014 5:43:09 PM (11 years ago)
- svn:sync-xref-src-repo-rev:
- 92767
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/src-client/DisplayImpl.cpp
r50677 r50754 4304 4304 void Display::handleCrHgsmiCommandProcess(PVBOXVDMACMD_CHROMIUM_CMD pCmd, uint32_t cbCmd) 4305 4305 { 4306 int rc = VERR_ INVALID_FUNCTION;4306 int rc = VERR_NOT_SUPPORTED; 4307 4307 VBOXHGCMSVCPARM parm; 4308 4308 parm.type = VBOX_HGCM_SVC_PARM_PTR; … … 4332 4332 void Display::handleCrHgsmiControlProcess(PVBOXVDMACMD_CHROMIUM_CTL pCtl, uint32_t cbCtl) 4333 4333 { 4334 int rc = VERR_ INVALID_FUNCTION;4334 int rc = VERR_NOT_SUPPORTED; 4335 4335 VBOXHGCMSVCPARM parm; 4336 4336 parm.type = VBOX_HGCM_SVC_PARM_PTR; … … 4383 4383 } 4384 4384 #endif 4385 4386 DECLCALLBACK(void) Display::displayCrHgcmCtlSubmitCompletion(int32_t result, uint32_t u32Function, PVBOXHGCMSVCPARM pParam, void *pvContext) 4387 { 4388 VBOXCRCMDCTL *pCmd = (VBOXCRCMDCTL*)pParam->u.pointer.addr; 4389 if (pCmd->pfnInternal) 4390 ((PFNCRCTLCOMPLETION)pCmd->pfnInternal)(pCmd, pParam->u.pointer.size, result, pvContext); 4391 } 4392 4393 int Display::handleCrHgcmCtlSubmit(struct VBOXCRCMDCTL* pCmd, uint32_t cbCmd, 4394 PFNCRCTLCOMPLETION pfnCompletion, 4395 void *pvCompletion) 4396 { 4397 VMMDev *pVMMDev = mParent->getVMMDev(); 4398 if (!pVMMDev) 4399 { 4400 AssertMsgFailed(("no vmmdev\n")); 4401 return VERR_INVALID_STATE; 4402 } 4403 4404 Assert(mhCrOglSvc); 4405 VBOXHGCMSVCPARM parm; 4406 parm.type = VBOX_HGCM_SVC_PARM_PTR; 4407 parm.u.pointer.addr = pCmd; 4408 parm.u.pointer.size = cbCmd; 4409 4410 pCmd->pfnInternal = (void(*)())pfnCompletion; 4411 int rc = pVMMDev->hgcmHostFastCallAsync(mhCrOglSvc, SHCRGL_HOST_FN_CTL, &parm, displayCrHgcmCtlSubmitCompletion, pvCompletion); 4412 if (!RT_SUCCESS(rc)) 4413 AssertMsgFailed(("hgcmHostFastCallAsync failed rc %n", rc)); 4414 4415 return rc; 4416 } 4417 4418 DECLCALLBACK(int) Display::displayCrHgcmCtlSubmit(PPDMIDISPLAYCONNECTOR pInterface, 4419 struct VBOXCRCMDCTL* pCmd, uint32_t cbCmd, 4420 PFNCRCTLCOMPLETION pfnCompletion, 4421 void *pvCompletion) 4422 { 4423 PDRVMAINDISPLAY pDrv = PDMIDISPLAYCONNECTOR_2_MAINDISPLAY(pInterface); 4424 Display *pThis = pDrv->pDisplay; 4425 return pThis->handleCrHgcmCtlSubmit(pCmd, cbCmd, pfnCompletion, pvCompletion); 4426 } 4385 4427 4386 4428 #if defined(VBOX_WITH_HGCM) && defined(VBOX_WITH_CROGL) … … 5007 5049 pThis->IConnector.pfnCrHgsmiControlProcess = Display::displayCrHgsmiControlProcess; 5008 5050 #endif 5051 pThis->IConnector.pfnCrHgcmCtlSubmit = Display::displayCrHgcmCtlSubmit; 5009 5052 #ifdef VBOX_WITH_HGSMI 5010 5053 pThis->IConnector.pfnVBVAEnable = Display::displayVBVAEnable;
Note:
See TracChangeset
for help on using the changeset viewer.