VirtualBox

Changeset 38930 in vbox


Ignore:
Timestamp:
Oct 3, 2011 8:45:54 AM (13 years ago)
Author:
vboxsync
Message:

wddm/3d: more rendering fixes

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

Legend:

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

    r38903 r38930  
    103103#define VBOXDISPPROFILE_DDI_REPORT_FRAME(_pDev) do {} while (0)
    104104#endif
     105
     106/* debugging/profiling stuff could go here.
     107 * NOP in release */
     108#define VBOXDISP_DDI_PROLOGUE() \
     109    VBOXVDBG_BREAK_DDI(); \
     110    VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
    105111
    106112#ifdef VBOXDISPMP_TEST
     
    23312337    {
    23322338        PVBOXWDDMDISP_RENDERTGT pRT = &pSwapchain->aRTs[i];
    2333         BOOL fHasSurf = !!pRT->pAlloc->pRc->aAllocations[0].pD3DIf;
     2339        if (pRT->pAlloc->enmD3DIfType != VBOXDISP_D3DIFTYPE_SURFACE)
     2340            continue;
     2341        BOOL fHasSurf = !!pRT->pAlloc->pRc->aAllocations[i].pD3DIf;
    23342342        if (!fForceCreate && !fHasSurf)
    23352343            continue;
     
    24012409        }
    24022410
    2403         pRT->pAlloc->pD3DIf->Release();
     2411        if (pRT->pAlloc->pD3DIf)
     2412            pRT->pAlloc->pD3DIf->Release();
    24042413        pRT->pAlloc->pD3DIf = pD3D9NewSurf;
    24052414        if (pD3D9OldSurf)
     
    24622471    HRESULT hr = S_OK;
    24632472    BOOL bReuseSwapchain = FALSE;
     2473    BOOL fNeedRtPresentSwitch = FALSE;
    24642474
    24652475    if (pSwapchain->fFlags.bSwitchReportingPresent || pSwapchain->cRTs > VBOXWDDMDISP_MAX_DIRECT_RTS)
    24662476    {
    24672477        pSwapchain->fFlags.bSwitchReportingPresent = FALSE;
    2468         /* switch to Render Target Reporting Present mode */
    2469         vboxWddmSwapchainSwtichRtPresent(pDevice, pSwapchain);
     2478        /* indicae switch to Render Target Reporting Present mode is needed */
     2479        fNeedRtPresentSwitch = TRUE;
     2480//        vboxWddmSwapchainSwtichRtPresent(pDevice, pSwapchain);
    24702481    }
    24712482
     
    24732484    if (pOldIf)
    24742485    {
    2475         if (pSwapchain->fFlags.bRtReportingPresent)
     2486        if (fNeedRtPresentSwitch)
    24762487        {
    24772488            /* the number of swapchain backbuffers does not matter */
     
    25772588    }
    25782589
    2579     if (hr == S_OK)
    2580     {
    2581         Assert(pNewIf);
    2582         pSwapchain->pSwapChainIf = pNewIf;
     2590    if (FAILED(hr))
     2591        return hr;
     2592
     2593    Assert(pNewIf);
     2594    pSwapchain->pSwapChainIf = pNewIf;
     2595
     2596    if (fNeedRtPresentSwitch)
     2597    {
     2598        hr = vboxWddmSwapchainSwtichRtPresent(pDevice, pSwapchain);
     2599    }
     2600    else
     2601    {
    25832602#ifndef VBOXWDDM_WITH_VISIBLE_FB
    25842603        if (!pSwapchain->fFlags.bRtReportingPresent)
     
    26222641        }
    26232642#endif
    2624         if (hr == S_OK)
    2625         {
     2643    }
     2644
     2645    /* ignore any subsequen failures */
     2646    Assert(hr == S_OK);
     2647
     2648
    26262649#ifdef DEBUG
    2627             for (UINT i = 0; i < cSurfs; ++i)
    2628             {
    2629                 PVBOXWDDMDISP_RENDERTGT pRt = &pSwapchain->aRTs[i];
    2630                 Assert(pRt->pAlloc->enmD3DIfType == VBOXDISP_D3DIFTYPE_SURFACE
    2631                         || pRt->pAlloc->enmD3DIfType == VBOXDISP_D3DIFTYPE_TEXTURE);
    2632                 Assert(pRt->pAlloc->pRc->RcDesc.enmPool == D3DDDIPOOL_LOCALVIDMEM);
    2633             }
    2634 #endif
    2635             hr = vboxWddmSwapchainSynch(pDevice, pSwapchain);
    2636             Assert(hr == S_OK);
    2637             if (hr == S_OK)
    2638             {
    2639 
    2640                 Assert(hr == S_OK);
    2641                 if (hr == S_OK)
    2642                 {
    2643                     Assert(!pSwapchain->fFlags.bChanged);
    2644                     Assert(!pSwapchain->fFlags.bSwitchReportingPresent);
    2645                     if (pOldIf)
    2646                     {
    2647                         Assert(hOldWnd);
    2648                         pOldIf->Release();
    2649                     }
    2650                     else
    2651                     {
    2652                         Assert(!hOldWnd);
    2653                     }
    2654                     return S_OK;
    2655                 }
    2656             }
    2657             pNewIf->Release();
    2658             pSwapchain->pSwapChainIf = pOldIf;
    2659         }
    2660 
    2661         Assert(hr != S_OK);
    2662         pSwapchain->hWnd = hOldWnd;
    2663     }
    2664 
    2665     return hr;
     2650    for (UINT i = 0; i < cSurfs; ++i)
     2651    {
     2652        PVBOXWDDMDISP_RENDERTGT pRt = &pSwapchain->aRTs[i];
     2653        Assert(pRt->pAlloc->enmD3DIfType == VBOXDISP_D3DIFTYPE_SURFACE
     2654                || pRt->pAlloc->enmD3DIfType == VBOXDISP_D3DIFTYPE_TEXTURE);
     2655        Assert(pRt->pAlloc->pRc->RcDesc.enmPool != D3DDDIPOOL_SYSTEMMEM);
     2656    }
     2657#endif
     2658
     2659    hr = vboxWddmSwapchainSynch(pDevice, pSwapchain);
     2660    Assert(hr == S_OK);
     2661
     2662    Assert(!pSwapchain->fFlags.bChanged);
     2663    Assert(!pSwapchain->fFlags.bSwitchReportingPresent);
     2664    if (pOldIf)
     2665    {
     2666        Assert(hOldWnd);
     2667        pOldIf->Release();
     2668    }
     2669    else
     2670    {
     2671        Assert(!hOldWnd);
     2672    }
     2673    return S_OK;
    26662674}
    26672675
     
    33713379        case D3DDDICAPS_GETDECODEGUIDCOUNT:
    33723380        case D3DDDICAPS_GETVIDEOPROCESSORDEVICEGUIDCOUNT:
     3381        case D3DDDICAPS_GETVIDEOPROCESSORRTFORMATCOUNT:
    33733382            if (pData->pData && pData->DataSize)
    33743383                memset(pData->pData, 0, pData->DataSize);
     
    33853394        case D3DDDICAPS_GETDECODECONFIGURATIONS:
    33863395        case D3DDDICAPS_GETVIDEOPROCESSORDEVICEGUIDS:
    3387         case D3DDDICAPS_GETVIDEOPROCESSORRTFORMATCOUNT:
    33883396        case D3DDDICAPS_GETVIDEOPROCESSORRTFORMATS:
    33893397        case D3DDDICAPS_GETVIDEOPROCESSORRTSUBSTREAMFORMATCOUNT:
     
    34103418static HRESULT APIENTRY vboxWddmDDevSetRenderState(HANDLE hDevice, CONST D3DDDIARG_RENDERSTATE* pData)
    34113419{
    3412     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     3420    VBOXDISP_DDI_PROLOGUE();
    34133421    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    34143422    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    34243432static HRESULT APIENTRY vboxWddmDDevUpdateWInfo(HANDLE hDevice, CONST D3DDDIARG_WINFO* pData)
    34253433{
    3426     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     3434    VBOXDISP_DDI_PROLOGUE();
    34273435//    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
    34283436//    VBOXDISPCRHGSMI_SCOPE_SET_DEV(pDevice);
     
    34343442static HRESULT APIENTRY vboxWddmDDevValidateDevice(HANDLE hDevice, D3DDDIARG_VALIDATETEXTURESTAGESTATE* pData)
    34353443{
    3436     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     3444    VBOXDISP_DDI_PROLOGUE();
    34373445//    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
    34383446//    VBOXDISPCRHGSMI_SCOPE_SET_DEV(pDevice);
     
    34493457static HRESULT APIENTRY vboxWddmDDevSetTextureStageState(HANDLE hDevice, CONST D3DDDIARG_TEXTURESTAGESTATE* pData)
    34503458{
    3451     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     3459    VBOXDISP_DDI_PROLOGUE();
    34523460    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    34533461    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    34753483static HRESULT APIENTRY vboxWddmDDevSetTexture(HANDLE hDevice, UINT Stage, HANDLE hTexture)
    34763484{
    3477     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     3485    VBOXDISP_DDI_PROLOGUE();
    34783486    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    34793487    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    35163524static HRESULT APIENTRY vboxWddmDDevSetPixelShader(HANDLE hDevice, HANDLE hShaderHandle)
    35173525{
    3518     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     3526    VBOXDISP_DDI_PROLOGUE();
    35193527    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    35203528    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    35313539static HRESULT APIENTRY vboxWddmDDevSetPixelShaderConst(HANDLE hDevice, CONST D3DDDIARG_SETPIXELSHADERCONST* pData, CONST FLOAT* pRegisters)
    35323540{
    3533     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     3541    VBOXDISP_DDI_PROLOGUE();
    35343542    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    35353543    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    35453553static HRESULT APIENTRY vboxWddmDDevSetStreamSourceUm(HANDLE hDevice, CONST D3DDDIARG_SETSTREAMSOURCEUM* pData, CONST VOID* pUMBuffer )
    35463554{
    3547     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     3555    VBOXDISP_DDI_PROLOGUE();
    35483556    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    35493557    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    35713579static HRESULT APIENTRY vboxWddmDDevSetIndices(HANDLE hDevice, CONST D3DDDIARG_SETINDICES* pData)
    35723580{
    3573     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     3581    VBOXDISP_DDI_PROLOGUE();
    35743582    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    35753583    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    36013609static HRESULT APIENTRY vboxWddmDDevSetIndicesUm(HANDLE hDevice, UINT IndexSize, CONST VOID* pUMBuffer)
    36023610{
    3603     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     3611    VBOXDISP_DDI_PROLOGUE();
    36043612    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    36053613    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    36163624static HRESULT APIENTRY vboxWddmDDevDrawPrimitive(HANDLE hDevice, CONST D3DDDIARG_DRAWPRIMITIVE* pData, CONST UINT* pFlagBuffer)
    36173625{
    3618     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     3626    VBOXDISP_DDI_PROLOGUE();
    36193627    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    36203628    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    36923700static HRESULT APIENTRY vboxWddmDDevDrawIndexedPrimitive(HANDLE hDevice, CONST D3DDDIARG_DRAWINDEXEDPRIMITIVE* pData)
    36933701{
    3694     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     3702    VBOXDISP_DDI_PROLOGUE();
    36953703    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    36963704    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    37433751static HRESULT APIENTRY vboxWddmDDevDrawRectPatch(HANDLE hDevice, CONST D3DDDIARG_DRAWRECTPATCH* pData, CONST D3DDDIRECTPATCH_INFO* pInfo, CONST FLOAT* pPatch)
    37443752{
    3745     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     3753    VBOXDISP_DDI_PROLOGUE();
    37463754    vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    37473755    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    37563764static HRESULT APIENTRY vboxWddmDDevDrawTriPatch(HANDLE hDevice, CONST D3DDDIARG_DRAWTRIPATCH* pData, CONST D3DDDITRIPATCH_INFO* pInfo, CONST FLOAT* pPatch)
    37573765{
    3758     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     3766    VBOXDISP_DDI_PROLOGUE();
    37593767    vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    37603768    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    37693777static HRESULT APIENTRY vboxWddmDDevDrawPrimitive2(HANDLE hDevice, CONST D3DDDIARG_DRAWPRIMITIVE2* pData)
    37703778{
    3771     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     3779    VBOXDISP_DDI_PROLOGUE();
    37723780    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    37733781    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    38643872static HRESULT APIENTRY vboxWddmDDevDrawIndexedPrimitive2(HANDLE hDevice, CONST D3DDDIARG_DRAWINDEXEDPRIMITIVE2* pData, UINT dwIndicesSize, CONST VOID* pIndexBuffer, CONST UINT* pFlagBuffer)
    38653873{
    3866     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     3874    VBOXDISP_DDI_PROLOGUE();
    38673875    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    38683876    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    38773885static HRESULT APIENTRY vboxWddmDDevVolBlt(HANDLE hDevice, CONST D3DDDIARG_VOLUMEBLT* pData)
    38783886{
    3879     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     3887    VBOXDISP_DDI_PROLOGUE();
    38803888    vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    38813889    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    38903898static HRESULT APIENTRY vboxWddmDDevBufBlt(HANDLE hDevice, CONST D3DDDIARG_BUFFERBLT* pData)
    38913899{
    3892     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     3900    VBOXDISP_DDI_PROLOGUE();
    38933901    vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    38943902    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    39033911static HRESULT APIENTRY vboxWddmDDevTexBlt(HANDLE hDevice, CONST D3DDDIARG_TEXBLT* pData)
    39043912{
    3905     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     3913    VBOXDISP_DDI_PROLOGUE();
    39063914    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    39073915    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    39853993static HRESULT APIENTRY vboxWddmDDevStateSet(HANDLE hDevice, D3DDDIARG_STATESET* pData)
    39863994{
    3987     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     3995    VBOXDISP_DDI_PROLOGUE();
    39883996    vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    39893997    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    39964004static HRESULT APIENTRY vboxWddmDDevSetPriority(HANDLE hDevice, CONST D3DDDIARG_SETPRIORITY* pData)
    39974005{
    3998     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     4006    VBOXDISP_DDI_PROLOGUE();
    39994007//    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
    40004008//    Assert(pDevice);
     
    40164024static HRESULT APIENTRY vboxWddmDDevClear(HANDLE hDevice, CONST D3DDDIARG_CLEAR* pData, UINT NumRect, CONST RECT* pRect)
    40174025{
    4018     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     4026    VBOXDISP_DDI_PROLOGUE();
    40194027    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    40204028    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    40334041static HRESULT APIENTRY vboxWddmDDevUpdatePalette(HANDLE hDevice, CONST D3DDDIARG_UPDATEPALETTE* pData, CONST PALETTEENTRY* pPaletteData)
    40344042{
    4035     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     4043    VBOXDISP_DDI_PROLOGUE();
    40364044    vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    40374045    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    40454053static HRESULT APIENTRY vboxWddmDDevSetPalette(HANDLE hDevice, CONST D3DDDIARG_SETPALETTE* pData)
    40464054{
    4047     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     4055    VBOXDISP_DDI_PROLOGUE();
    40484056    vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    40494057    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    40574065static HRESULT APIENTRY vboxWddmDDevSetVertexShaderConst(HANDLE hDevice, CONST D3DDDIARG_SETVERTEXSHADERCONST* pData , CONST VOID* pRegisters)
    40584066{
    4059     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     4067    VBOXDISP_DDI_PROLOGUE();
    40604068    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    40614069    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    40734081static HRESULT APIENTRY vboxWddmDDevMultiplyTransform(HANDLE hDevice, CONST D3DDDIARG_MULTIPLYTRANSFORM* pData)
    40744082{
    4075     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     4083    VBOXDISP_DDI_PROLOGUE();
    40764084    vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    40774085    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    40844092static HRESULT APIENTRY vboxWddmDDevSetTransform(HANDLE hDevice, CONST D3DDDIARG_SETTRANSFORM* pData)
    40854093{
    4086     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     4094    VBOXDISP_DDI_PROLOGUE();
    40874095    vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    40884096    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    40954103static HRESULT APIENTRY vboxWddmDDevSetViewport(HANDLE hDevice, CONST D3DDDIARG_VIEWPORTINFO* pData)
    40964104{
    4097     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     4105    VBOXDISP_DDI_PROLOGUE();
    40984106    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    40994107    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    41134121static HRESULT APIENTRY vboxWddmDDevSetZRange(HANDLE hDevice, CONST D3DDDIARG_ZRANGE* pData)
    41144122{
    4115     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     4123    VBOXDISP_DDI_PROLOGUE();
    41164124    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    41174125    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    41294137static HRESULT APIENTRY vboxWddmDDevSetMaterial(HANDLE hDevice, CONST D3DDDIARG_SETMATERIAL* pData)
    41304138{
    4131     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     4139    VBOXDISP_DDI_PROLOGUE();
    41324140    vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    41334141    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    41404148static HRESULT APIENTRY vboxWddmDDevSetLight(HANDLE hDevice, CONST D3DDDIARG_SETLIGHT* pData, CONST D3DDDI_LIGHT* pLightProperties)
    41414149{
    4142     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     4150    VBOXDISP_DDI_PROLOGUE();
    41434151    vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    41444152    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    41514159static HRESULT APIENTRY vboxWddmDDevCreateLight(HANDLE hDevice, CONST D3DDDIARG_CREATELIGHT* pData)
    41524160{
    4153     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     4161    VBOXDISP_DDI_PROLOGUE();
    41544162    vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    41554163    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    41624170static HRESULT APIENTRY vboxWddmDDevDestroyLight(HANDLE hDevice, CONST D3DDDIARG_DESTROYLIGHT* pData)
    41634171{
    4164     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     4172    VBOXDISP_DDI_PROLOGUE();
    41654173    vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    41664174    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    41734181static HRESULT APIENTRY vboxWddmDDevSetClipPlane(HANDLE hDevice, CONST D3DDDIARG_SETCLIPPLANE* pData)
    41744182{
    4175     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     4183    VBOXDISP_DDI_PROLOGUE();
    41764184    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    41774185    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    41884196static HRESULT APIENTRY vboxWddmDDevGetInfo(HANDLE hDevice, UINT DevInfoID, VOID* pDevInfoStruct, UINT DevInfoSize)
    41894197{
    4190     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     4198    VBOXDISP_DDI_PROLOGUE();
    41914199    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    41924200//    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    42214229static HRESULT APIENTRY vboxWddmDDevLock(HANDLE hDevice, D3DDDIARG_LOCK* pData)
    42224230{
    4223     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     4231    VBOXDISP_DDI_PROLOGUE();
    42244232    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    42254233    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    46524660static HRESULT APIENTRY vboxWddmDDevUnlock(HANDLE hDevice, CONST D3DDDIARG_UNLOCK* pData)
    46534661{
    4654     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     4662    VBOXDISP_DDI_PROLOGUE();
    46554663    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    46564664    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    48274835static HRESULT APIENTRY vboxWddmDDevLockAsync(HANDLE hDevice, D3DDDIARG_LOCKASYNC* pData)
    48284836{
    4829     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     4837    VBOXDISP_DDI_PROLOGUE();
    48304838    vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    48314839    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    48384846static HRESULT APIENTRY vboxWddmDDevUnlockAsync(HANDLE hDevice, CONST D3DDDIARG_UNLOCKASYNC* pData)
    48394847{
    4840     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     4848    VBOXDISP_DDI_PROLOGUE();
    48414849    vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    48424850    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    48494857static HRESULT APIENTRY vboxWddmDDevRename(HANDLE hDevice, CONST D3DDDIARG_RENAME* pData)
    48504858{
    4851     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     4859    VBOXDISP_DDI_PROLOGUE();
    48524860    vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    48534861    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    49034911static HRESULT APIENTRY vboxWddmDDevCreateResource(HANDLE hDevice, D3DDDIARG_CREATERESOURCE* pResource)
    49044912{
    4905     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     4913    VBOXDISP_DDI_PROLOGUE();
    49064914    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    49074915    HRESULT hr = S_OK;
     
    55075515static HRESULT APIENTRY vboxWddmDDevDestroyResource(HANDLE hDevice, HANDLE hResource)
    55085516{
    5509     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     5517    VBOXDISP_DDI_PROLOGUE();
    55105518    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    55115519    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    55915599static HRESULT APIENTRY vboxWddmDDevSetDisplayMode(HANDLE hDevice, CONST D3DDDIARG_SETDISPLAYMODE* pData)
    55925600{
    5593     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     5601    VBOXDISP_DDI_PROLOGUE();
    55945602    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    55955603    HRESULT hr = S_OK;
     
    56705678static HRESULT APIENTRY vboxWddmDDevPresent(HANDLE hDevice, CONST D3DDDIARG_PRESENT* pData)
    56715679{
    5672     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     5680    VBOXDISP_DDI_PROLOGUE();
    56735681    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    56745682    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    57285736static HRESULT APIENTRY vboxWddmDDevFlush(HANDLE hDevice)
    57295737{
    5730     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     5738    VBOXDISP_DDI_PROLOGUE();
    57315739    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    57325740    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    57655773static HRESULT APIENTRY vboxWddmDDevCreateVertexShaderDecl(HANDLE hDevice, D3DDDIARG_CREATEVERTEXSHADERDECL* pData, CONST D3DDDIVERTEXELEMENT* pVertexElements)
    57665774{
    5767     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     5775    VBOXDISP_DDI_PROLOGUE();
    57685776    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    57695777    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    58135821static HRESULT APIENTRY vboxWddmDDevSetVertexShaderDecl(HANDLE hDevice, HANDLE hShaderHandle)
    58145822{
    5815     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     5823    VBOXDISP_DDI_PROLOGUE();
    58165824    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    58175825    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    58285836static HRESULT APIENTRY vboxWddmDDevDeleteVertexShaderDecl(HANDLE hDevice, HANDLE hShaderHandle)
    58295837{
    5830     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     5838    VBOXDISP_DDI_PROLOGUE();
    58315839    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    58325840    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    58415849static HRESULT APIENTRY vboxWddmDDevCreateVertexShaderFunc(HANDLE hDevice, D3DDDIARG_CREATEVERTEXSHADERFUNC* pData, CONST UINT* pCode)
    58425850{
    5843     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     5851    VBOXDISP_DDI_PROLOGUE();
    58445852    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    58455853    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    58615869static HRESULT APIENTRY vboxWddmDDevSetVertexShaderFunc(HANDLE hDevice, HANDLE hShaderHandle)
    58625870{
    5863     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     5871    VBOXDISP_DDI_PROLOGUE();
    58645872    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    58655873    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    58755883static HRESULT APIENTRY vboxWddmDDevDeleteVertexShaderFunc(HANDLE hDevice, HANDLE hShaderHandle)
    58765884{
    5877     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     5885    VBOXDISP_DDI_PROLOGUE();
    58785886    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    58795887    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    58885896static HRESULT APIENTRY vboxWddmDDevSetVertexShaderConstI(HANDLE hDevice, CONST D3DDDIARG_SETVERTEXSHADERCONSTI* pData, CONST INT* pRegisters)
    58895897{
    5890     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     5898    VBOXDISP_DDI_PROLOGUE();
    58915899    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    58925900    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    59015909static HRESULT APIENTRY vboxWddmDDevSetVertexShaderConstB(HANDLE hDevice, CONST D3DDDIARG_SETVERTEXSHADERCONSTB* pData, CONST BOOL* pRegisters)
    59025910{
    5903     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     5911    VBOXDISP_DDI_PROLOGUE();
    59045912    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    59055913    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    59145922static HRESULT APIENTRY vboxWddmDDevSetScissorRect(HANDLE hDevice, CONST RECT* pRect)
    59155923{
    5916     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     5924    VBOXDISP_DDI_PROLOGUE();
    59175925    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    59185926    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    59275935static HRESULT APIENTRY vboxWddmDDevSetStreamSource(HANDLE hDevice, CONST D3DDDIARG_SETSTREAMSOURCE* pData)
    59285936{
    5929     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     5937    VBOXDISP_DDI_PROLOGUE();
    59305938    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    59315939    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    59715979static HRESULT APIENTRY vboxWddmDDevSetStreamSourceFreq(HANDLE hDevice, CONST D3DDDIARG_SETSTREAMSOURCEFREQ* pData)
    59725980{
    5973     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     5981    VBOXDISP_DDI_PROLOGUE();
    59745982    vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    59755983    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    59825990static HRESULT APIENTRY vboxWddmDDevSetConvolutionKernelMono(HANDLE hDevice, CONST D3DDDIARG_SETCONVOLUTIONKERNELMONO* pData)
    59835991{
    5984     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     5992    VBOXDISP_DDI_PROLOGUE();
    59855993    vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    59865994    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    59936001static HRESULT APIENTRY vboxWddmDDevComposeRects(HANDLE hDevice, CONST D3DDDIARG_COMPOSERECTS* pData)
    59946002{
    5995     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     6003    VBOXDISP_DDI_PROLOGUE();
    59966004    vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    59976005    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    60856093static HRESULT APIENTRY vboxWddmDDevBlt(HANDLE hDevice, CONST D3DDDIARG_BLT* pData)
    60866094{
    6087     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     6095    VBOXDISP_DDI_PROLOGUE();
    60886096    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    60896097    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    61656173static HRESULT APIENTRY vboxWddmDDevColorFill(HANDLE hDevice, CONST D3DDDIARG_COLORFILL* pData)
    61666174{
    6167     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     6175    VBOXDISP_DDI_PROLOGUE();
    61686176    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    61696177    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    61946202static HRESULT APIENTRY vboxWddmDDevDepthFill(HANDLE hDevice, CONST D3DDDIARG_DEPTHFILL* pData)
    61956203{
    6196     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     6204    VBOXDISP_DDI_PROLOGUE();
    61976205    vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    61986206    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    62066214static HRESULT APIENTRY vboxWddmDDevCreateQuery(HANDLE hDevice, D3DDDIARG_CREATEQUERY* pData)
    62076215{
    6208     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     6216    VBOXDISP_DDI_PROLOGUE();
    62096217    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    62106218//    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    62366244static HRESULT APIENTRY vboxWddmDDevDestroyQuery(HANDLE hDevice, HANDLE hQuery)
    62376245{
    6238     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     6246    VBOXDISP_DDI_PROLOGUE();
    62396247    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    62406248    HRESULT hr = S_OK;
     
    62516259static HRESULT APIENTRY vboxWddmDDevIssueQuery(HANDLE hDevice, CONST D3DDDIARG_ISSUEQUERY* pData)
    62526260{
    6253     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     6261    VBOXDISP_DDI_PROLOGUE();
    62546262    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    62556263    HRESULT hr = S_OK;
     
    62666274static HRESULT APIENTRY vboxWddmDDevGetQueryData(HANDLE hDevice, CONST D3DDDIARG_GETQUERYDATA* pData)
    62676275{
    6268     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     6276    VBOXDISP_DDI_PROLOGUE();
    62696277    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    62706278    HRESULT hr = S_OK;
     
    62926300static HRESULT APIENTRY vboxWddmDDevSetRenderTarget(HANDLE hDevice, CONST D3DDDIARG_SETRENDERTARGET* pData)
    62936301{
    6294     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     6302    VBOXDISP_DDI_PROLOGUE();
    62956303    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    62966304    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    63106318static HRESULT APIENTRY vboxWddmDDevSetDepthStencil(HANDLE hDevice, CONST D3DDDIARG_SETDEPTHSTENCIL* pData)
    63116319{
    6312     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     6320    VBOXDISP_DDI_PROLOGUE();
    63136321    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    63146322    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    63336341static HRESULT APIENTRY vboxWddmDDevGenerateMipSubLevels(HANDLE hDevice, CONST D3DDDIARG_GENERATEMIPSUBLEVELS* pData)
    63346342{
    6335     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     6343    VBOXDISP_DDI_PROLOGUE();
    63366344    vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    63376345    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    63456353static HRESULT APIENTRY vboxWddmDDevSetPixelShaderConstI(HANDLE hDevice, CONST D3DDDIARG_SETPIXELSHADERCONSTI* pData, CONST INT* pRegisters)
    63466354{
    6347     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     6355    VBOXDISP_DDI_PROLOGUE();
    63486356    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    63496357    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    63596367static HRESULT APIENTRY vboxWddmDDevSetPixelShaderConstB(HANDLE hDevice, CONST D3DDDIARG_SETPIXELSHADERCONSTB* pData, CONST BOOL* pRegisters)
    63606368{
    6361     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     6369    VBOXDISP_DDI_PROLOGUE();
    63626370    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    63636371    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    63736381static HRESULT APIENTRY vboxWddmDDevCreatePixelShader(HANDLE hDevice, D3DDDIARG_CREATEPIXELSHADER* pData, CONST UINT* pCode)
    63746382{
    6375     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     6383    VBOXDISP_DDI_PROLOGUE();
    63766384    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    63776385    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    63946402static HRESULT APIENTRY vboxWddmDDevDeletePixelShader(HANDLE hDevice, HANDLE hShaderHandle)
    63956403{
    6396     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     6404    VBOXDISP_DDI_PROLOGUE();
    63976405    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    63986406    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    64086416static HRESULT APIENTRY vboxWddmDDevCreateDecodeDevice(HANDLE hDevice, D3DDDIARG_CREATEDECODEDEVICE* pData)
    64096417{
    6410     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     6418    VBOXDISP_DDI_PROLOGUE();
    64116419    vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    64126420    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    64206428static HRESULT APIENTRY vboxWddmDDevDestroyDecodeDevice(HANDLE hDevice, HANDLE hDecodeDevice)
    64216429{
    6422     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     6430    VBOXDISP_DDI_PROLOGUE();
    64236431    vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    64246432    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    64326440static HRESULT APIENTRY vboxWddmDDevSetDecodeRenderTarget(HANDLE hDevice, CONST D3DDDIARG_SETDECODERENDERTARGET* pData)
    64336441{
    6434     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     6442    VBOXDISP_DDI_PROLOGUE();
    64356443    vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    64366444    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    64446452static HRESULT APIENTRY vboxWddmDDevDecodeBeginFrame(HANDLE hDevice, D3DDDIARG_DECODEBEGINFRAME* pData)
    64456453{
    6446     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     6454    VBOXDISP_DDI_PROLOGUE();
    64476455    vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    64486456    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    64566464static HRESULT APIENTRY vboxWddmDDevDecodeEndFrame(HANDLE hDevice, D3DDDIARG_DECODEENDFRAME* pData)
    64576465{
    6458     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     6466    VBOXDISP_DDI_PROLOGUE();
    64596467    vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    64606468    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    64686476static HRESULT APIENTRY vboxWddmDDevDecodeExecute(HANDLE hDevice, CONST D3DDDIARG_DECODEEXECUTE* pData)
    64696477{
    6470     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     6478    VBOXDISP_DDI_PROLOGUE();
    64716479    vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    64726480    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    64806488static HRESULT APIENTRY vboxWddmDDevDecodeExtensionExecute(HANDLE hDevice, CONST D3DDDIARG_DECODEEXTENSIONEXECUTE* pData)
    64816489{
    6482     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     6490    VBOXDISP_DDI_PROLOGUE();
    64836491    vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    64846492    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    64926500static HRESULT APIENTRY vboxWddmDDevCreateVideoProcessDevice(HANDLE hDevice, D3DDDIARG_CREATEVIDEOPROCESSDEVICE* pData)
    64936501{
    6494     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     6502    VBOXDISP_DDI_PROLOGUE();
    64956503    vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    64966504    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    65046512static HRESULT APIENTRY vboxWddmDDevDestroyVideoProcessDevice(HANDLE hDevice, HANDLE hVideoProcessor)
    65056513{
    6506     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     6514    VBOXDISP_DDI_PROLOGUE();
    65076515    vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    65086516    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    65166524static HRESULT APIENTRY vboxWddmDDevVideoProcessBeginFrame(HANDLE hDevice, HANDLE hVideoProcess)
    65176525{
    6518     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     6526    VBOXDISP_DDI_PROLOGUE();
    65196527    vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    65206528    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    65286536static HRESULT APIENTRY vboxWddmDDevVideoProcessEndFrame(HANDLE hDevice, D3DDDIARG_VIDEOPROCESSENDFRAME* pData)
    65296537{
    6530     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     6538    VBOXDISP_DDI_PROLOGUE();
    65316539    vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    65326540    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    65406548static HRESULT APIENTRY vboxWddmDDevSetVideoProcessRenderTarget(HANDLE hDevice, CONST D3DDDIARG_SETVIDEOPROCESSRENDERTARGET* pData)
    65416549{
    6542     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     6550    VBOXDISP_DDI_PROLOGUE();
    65436551    vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    65446552    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    65526560static HRESULT APIENTRY vboxWddmDDevVideoProcessBlt(HANDLE hDevice, CONST D3DDDIARG_VIDEOPROCESSBLT* pData)
    65536561{
    6554     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     6562    VBOXDISP_DDI_PROLOGUE();
    65556563    vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    65566564    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    65646572static HRESULT APIENTRY vboxWddmDDevCreateExtensionDevice(HANDLE hDevice, D3DDDIARG_CREATEEXTENSIONDEVICE* pData)
    65656573{
    6566     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     6574    VBOXDISP_DDI_PROLOGUE();
    65676575    vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    65686576    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    65766584static HRESULT APIENTRY vboxWddmDDevDestroyExtensionDevice(HANDLE hDevice, HANDLE hExtension)
    65776585{
    6578     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     6586    VBOXDISP_DDI_PROLOGUE();
    65796587    vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    65806588    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    65886596static HRESULT APIENTRY vboxWddmDDevExtensionExecute(HANDLE hDevice, CONST D3DDDIARG_EXTENSIONEXECUTE* pData)
    65896597{
    6590     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     6598    VBOXDISP_DDI_PROLOGUE();
    65916599    vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    65926600    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    66006608static HRESULT APIENTRY vboxWddmDDevDestroyDevice(IN HANDLE hDevice)
    66016609{
    6602     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     6610    VBOXDISP_DDI_PROLOGUE();
    66036611    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    66046612
     
    66476655static HRESULT APIENTRY vboxWddmDDevCreateOverlay(HANDLE hDevice, D3DDDIARG_CREATEOVERLAY* pData)
    66486656{
    6649     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     6657    VBOXDISP_DDI_PROLOGUE();
    66506658    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    66516659    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    67116719static HRESULT APIENTRY vboxWddmDDevUpdateOverlay(HANDLE hDevice, CONST D3DDDIARG_UPDATEOVERLAY* pData)
    67126720{
    6713     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     6721    VBOXDISP_DDI_PROLOGUE();
    67146722    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    67156723    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    67556763static HRESULT APIENTRY vboxWddmDDevFlipOverlay(HANDLE hDevice, CONST D3DDDIARG_FLIPOVERLAY* pData)
    67566764{
    6757     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     6765    VBOXDISP_DDI_PROLOGUE();
    67586766    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    67596767    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    67926800static HRESULT APIENTRY vboxWddmDDevGetOverlayColorControls(HANDLE hDevice, D3DDDIARG_GETOVERLAYCOLORCONTROLS* pData)
    67936801{
    6794     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     6802    VBOXDISP_DDI_PROLOGUE();
    67956803    vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    67966804    Assert(0);
     
    68006808static HRESULT APIENTRY vboxWddmDDevSetOverlayColorControls(HANDLE hDevice, CONST D3DDDIARG_SETOVERLAYCOLORCONTROLS* pData)
    68016809{
    6802     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     6810    VBOXDISP_DDI_PROLOGUE();
    68036811    vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    68046812    Assert(0);
     
    68086816static HRESULT APIENTRY vboxWddmDDevDestroyOverlay(HANDLE hDevice, CONST D3DDDIARG_DESTROYOVERLAY* pData)
    68096817{
    6810     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     6818    VBOXDISP_DDI_PROLOGUE();
    68116819    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    68126820    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    68306838static HRESULT APIENTRY vboxWddmDDevQueryResourceResidency(HANDLE hDevice, CONST D3DDDIARG_QUERYRESOURCERESIDENCY* pData)
    68316839{
    6832     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     6840    VBOXDISP_DDI_PROLOGUE();
    68336841    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    68346842    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    68776885static HRESULT APIENTRY vboxWddmDDevOpenResource(HANDLE hDevice, D3DDDIARG_OPENRESOURCE* pData)
    68786886{
    6879     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     6887    VBOXDISP_DDI_PROLOGUE();
    68806888    vboxVDbgPrintF(("==> "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    68816889    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    70877095static HRESULT APIENTRY vboxWddmDDevGetCaptureAllocationHandle(HANDLE hDevice, D3DDDIARG_GETCAPTUREALLOCATIONHANDLE* pData)
    70887096{
    7089     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     7097    VBOXDISP_DDI_PROLOGUE();
    70907098    vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    70917099    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    71007108static HRESULT APIENTRY vboxWddmDDevCaptureToSysMem(HANDLE hDevice, CONST D3DDDIARG_CAPTURETOSYSMEM* pData)
    71017109{
    7102     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     7110    VBOXDISP_DDI_PROLOGUE();
    71037111    vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p)\n", hDevice));
    71047112    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
     
    71137121static HRESULT APIENTRY vboxWddmDispCreateDevice (IN HANDLE hAdapter, IN D3DDDIARG_CREATEDEVICE* pCreateData)
    71147122{
    7115     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     7123    VBOXDISP_DDI_PROLOGUE();
    71167124    HRESULT hr = S_OK;
    71177125    vboxVDbgPrint(("==> "__FUNCTION__", hAdapter(0x%p), Interface(%d), Version(%d)\n", hAdapter, pCreateData->Interface, pCreateData->Version));
     
    73417349static HRESULT APIENTRY vboxWddmDispCloseAdapter (IN HANDLE hAdapter)
    73427350{
    7343     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     7351    VBOXDISP_DDI_PROLOGUE();
    73447352    vboxVDbgPrint(("==> "__FUNCTION__", hAdapter(0x%p)\n", hAdapter));
    73457353
     
    73677375HRESULT APIENTRY OpenAdapter (__inout D3DDDIARG_OPENADAPTER*  pOpenData)
    73687376{
    7369     VBOXDISPPROFILE_FUNCTION_DDI_PROLOGUE();
     7377    VBOXDISP_DDI_PROLOGUE();
    73707378    vboxVDbgPrint(("==> "__FUNCTION__"\n"));
    73717379
  • trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm/VBoxDispDbg.cpp

    r38331 r38930  
    6262
    6363DWORD g_VBoxVDbgFBreakShared = VBOXWDDMDISP_DEBUG_DUMP_DEFAULT;
     64DWORD g_VBoxVDbgFBreakDdi = 0;
     65
     66DWORD g_VBoxVDbgFLogRel = 0;
     67DWORD g_VBoxVDbgFLog = 0;
     68DWORD g_VBoxVDbgFLogFlow = 0;
    6469
    6570DWORD g_VBoxVDbgPid = 0;
  • trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm/VBoxDispDbg.h

    r38903 r38930  
    2929 * the workaround so far is to pass the log info to the kernel driver and DbgPrint'ed from there,
    3030 * which is enabled by this define */
    31 #  define VBOXWDDMDISP_DEBUG_PRINTDRV
     31//#  define VBOXWDDMDISP_DEBUG_PRINTDRV
    3232/* use OutputDebugString */
    3333#  define VBOXWDDMDISP_DEBUG_PRINT
     
    3737//#  define VBOXWDDMDISP_DEBUG_NOSHARED
    3838# endif
     39
     40/* debug config vars */
     41extern DWORD g_VBoxVDbgFDumpSetTexture;
     42extern DWORD g_VBoxVDbgFDumpDrawPrim;
     43extern DWORD g_VBoxVDbgFDumpTexBlt;
     44extern DWORD g_VBoxVDbgFDumpBlt;
     45extern DWORD g_VBoxVDbgFDumpRtSynch;
     46extern DWORD g_VBoxVDbgFDumpFlush;
     47extern DWORD g_VBoxVDbgFDumpShared;
     48extern DWORD g_VBoxVDbgFDumpLock;
     49extern DWORD g_VBoxVDbgFDumpUnlock;
     50
     51extern DWORD g_VBoxVDbgFBreakShared;
     52extern DWORD g_VBoxVDbgFBreakDdi;
     53
     54
     55/* log enable flags */
     56extern DWORD g_VBoxVDbgFLogRel;
     57extern DWORD g_VBoxVDbgFLog;
     58extern DWORD g_VBoxVDbgFLogFlow;
     59
     60
    3961#endif
    4062
     
    7294# define DbgPrintUsr(_m) do { vboxDispLogDbgPrintF _m; } while (0)
    7395# define DbgPrintUsrRel(_m) do { vboxDispLogDbgPrintF _m; } while (0)
    74 # define DbgPrintUsrFlow(_m) do { } while (0)
     96# define DbgPrintUsrFlow(_m) do { vboxDispLogDbgPrintF _m; } while (0)
    7597#else
    7698# define DbgPrintUsr(_m) do { } while (0)
     
    83105# define WARN_BREAK() do { } while (0)
    84106#endif
     107
     108#ifdef VBOXWDDMDISP_DEBUG
     109#define vboxVDbgInternalLog(_p) if (g_VBoxVDbgFLog) { _p }
     110#define vboxVDbgInternalLogFlow(_p) if (g_VBoxVDbgFLogFlow) { _p }
     111#define vboxVDbgInternalLogRel(_p) if (g_VBoxVDbgFLogRel) { _p }
     112#else
     113#define vboxVDbgInternalLog(_p) do {} while (0)
     114#define vboxVDbgInternalLogFlow(_p) do {} while (0)
     115#define vboxVDbgInternalLogRel(_p) do { _p } while (0)
     116#endif
     117
    85118#define WARN(_m) do { \
    86         Log(_m); \
    87         DbgPrintUsr(_m); \
    88         DbgPrintDrv(_m); \
     119        vboxVDbgInternalLog( \
     120            Log(_m); \
     121            DbgPrintUsr(_m); \
     122            DbgPrintDrv(_m); \
     123        ); \
    89124        WARN_BREAK(); \
    90125    } while (0)
    91126#define vboxVDbgPrint(_m) do { \
    92         Log(_m); \
    93         DbgPrintUsr(_m); \
    94         DbgPrintDrv(_m); \
     127        vboxVDbgInternalLog( \
     128            Log(_m); \
     129            DbgPrintUsr(_m); \
     130            DbgPrintDrv(_m); \
     131        ); \
    95132    } while (0)
    96133#define vboxVDbgPrintF(_m)  do { \
    97         LogFlow(_m); \
    98         DbgPrintUsrFlow(_m); \
    99         DbgPrintDrvFlow(_m); \
     134        vboxVDbgInternalLogFlow( \
     135            LogFlow(_m); \
     136            DbgPrintUsrFlow(_m); \
     137            DbgPrintDrvFlow(_m); \
     138        ); \
    100139    } while (0)
    101140#define vboxVDbgPrintR(_m)  do { \
    102         LogRel(_m); \
    103         DbgPrintUsrRel(_m); \
    104         DbgPrintDrvRel(_m); \
     141        vboxVDbgInternalLogRel( \
     142            LogRel(_m); \
     143            DbgPrintUsrRel(_m); \
     144            DbgPrintDrvRel(_m); \
     145        ); \
    105146    } while (0)
    106147
    107148#ifdef VBOXWDDMDISP_DEBUG
    108 extern DWORD g_VBoxVDbgFDumpSetTexture;
    109 extern DWORD g_VBoxVDbgFDumpDrawPrim;
    110 extern DWORD g_VBoxVDbgFDumpTexBlt;
    111 extern DWORD g_VBoxVDbgFDumpBlt;
    112 extern DWORD g_VBoxVDbgFDumpRtSynch;
    113 extern DWORD g_VBoxVDbgFDumpFlush;
    114 extern DWORD g_VBoxVDbgFDumpShared;
    115 extern DWORD g_VBoxVDbgFDumpLock;
    116 extern DWORD g_VBoxVDbgFDumpUnlock;
    117 
    118 extern DWORD g_VBoxVDbgFBreakShared;
    119149
    120150void vboxDispLogDrvF(char * szString, ...);
     
    174204        if (VBOXVDBG_IS_BREAK_SHARED_ALLOWED(_pRc)) { \
    175205            vboxVDbgPrint(("Break on shared access: Rc(0x%p), SharedHandle(0x%p)\n", (_pRc), (_pRc)->aAllocations[0].hSharedHandle)); \
     206            AssertFailed(); \
     207        } \
     208    } while (0)
     209
     210#define VBOXVDBG_BREAK_DDI() do { \
     211        if (VBOXVDBG_IS_BREAK_ALLOWED(Ddi)) { \
    176212            AssertFailed(); \
    177213        } \
     
    293329#define VBOXVDBG_DUMP_UNLOCK_ST(_pData) do { } while (0)
    294330#define VBOXVDBG_BREAK_SHARED(_pRc) do { } while (0)
     331#define VBOXVDBG_BREAK_DDI() do { } while (0)
    295332#endif
    296333
  • trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPMisc.cpp

    r38765 r38930  
    480480        }
    481481
    482         memset(&pSwapchain->ViewRect, 0, sizeof (pSwapchain->ViewRect));
     482        /* do not zero up the view rect since it may still be valid */
     483//        memset(&pSwapchain->ViewRect, 0, sizeof (pSwapchain->ViewRect));
    483484        if (pSwapchain->pLastReportedRects)
    484485        {
  • trunk/src/VBox/Additions/WINNT/Graphics/Wine/wined3d/context.c

    r38565 r38930  
    23392339                swapchain = (IWineD3DSwapChainImpl *)This->swapchains[This->NumberOfSwapChains-1]; /* just fallback to anything to avoid NPE */
    23402340            if (swapchain->backBuffer) target = swapchain->backBuffer[0];
    2341             else target = swapchain->frontBuffer;
     2341            else if (swapchain->frontBuffer) target = swapchain->frontBuffer;
     2342            else target = swapchain->presentRt;
    23422343        }
    23432344    }
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