Changeset 39288 in vbox for trunk/src/VBox/Main/src-client
- Timestamp:
- Nov 14, 2011 9:58:38 AM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/src-client/DisplayImpl.cpp
r38995 r39288 2942 2942 { 2943 2943 Assert(mhCrOglSvc); 2944 } 2945 else 2946 { 2947 mhCrOglSvc = NULL; 2948 } 2944 /* setup command completion callback */ 2945 VBOXVDMACMD_CHROMIUM_CTL_CRHGSMI_SETUP_COMPLETION Completion; 2946 Completion.Hdr.enmType = VBOXVDMACMD_CHROMIUM_CTL_TYPE_CRHGSMI_SETUP_COMPLETION; 2947 Completion.Hdr.cbCmd = sizeof (Completion); 2948 Completion.hCompletion = mpDrv->pVBVACallbacks; 2949 Completion.pfnCompletion = mpDrv->pVBVACallbacks->pfnCrHgsmiCommandCompleteAsync; 2950 2951 int rc = VERR_INVALID_FUNCTION; 2952 VBOXHGCMSVCPARM parm; 2953 parm.type = VBOX_HGCM_SVC_PARM_PTR; 2954 parm.u.pointer.addr = &Completion; 2955 parm.u.pointer.size = 0; 2956 2957 rc = pVMMDev->hgcmHostCall("VBoxSharedCrOpenGL", SHCRGL_HOST_FN_CRHGSMI_CTL, 1, &parm); 2958 if (RT_SUCCESS(rc)) 2959 return; 2960 2961 AssertMsgFailed(("VBOXVDMACMD_CHROMIUM_CTL_TYPE_CRHGSMI_SETUP_COMPLETION failed rc %d", rc)); 2962 } 2963 2964 mhCrOglSvc = NULL; 2949 2965 } 2950 2966 … … 3495 3511 if (pVMMDev) 3496 3512 { 3497 rc = pVMMDev->hgcmHostFastCallAsync(mhCrOglSvc, SHCRGL_HOST_FN_CRHGSMI_CMD, &parm, Display::displayCrHgsmiCommandCompletion, this); 3513 /* no completion callback is specified with this call, 3514 * the CrOgl code will complete the CrHgsmi command once it processes it */ 3515 rc = pVMMDev->hgcmHostFastCallAsync(mhCrOglSvc, SHCRGL_HOST_FN_CRHGSMI_CMD, &parm, NULL, NULL); 3498 3516 AssertRC(rc); 3499 3517 if (RT_SUCCESS(rc)) … … 3534 3552 } 3535 3553 3554 3536 3555 DECLCALLBACK(void) Display::displayCrHgsmiCommandProcess(PPDMIDISPLAYCONNECTOR pInterface, PVBOXVDMACMD_CHROMIUM_CMD pCmd) 3537 3556 { … … 3550 3569 DECLCALLBACK(void) Display::displayCrHgsmiCommandCompletion(int32_t result, uint32_t u32Function, PVBOXHGCMSVCPARM pParam, void *pvContext) 3551 3570 { 3571 AssertMsgFailed(("not expected!")); 3552 3572 Display *pDisplay = (Display *)pvContext; 3553 3573 pDisplay->handleCrHgsmiCommandCompletion(result, u32Function, pParam);
Note:
See TracChangeset
for help on using the changeset viewer.