- Timestamp:
- Dec 8, 2009 12:01:25 PM (15 years ago)
- Location:
- trunk/src/VBox
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/VBoxFBOverlay.cpp
r25226 r25232 2460 2460 { 2461 2461 pProgram = calcProgram(pPrimary); 2462 if(pProgram) 2463 { 2464 const VBoxVHWAColorKey *pResSrcCKey = getActiveSrcOverlayCKey(); 2465 const VBoxVHWAColorKey *pResDstCKey = getActiveDstOverlayCKey(pPrimary); 2466 2467 pProgram->start(); 2468 if(pResSrcCKey) 2469 { 2470 VBoxVHWASurfaceBase::setCKey(pProgram, &colorFormat(), pResSrcCKey, false); 2471 } 2472 if(pResDstCKey) 2473 { 2474 VBoxVHWASurfaceBase::setCKey(pProgram, &pPrimary->colorFormat(), pResDstCKey, true); 2475 } 2476 pProgram->stop(); 2477 } 2462 2478 } 2463 2479 … … 3439 3455 int VBoxGLWidget::vhwaSurfaceBlt(struct _VBOXVHWACMD_SURF_BLT *pCmd) 3440 3456 { 3441 /**/3442 3457 Q_UNUSED(pCmd); 3443 3458 return VERR_NOT_IMPLEMENTED; 3444 // VBoxVHWASurfaceBase *pDstSurf = (VBoxVHWASurfaceBase*)pCmd->u.in.hDstSurf;3445 // VBoxVHWASurfaceBase *pSrcSurf = (VBoxVHWASurfaceBase*)pCmd->u.in.hSrcSurf;3446 // VBOXQGLLOG_ENTER(("pDstSurf (0x%x), pSrcSurf (0x%x)\n",pDstSurf,pSrcSurf));3447 // QRect dstRect = VBOXVHWA_CONSTRUCT_QRECT_FROM_RECTL(&pCmd->u.in.dstRect);3448 // QRect srcRect = VBOXVHWA_CONSTRUCT_QRECT_FROM_RECTL(&pCmd->u.in.srcRect);3449 // vboxCheckUpdateAddress (pSrcSurf, pCmd->u.in.offSrcSurface);3450 // vboxCheckUpdateAddress (pDstSurf, pCmd->u.in.offDstSurface);3451 //// pDstSurf->makeCurrent();3452 //// const VBoxVHWAColorKey DstCKey, *pDstCKey = NULL;3453 //// const VBoxVHWAColorKey SrcCKey, *pSrcCKey = NULL;3454 //// if(pCmd->u.in.flags & VBOXVHWA_BLT_KEYSRCOVERRIDE)3455 //// {3456 //// pSrcCKey = &3457 //// }3458 //// if(pCmd->u.in.flags & VBOXVHWA_BLT_KEYDESTOVERRIDE)3459 //// {3460 ////3461 //// }3462 // if(pCmd->u.in.xUpdatedSrcMemValid)3463 // {3464 // QRect r = VBOXVHWA_CONSTRUCT_QRECT_FROM_RECTL(&pCmd->u.in.xUpdatedSrcMemRect);3465 // pSrcSurf->updatedMem(&r);3466 // }3467 //3468 // return pDstSurf->blt(&dstRect, pSrcSurf, &srcRect,3469 // pCmd->u.in.flags & VBOXVHWA_BLT_KEYSRCOVERRIDE ? &VBoxVHWAColorKey(pCmd->u.in.desc.SrcCK.high, pCmd->u.in.desc.SrcCK.low) : NULL,3470 // pCmd->u.in.flags & VBOXVHWA_BLT_KEYDESTOVERRIDE ? &VBoxVHWAColorKey(pCmd->u.in.desc.DstCK.high, pCmd->u.in.desc.DstCK.low) : NULL);3471 3459 } 3472 3460 … … 3479 3467 vboxCheckUpdateAddress (pTargSurf, pCmd->u.in.offTargSurface); 3480 3468 3481 // Assert(pTargSurf->isYInverted()); 3482 // Assert(!pCurrSurf->isYInverted()); 3469 3483 3470 if(pCmd->u.in.xUpdatedTargMemValid) 3484 3471 { … … 3493 3480 pTargSurf->cFlipsTarg++; 3494 3481 #endif 3495 // mDisplay.flip(pTargSurf, pCurrSurf); 3496 // Assert(!pTargSurf->isYInverted()); 3497 // Assert(pCurrSurf->isYInverted()); 3482 3498 3483 return VINF_SUCCESS; 3499 3484 } … … 3501 3486 void VBoxGLWidget::vhwaDoSurfaceOverlayUpdate(VBoxVHWASurfaceBase *pDstSurf, VBoxVHWASurfaceBase *pSrcSurf, struct _VBOXVHWACMD_SURF_OVERLAY_UPDATE *pCmd) 3502 3487 { 3488 /* get old values first to check whether we need to re-init display and program values */ 3489 bool bHadSrcCKey = false, bHadDstCKey = false; 3490 3491 if(pDstSurf) 3492 { 3493 bHadSrcCKey = !!(pSrcSurf->getActiveSrcOverlayCKey()); 3494 bHadDstCKey = !!(pSrcSurf->getActiveDstOverlayCKey(pDstSurf)); 3495 } 3496 3503 3497 if(pCmd->u.in.flags & VBOXVHWA_OVER_KEYDEST) 3504 3498 { … … 3576 3570 const VBoxVHWAColorKey *pResDstCKey = pSrcSurf->getActiveDstOverlayCKey(pDstSurf); 3577 3571 3578 /* @todo: may need to update glDisplayList here !! */ 3579 VBoxVHWAGlProgramVHWA *pProgram = pSrcSurf->getProgram(pDstSurf); 3580 if(pProgram) 3581 { 3582 pProgram->start(); 3583 if(pResSrcCKey || pResDstCKey) 3572 if(bHadSrcCKey != !!pResSrcCKey || bHadDstCKey != !!pResDstCKey) 3573 { 3574 pSrcSurf->setVisibilityReinitFlag(); 3575 } 3576 else if(pResSrcCKey || pResDstCKey) 3577 { 3578 VBoxVHWAGlProgramVHWA *pProgram = pSrcSurf->getProgram(pDstSurf); 3579 if(pProgram) 3584 3580 { 3581 pProgram->start(); 3585 3582 if(pResSrcCKey) 3586 3583 { … … 3591 3588 VBoxVHWASurfaceBase::setCKey(pProgram, &pDstSurf->colorFormat(), pResDstCKey, true); 3592 3589 } 3593 3590 pProgram->stop(); 3594 3591 } 3595 3596 switch(pSrcSurf->fourcc())3597 {3598 case 0:3599 case FOURCC_AYUV:3600 case FOURCC_YV12:3601 break;3602 case FOURCC_UYVY:3603 case FOURCC_YUY2:3604 break;3605 default:3606 Assert(0);3607 break;3608 }3609 3610 pProgram->stop();3611 3592 } 3612 3593 3613 3594 pSrcSurf->setRects(dstRect, srcRect); 3614 pSrcSurf->setVisibilityReinitFlag(); 3595 3615 3596 } 3616 3597 } … … 4192 4173 VBOXQGL_SAVE_START(pSSM); 4193 4174 int rc = SSMR3PutU32(pSSM, 0); AssertRC(rc); /* 0 primaries */ 4194 rc = SSMR3PutU32(pSSM, 0); AssertRC(rc); /* 0 overlays */4195 4175 VBOXQGL_SAVE_STOP(pSSM); 4196 4176 } -
trunk/src/VBox/HostDrivers/VBoxNetFlt/win/VBoxNetFltMp-win.c
r25226 r25232 62 62 static PUCHAR vboxNetFltWinMpDbgGetOidName(ULONG oid); 63 63 64 #ifdef VBOXNETFLT_WITH_IOCTL_SECURITY 64 65 NTSYSAPI 65 66 NTSTATUS … … 136 137 return Status; 137 138 } 139 #endif 138 140 /** 139 141 * Register an ioctl interface - a device object to be used for this … … 210 212 if(Status == NDIS_STATUS_SUCCESS) 211 213 { 214 #ifdef VBOXNETFLT_WITH_IOCTL_SECURITY 212 215 /* NdisMRegisterDevice does not offers us the ability to set security attributes */ 213 216 /* need to do this "manualy" for the device to be accessible by the non-privileged users */ … … 220 223 Status = NDIS_STATUS_SUCCESS; 221 224 } 225 #endif 222 226 223 227 Status = ObReferenceObjectByPointer(g_pControlDeviceObject, FILE_READ_DATA, *IoFileObjectType, KernelMode);
Note:
See TracChangeset
for help on using the changeset viewer.