int renderspuVBoxPresentBlitterEnter( PCR_BLITTER pBlitter, int32_t i32MakeCurrentUserData) { int rc; PCR_BLITTER_CONTEXT pCtxInfo = NULL; PCR_BLITTER_WINDOW pWindowInfo = NULL; GET_CONTEXT(pCtx); if (pCtx) { if (pCtx->currentWindow) { pCtxInfo = &pCtx->BltInfo; pWindowInfo = &pCtx->currentWindow->BltInfo; } } CrBltSetMakeCurrentUserData(pBlitter, i32MakeCurrentUserData); rc = CrBltEnter(pBlitter, pCtxInfo, pWindowInfo); if (!RT_SUCCESS(rc)) { crWarning("CrBltEnter failed, rc %d", rc); return rc; } return VINF_SUCCESS; }
VBOXBLITTERDECL(int) CrBltCleanup(PCR_BLITTER pBlitter, const CR_BLITTER_CONTEXT *pRestoreCtxInfo, const CR_BLITTER_WINDOW *pRestoreMural) { if (CrBltIsEntered(pBlitter)) { crWarning("CrBltBlitTexTex: blitter is entered"); return VERR_INVALID_STATE; } if (pBlitter->Flags.ShadersGloal || !CrGlslNeedsCleanup(&pBlitter->LocalGlslCache)) return VINF_SUCCESS; int rc = CrBltEnter(pBlitter, pRestoreCtxInfo, pRestoreMural); if (!RT_SUCCESS(rc)) { crWarning("CrBltEnter failed, rc %d", rc); return rc; } CrGlslCleanup(&pBlitter->LocalGlslCache); CrBltLeave(pBlitter); return VINF_SUCCESS; }