VirtualBox

Ignore:
Timestamp:
Sep 22, 2010 3:07:44 PM (14 years ago)
Author:
vboxsync
Message:

wddm/3d: [partial] fix to the first black frame with Aero on Win7

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

Legend:

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

    r32697 r32699  
    18241824    IDirect3DSurface9 *pD3D9Surf;
    18251825    UINT iRt = vboxWddmSwapchainIdxBb2Rt(pSwapchain, iBb);
     1826    Assert(iRt < pSwapchain->cRTs);
    18261827    PVBOXWDDMDISP_RENDERTGT pRt = &pSwapchain->aRTs[iRt];
    18271828    HRESULT hr = pSwapchain->pSwapChainIf->GetBackBuffer(iBb, D3DBACKBUFFER_TYPE_MONO, &pD3D9Surf);
     
    18391840                if (pD3D9OldSurf && pD3D9OldSurf != pD3D9Surf)
    18401841                {
    1841                     Assert(0);
    1842                     hr = pDevice->pDevice9If->StretchRect(pD3D9OldSurf, NULL, pD3D9Surf, NULL, D3DTEXF_NONE);
    1843                     Assert(hr == S_OK);
     1842                    VOID *pvSwapchain = NULL;
     1843                    HRESULT tmpHr = pD3D9OldSurf->GetContainer(IID_IDirect3DSwapChain9, &pvSwapchain);
     1844                    if (tmpHr == S_OK)
     1845                    {
     1846                        Assert(pvSwapchain);
     1847                        ((IDirect3DSwapChain9 *)pvSwapchain)->Release();
     1848                    }
     1849                    else
     1850                    {
     1851                        Assert(!pvSwapchain);
     1852                    }
     1853                    if (pvSwapchain != pSwapchain->pSwapChainIf)
     1854                    {
     1855                        Assert(0);
     1856                        hr = pDevice->pDevice9If->StretchRect(pD3D9OldSurf, NULL, pD3D9Surf, NULL, D3DTEXF_NONE);
     1857                        Assert(hr == S_OK);
     1858                    }
    18441859                }
    18451860            }
     
    47804795                        }
    47814796                        Assert(pAllocation->D3DWidth >= pSurf->Width);
    4782 #ifdef DEBUG_misha
    4783                         /* break to test */
    4784                         Assert(pAllocation->D3DWidth == pSurf->Width);
    4785 #endif
    47864797                    }
    47874798                }
  • trunk/src/VBox/Additions/WINNT/Graphics/Miniport/wddm/VBoxVideoVidPn.cpp

    r30926 r32699  
    14721472    SIZE_T cTgtPaths;
    14731473    NTSTATUS Status = pVidPnTopologyInterface->pfnGetNumPathsFromSource(hVidPnTopology, VidPnSourceId, &cTgtPaths);
    1474     Assert(Status == STATUS_SUCCESS);
     1474    Assert(Status == STATUS_SUCCESS || Status == STATUS_GRAPHICS_SOURCE_NOT_IN_TOPOLOGY);
    14751475    if (Status == STATUS_SUCCESS)
    14761476    {
     
    14921492        }
    14931493    }
    1494     else
     1494    else if (Status != STATUS_GRAPHICS_SOURCE_NOT_IN_TOPOLOGY)
    14951495        drprintf((__FUNCTION__": pfnGetNumPathsFromSource failed Status(0x%x)\n", Status));
    14961496
  • trunk/src/VBox/Additions/WINNT/Graphics/Wine/wined3d/context.c

    r32651 r32699  
    16611661    struct wined3d_context *context = NULL;
    16621662
    1663 #ifdef DEBUG_misha
    1664     Assert(0);
    1665 #endif
    1666 
    16671663    for(i = 0 ; i < device->numContexts ; i ++)
    16681664    {
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