Changeset 36843 in vbox for trunk/src/VBox/HostServices/SharedOpenGL/crserver/crservice.cpp
- Timestamp:
- Apr 26, 2011 8:33:19 AM (14 years ago)
- svn:sync-xref-src-repo-rev:
- 71402
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/HostServices/SharedOpenGL/crserver/crservice.cpp
r36290 r36843 164 164 } 165 165 166 // @todo use critsect only to fetch the list and update the g_SvcPresentFBO's pQueueHead and pQueueTail. 166 167 rc = RTCritSectEnter(&g_SvcPresentFBO.hQueueLock); 167 168 AssertRCReturn(rc, rc); … … 1242 1243 g_pConsole = pConsole; 1243 1244 1244 /*rc = crVBoxServerSetOffscreenRendering(GL_TRUE);*/1245 1245 rc = VINF_SUCCESS; 1246 1246 } … … 1349 1349 1350 1350 rc = VINF_SUCCESS; 1351 } 1352 break; 1353 } 1354 case SHCRGL_HOST_FN_SET_OUTPUT_REDIRECT: 1355 { 1356 /* 1357 * OutputRedirect. 1358 * Note: the service calls OutputRedirect callbacks directly 1359 * and they must not block. If asynchronous processing is needed, 1360 * the callback provider must organize this. 1361 */ 1362 Log(("svcCall: SHCRGL_HOST_FN_SET_OUTPUT_REDIRECT\n")); 1363 1364 /* Verify parameter count and types. */ 1365 if (cParms != SHCRGL_CPARMS_SET_OUTPUT_REDIRECT) 1366 { 1367 rc = VERR_INVALID_PARAMETER; 1368 } 1369 else if (paParms[0].type != VBOX_HGCM_SVC_PARM_PTR) 1370 { 1371 rc = VERR_INVALID_PARAMETER; 1372 } 1373 else 1374 { 1375 /* Fetch parameters. */ 1376 H3DOUTPUTREDIRECT *pOutputRedirect = (H3DOUTPUTREDIRECT *)paParms[0].u.pointer.addr; 1377 uint32_t cbData = paParms[0].u.pointer.size; 1378 1379 /* Verify parameters values. */ 1380 if (cbData != sizeof (H3DOUTPUTREDIRECT)) 1381 { 1382 rc = VERR_INVALID_PARAMETER; 1383 } 1384 else /* Execute the function. */ 1385 { 1386 rc = crVBoxServerSetOffscreenRendering(GL_TRUE); 1387 1388 if (RT_SUCCESS(rc)) 1389 { 1390 CROutputRedirect or; 1391 or.pvContext = pOutputRedirect->pvContext; 1392 or.CRORBegin = pOutputRedirect->H3DORBegin; 1393 or.CRORGeometry = pOutputRedirect->H3DORGeometry; 1394 or.CRORVisibleRegion = pOutputRedirect->H3DORVisibleRegion; 1395 or.CRORFrame = pOutputRedirect->H3DORFrame; 1396 or.CROREnd = pOutputRedirect->H3DOREnd; 1397 or.CRORContextProperty = pOutputRedirect->H3DORContextProperty; 1398 rc = crVBoxServerOutputRedirectSet(&or); 1399 } 1400 } 1351 1401 } 1352 1402 break;
Note:
See TracChangeset
for help on using the changeset viewer.