Changeset 45251 in vbox for trunk/src/VBox/HostServices/SharedOpenGL
- Timestamp:
- Mar 29, 2013 5:23:18 PM (12 years ago)
- svn:sync-xref-src-repo-rev:
- 84635
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/HostServices/SharedOpenGL/crserverlib/server_window.c
r45248 r45251 467 467 /* the compositor lock is not needed actually since we have prevented renderspu from using the compositor */ 468 468 /* CrVrScrCompositorLock(&mural->Compositor); */ 469 rc = CrVrScrCompositorEntryRemove(&mural->Compositor, &mural->CEntry); 470 if (!RT_SUCCESS(rc)) 471 { 472 crWarning("CrVrScrCompositorEntryRemove failed, rc %d", rc); 473 goto end; 474 } 475 CrVrScrCompositorEntryInit(&mural->CEntry, &Tex); 476 /* initially set regions to all visible since this is what some guest assume 477 * and will not post any more visible regions command */ 478 Rect.xLeft = 0; 479 Rect.xRight = width; 480 Rect.yTop = 0; 481 Rect.yBottom = height; 482 rc = CrVrScrCompositorEntryRegionsSet(&mural->Compositor, &mural->CEntry, NULL, 1, &Rect, NULL); 483 if (!RT_SUCCESS(rc)) 484 { 485 crWarning("CrVrScrCompositorEntryRegionsSet failed, rc %d", rc); 486 goto end; 487 } 488 /* CrVrScrCompositorUnlock(&mural->Compositor); */ 489 mural->width = width; 490 mural->height = height; 491 492 mural->fDataPresented = GL_FALSE; 493 494 if (cr_server.currentMural == mural) 495 { 496 crStateGetCurrent()->buffer.width = mural->width; 497 crStateGetCurrent()->buffer.height = mural->height; 498 } 499 500 if (mural->fRootVrOn) 501 { 502 rc = CrVrScrCompositorEntryRemove(&mural->RootVrCompositor, &mural->RootVrCEntry); 469 if (!mural->bReceivedRects) 470 { 471 rc = CrVrScrCompositorEntryRemove(&mural->Compositor, &mural->CEntry); 503 472 if (!RT_SUCCESS(rc)) 504 473 { … … 506 475 goto end; 507 476 } 508 CrVrScrCompositorEntryInit(&mural-> RootVrCEntry, &Tex);477 CrVrScrCompositorEntryInit(&mural->CEntry, &Tex); 509 478 /* initially set regions to all visible since this is what some guest assume 510 479 * and will not post any more visible regions command */ … … 513 482 Rect.yTop = 0; 514 483 Rect.yBottom = height; 515 rc = CrVrScrCompositorEntryRegionsSet(&mural->RootVrCompositor, &mural->RootVrCEntry, NULL, 1, &Rect, NULL); 484 rc = CrVrScrCompositorEntryRegionsSet(&mural->Compositor, &mural->CEntry, NULL, 1, &Rect, NULL); 485 if (!RT_SUCCESS(rc)) 486 { 487 crWarning("CrVrScrCompositorEntryRegionsSet failed, rc %d", rc); 488 goto end; 489 } 490 } 491 else 492 { 493 rc = CrVrScrCompositorEntryTexUpdate(&mural->Compositor, &mural->CEntry, &Tex); 494 if (!RT_SUCCESS(rc)) 495 { 496 crWarning("CrVrScrCompositorEntryTexUpdate failed, rc %d", rc); 497 goto end; 498 } 499 } 500 501 /* CrVrScrCompositorUnlock(&mural->Compositor); */ 502 mural->width = width; 503 mural->height = height; 504 505 mural->fDataPresented = GL_FALSE; 506 507 if (cr_server.curClient && cr_server.curClient->currentMural == mural) 508 { 509 crStateGetCurrent()->buffer.width = mural->width; 510 crStateGetCurrent()->buffer.height = mural->height; 511 } 512 513 rc = CrVrScrCompositorEntryRegionsGet(&mural->Compositor, &mural->CEntry, &cRects, NULL, &pRects); 514 if (!RT_SUCCESS(rc)) 515 { 516 crWarning("CrVrScrCompositorEntryRegionsGet failed, rc %d", rc); 517 goto end; 518 } 519 520 if (mural->fRootVrOn) 521 { 522 rc = CrVrScrCompositorEntryRemove(&mural->RootVrCompositor, &mural->RootVrCEntry); 523 if (!RT_SUCCESS(rc)) 524 { 525 crWarning("CrVrScrCompositorEntryRemove failed, rc %d", rc); 526 goto end; 527 } 528 CrVrScrCompositorEntryInit(&mural->RootVrCEntry, &Tex); 529 530 rc = CrVrScrCompositorEntryRegionsSet(&mural->RootVrCompositor, &mural->RootVrCEntry, NULL, cRects, pRects, NULL); 516 531 if (!RT_SUCCESS(rc)) 517 532 { … … 537 552 else 538 553 { 539 rc = CrVrScrCompositorEntryRegionsGet(&mural->Compositor, &mural->CEntry, &cRects, NULL, &pRects);540 if (!RT_SUCCESS(rc))541 {542 crWarning("CrVrScrCompositorEntryRegionsGet failed, rc %d", rc);543 goto end;544 }545 554 } 546 555
Note:
See TracChangeset
for help on using the changeset viewer.