Пример #1
0
HRESULT vboxUhgsmiKmtEscCreate(PVBOXUHGSMI_PRIVATE_KMT pHgsmi, BOOL bD3D)
{
    pHgsmi->BasePrivate.Base.pfnBufferCreate = vboxUhgsmiKmtEscBufferCreate;
    pHgsmi->BasePrivate.Base.pfnBufferSubmitAsynch = vboxUhgsmiKmtEscBufferSubmitAsynch;
#ifdef VBOX_CRHGSMI_WITH_D3DDEV
    pHgsmi->BasePrivate.hClient = NULL;
#endif
    return vboxUhgsmiKmtEngineCreate(pHgsmi, bD3D);
}
Пример #2
0
HRESULT vboxUhgsmiKmtCreate(PVBOXUHGSMI_PRIVATE_KMT pHgsmi, BOOL bD3D)
{
    HRESULT hr = vboxUhgsmiKmtEngineCreate(pHgsmi, bD3D);
    if (!SUCCEEDED(hr))
        return hr;

    uint32_t u32Caps = 0;
    hr = vboxUhgsmiKmtQueryCaps(pHgsmi, &u32Caps);
    if (!SUCCEEDED(hr))
    {
        WARN(("vboxUhgsmiKmtQueryCaps failed hr %#x", hr));
        return hr;
    }

    if (u32Caps & CR_VBOX_CAP_CMDVBVA)
        vboxUhgsmiKmtSetupCallbacks(pHgsmi);
    else
        vboxUhgsmiKmtEscSetupCallbacks(pHgsmi);

    return S_OK;
}
HRESULT vboxUhgsmiKmtEscCreate(PVBOXUHGSMI_PRIVATE_KMT pHgsmi, BOOL bD3D)
{
    vboxUhgsmiBaseInit(&pHgsmi->BasePrivate, vboxCrHhgsmiKmtEscape);
    return vboxUhgsmiKmtEngineCreate(pHgsmi, bD3D);
}
Пример #4
0
HRESULT vboxUhgsmiKmtEscCreate(PVBOXUHGSMI_PRIVATE_KMT pHgsmi, BOOL bD3D)
{
    vboxUhgsmiKmtEscSetupCallbacks(pHgsmi);
    return vboxUhgsmiKmtEngineCreate(pHgsmi, bD3D);
}