VirtualBox

Changeset 50251 in vbox


Ignore:
Timestamp:
Jan 28, 2014 10:19:33 AM (11 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
91871
Message:

crOpenGL: disable some async notifications for now

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/HostServices/VBoxCrOpenGLSvc.h

    r50250 r50251  
    4747#define SHCRGL_HOST_FN_CRCMD_NOTIFY_CMDS   (21)
    4848#define SHCRGL_HOST_FN_DEV_RESIZE          (22)
     49#define SHCRGL_HOST_FN_VIEWPORT_CHANGED2 (23)
    4950/* crOpenGL guest functions */
    5051#define SHCRGL_GUEST_FN_WRITE       (2)
     
    7475#define SHCRGL_CPARMS_SET_OUTPUT_REDIRECT (1)
    7576#define SHCRGL_CPARMS_CRCMD_NOTIFY_CMDS (0)
    76 #define SHCRGL_CPARMS_VIEWPORT_CHANGED (1)
     77#define SHCRGL_CPARMS_VIEWPORT_CHANGED (5)
     78#define SHCRGL_CPARMS_VIEWPORT_CHANGED2 (1)
    7779#define SHCRGL_CPARMS_GET_CAPS (1)
    7880
  • trunk/src/VBox/HostServices/SharedOpenGL/crserver/crservice.cpp

    r50250 r50251  
    11491149                else
    11501150                {
     1151#if 0
    11511152                    CHECK_ERROR_RET(pFramebuffer, Lock(), rc);
     1153#endif
    11521154
    11531155                    do {
     
    11731175                        }
    11741176                    } while (0);
    1175 
     1177#if 0
    11761178                    CHECK_ERROR_RET(pFramebuffer, Unlock(), rc);
     1179#endif
    11771180                }
    11781181
     
    12191222        }
    12201223        case SHCRGL_HOST_FN_VIEWPORT_CHANGED:
     1224        {
     1225            Log(("svcCall: SHCRGL_HOST_FN_VIEWPORT_CHANGED\n"));
     1226
     1227            /* Verify parameter count and types. */
     1228            if (cParms != SHCRGL_CPARMS_VIEWPORT_CHANGED)
     1229            {
     1230                LogRel(("SHCRGL_HOST_FN_VIEWPORT_CHANGED: cParms invalid - %d", cParms));
     1231                rc = VERR_INVALID_PARAMETER;
     1232                break;
     1233            }
     1234
     1235            for (int i = 0; i < SHCRGL_CPARMS_VIEWPORT_CHANGED; ++i)
     1236            {
     1237                if (paParms[i].type != VBOX_HGCM_SVC_PARM_32BIT)
     1238                {
     1239                    LogRel(("SHCRGL_HOST_FN_VIEWPORT_CHANGED: param[%d] type invalid - %d", i, paParms[i].type));
     1240                    rc = VERR_INVALID_PARAMETER;
     1241                    break;
     1242                }
     1243            }
     1244
     1245            if (!RT_SUCCESS(rc))
     1246            {
     1247                LogRel(("SHCRGL_HOST_FN_VIEWPORT_CHANGED: param validation failed, returning.."));
     1248                break;
     1249            }
     1250
     1251            crServerVBoxCompositionSetEnableStateGlobal(GL_FALSE);
     1252
     1253            rc = crVBoxServerSetScreenViewport((int)paParms[0].u.uint32,
     1254                    paParms[1].u.uint32, /* x */
     1255                    paParms[2].u.uint32, /* y */
     1256                    paParms[3].u.uint32, /* w */
     1257                    paParms[4].u.uint32  /* h */);
     1258            if (!RT_SUCCESS(rc))
     1259            {
     1260                LogRel(("SHCRGL_HOST_FN_VIEWPORT_CHANGED: crVBoxServerSetScreenViewport failed, rc %d", rc));
     1261            }
     1262
     1263            crServerVBoxCompositionSetEnableStateGlobal(GL_TRUE);
     1264
     1265            break;
     1266        }
     1267        case SHCRGL_HOST_FN_VIEWPORT_CHANGED2:
    12211268        {
    12221269            Log(("svcCall: SHCRGL_HOST_FN_VIEWPORT_CHANGED\n"));
  • trunk/src/VBox/Main/src-client/DisplayImpl.cpp

    r50250 r50251  
    936936                if (pVMMDev)
    937937                {
     938#if 0
    938939                    if (mhCrOglSvc)
    939940                        pVMMDev->hgcmHostFastCallAsync(mhCrOglSvc, SHCRGL_HOST_FN_SCREEN_CHANGED, &parm, NULL, NULL);
    940941                    else
    941942                        AssertMsgFailed(("mhCrOglSvc is NULL\n"));
     943#else
     944                    pVMMDev->hgcmHostCall("VBoxSharedCrOpenGL", SHCRGL_HOST_FN_SCREEN_CHANGED, SHCRGL_CPARMS_SCREEN_CHANGED, &parm);
     945#endif
    942946                }
    943947            }
     
    22322236                if (pVMMDev)
    22332237                {
     2238#if 0
    22342239                    if (mhCrOglSvc)
    22352240                        pVMMDev->hgcmHostFastCallAsync(mhCrOglSvc, SHCRGL_HOST_FN_SCREEN_CHANGED, &parm, NULL, NULL);
    22362241                    else
    22372242                        AssertMsgFailed(("mhCrOglSvc is NULL\n"));
     2243#else
     2244                    pVMMDev->hgcmHostCall("VBoxSharedCrOpenGL", SHCRGL_HOST_FN_SCREEN_CHANGED, SHCRGL_CPARMS_SCREEN_CHANGED, &parm);
     2245#endif
    22382246                }
    22392247                /*ComAssertRCRet (vrc, E_FAIL);*/
     
    33363344void Display::crViewportNotify(VMMDev *pVMMDev, ULONG aScreenId, ULONG x, ULONG y, ULONG width, ULONG height)
    33373345{
     3346#if 0
    33383347    VBOXHGCMSVCPARM parm;
    33393348
     
    33553364    parm.u.pointer.size = sizeof (*pViewportInfo);
    33563365
    3357     pVMMDev->hgcmHostFastCallAsync(mhCrOglSvc, SHCRGL_HOST_FN_VIEWPORT_CHANGED, &parm, displayCrAsyncCmdCompletion, this);
    3358 
     3366    pVMMDev->hgcmHostFastCallAsync(mhCrOglSvc, SHCRGL_HOST_FN_VIEWPORT_CHANGED2, &parm, displayCrAsyncCmdCompletion, this);
     3367#else
     3368    VBOXHGCMSVCPARM aParms[5];
     3369
     3370    aParms[0].type = VBOX_HGCM_SVC_PARM_32BIT;
     3371    aParms[0].u.uint32 = aScreenId;
     3372
     3373    aParms[1].type = VBOX_HGCM_SVC_PARM_32BIT;
     3374    aParms[1].u.uint32 = x;
     3375
     3376    aParms[2].type = VBOX_HGCM_SVC_PARM_32BIT;
     3377    aParms[2].u.uint32 = y;
     3378
     3379
     3380    aParms[3].type = VBOX_HGCM_SVC_PARM_32BIT;
     3381    aParms[3].u.uint32 = width;
     3382
     3383    aParms[4].type = VBOX_HGCM_SVC_PARM_32BIT;
     3384    aParms[4].u.uint32 = height;
     3385
     3386    pVMMDev->hgcmHostCall("VBoxSharedCrOpenGL", SHCRGL_HOST_FN_VIEWPORT_CHANGED, SHCRGL_CPARMS_VIEWPORT_CHANGED, aParms);
     3387#endif
    33593388}
    33603389#endif
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette