VirtualBox

Changeset 33607 in vbox


Ignore:
Timestamp:
Oct 29, 2010 1:49:49 PM (14 years ago)
Author:
vboxsync
Message:

3d/wddm: fix up stream source tracking

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/WINNT/Graphics/Display/wddm/VBoxDispD3D.cpp

    r33540 r33607  
    34633463    VBOXDISPCRHGSMI_SCOPE_SET_DEV(pDevice);
    34643464    HRESULT hr = S_OK;
    3465 //    IDirect3DVertexBuffer9 *pStreamData;
    3466 //    UINT cbOffset;
    3467 //    UINT cbStride;
    3468 //    hr = pDevice->pDevice9If->GetStreamSource(pData->Stream, &pStreamData, &cbOffset, &cbStride);
    3469 //    Assert(hr == S_OK);
    3470 //    if (hr == S_OK)
    3471 //    {
    3472 //        if (pStreamData)
    3473 //        {
    3474 //            Assert(0);
    3475 //            /* @todo: impl! */
    3476 //        }
    3477 //        else
    3478 //        {
    3479             Assert(pData->Stream < RT_ELEMENTS(pDevice->aStreamSourceUm));
    3480             PVBOXWDDMDISP_STREAMSOURCEUM pStrSrcUm = &pDevice->aStreamSourceUm[pData->Stream];
    3481             pStrSrcUm->pvBuffer = pUMBuffer;
    3482             pStrSrcUm->cbStride = pData->Stride;
    3483 //        }
    3484 //    }
     3465    IDirect3DVertexBuffer9 *pStreamData;
     3466    UINT cbOffset;
     3467    UINT cbStride;
     3468
     3469    Assert(pData->Stream < RT_ELEMENTS(pDevice->aStreamSourceUm));
     3470    PVBOXWDDMDISP_STREAMSOURCEUM pStrSrcUm = &pDevice->aStreamSourceUm[pData->Stream];
     3471    pStrSrcUm->pvBuffer = pUMBuffer;
     3472    pStrSrcUm->cbStride = pData->Stride;
     3473
     3474    hr = pDevice->pDevice9If->GetStreamSource(pData->Stream, &pStreamData, &cbOffset, &cbStride);
     3475    Assert(hr == S_OK);
     3476    if (hr==S_OK && pStreamData)
     3477    {
     3478        hr = pDevice->pDevice9If->SetStreamSource(pData->Stream, NULL, 0, 0);
     3479        pStreamData->Release();
     3480    }
     3481   
    34853482    vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p), hr(0x%x)\n", hDevice, hr));
    34863483    return hr;
     
    62306227        pDevice->StreamSourceInfo[pData->Stream].uiOffset = pData->Offset;
    62316228        pDevice->StreamSourceInfo[pData->Stream].uiStride = pData->Stride;
     6229
     6230        PVBOXWDDMDISP_STREAMSOURCEUM pStrSrcUm = &pDevice->aStreamSourceUm[pData->Stream];
     6231        pStrSrcUm->pvBuffer = NULL;
     6232        pStrSrcUm->cbStride = 0;
    62326233    }
    62336234    vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p), hr(0x%x)\n", hDevice, hr));
     
    79577958    va_end(pArgList);
    79587959
    7959     OutputDebugStringA(szBuffer);
     7960    //OutputDebugStringA(szBuffer);
    79607961}
    79617962#endif
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette