VirtualBox

Ignore:
Timestamp:
Aug 23, 2010 3:22:09 PM (14 years ago)
Author:
vboxsync
Message:

wddm/3d: wine: flush implementation basics

Location:
trunk/src/VBox/Additions/WINNT/Graphics/Display/wddm
Files:
3 edited

Legend:

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

    r31797 r31868  
    41544154    {
    41554155        Assert(pDevice->cScreens);
    4156         for (UINT i = 0; i < RT_ELEMENTS(pDevice->aScreens); ++i)
     4156        UINT cProcessed = 0;
     4157        for (UINT i = 0; cProcessed < pDevice->cScreens && i < RT_ELEMENTS(pDevice->aScreens); ++i)
    41574158        {
    41584159            PVBOXWDDMDISP_SCREEN pScreen = &pDevice->aScreens[i];
    41594160            if (pScreen->pDevice9If)
    41604161            {
    4161                 /* @todo: make a flush */
     4162                ++cProcessed;
     4163                if (pScreen->pRenderTargetRc->cAllocations == 1)
     4164                {
     4165                    hr = pScreen->pDevice9If->Present(NULL, NULL, NULL, NULL);
     4166                    Assert(hr == S_OK);
     4167                }
     4168                else
     4169                {
     4170                    hr = pDevice->pAdapter->D3D.pfnVBoxWineExD3DDev9Flush((IDirect3DDevice9Ex*)pScreen->pDevice9If);
     4171                    Assert(hr == S_OK);
     4172                }
    41624173            }
    41634174        }
  • trunk/src/VBox/Additions/WINNT/Graphics/Display/wddm/VBoxDispD3DIf.cpp

    r30916 r31868  
    3939            if (pD3D->pfnVBoxWineExD3DDev9CreateTexture)
    4040            {
    41                 return S_OK;
     41                pD3D->pfnVBoxWineExD3DDev9Flush = (PFNVBOXWINEEXD3DDEV9_FLUSH)GetProcAddress(pD3D->hD3DLib, "VBoxWineExD3DDev9Flush");
     42                Assert(pD3D->pfnVBoxWineExD3DDev9Flush);
     43                if (pD3D->pfnVBoxWineExD3DDev9Flush)
     44                {
     45                    return S_OK;
     46                }
    4247            }
    4348        }
  • trunk/src/VBox/Additions/WINNT/Graphics/Display/wddm/VBoxDispD3DIf.h

    r30916 r31868  
    3535    PFNVBOXWINEEXD3DDEV9_CREATETEXTURE pfnVBoxWineExD3DDev9CreateTexture;
    3636
     37    PFNVBOXWINEEXD3DDEV9_FLUSH pfnVBoxWineExD3DDev9Flush;
     38
    3739    /* module handle */
    3840    HMODULE hD3DLib;
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