VirtualBox

Ignore:
Timestamp:
Jun 15, 2010 6:56:52 PM (15 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
62697
Message:

wddm/2d: bugfixing

File:
1 edited

Legend:

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

    r30167 r30214  
    11581158                {
    11591159                    DDRAW_CAPS *pCaps = (DDRAW_CAPS*)pData->pData;
    1160                     pCaps->Caps |= DDRAW_CAPS_COLORKEY
    1161                             | DDRAW_CAPS2_DYNAMICTEXTURES
    1162                             | DDRAW_CAPS2_FLIPNOVSYNC
    1163                             ;
     1160                    pCaps->Caps |= DDRAW_CAPS_COLORKEY;
     1161                    pCaps->Caps2 |= DDRAW_CAPS2_FLIPNOVSYNC;
    11641162                }
    11651163#endif
     
    12421240        case D3DDDICAPS_GETD3D3CAPS:
    12431241            Assert(!VBOXDISPMODE_IS_3D(pAdapter));
    1244             Assert(pData->DataSize >= sizeof (D3DHAL_GLOBALDRIVERDATA));
     1242            Assert(pData->DataSize == sizeof (D3DHAL_GLOBALDRIVERDATA));
    12451243            if (pData->DataSize >= sizeof (D3DHAL_GLOBALDRIVERDATA))
    12461244            {
     
    12551253                pCaps->hwCaps.dcmColorModel = D3DCOLOR_RGB;
    12561254                pCaps->hwCaps.dwDevCaps = D3DDEVCAPS_CANRENDERAFTERFLIP
    1257                         | D3DDEVCAPS_DRAWPRIMTLVERTEX
     1255//                        | D3DDEVCAPS_DRAWPRIMTLVERTEX
    12581256                        | D3DDEVCAPS_EXECUTESYSTEMMEMORY
    1259                         | D3DDEVCAPS_FLOATTLVERTEX
     1257                        | D3DDEVCAPS_EXECUTEVIDEOMEMORY
     1258//                        | D3DDEVCAPS_FLOATTLVERTEX
    12601259                        | D3DDEVCAPS_HWRASTERIZATION
    1261                         | D3DDEVCAPS_HWTRANSFORMANDLIGHT
    1262                         | D3DDEVCAPS_TLVERTEXSYSTEMMEMORY
    1263                         | D3DDEVCAPS_TEXTUREVIDEOMEMORY;
     1260//                        | D3DDEVCAPS_HWTRANSFORMANDLIGHT
     1261//                        | D3DDEVCAPS_TLVERTEXSYSTEMMEMORY
     1262//                        | D3DDEVCAPS_TEXTUREVIDEOMEMORY
     1263                        ;
    12641264                pCaps->hwCaps.dtcTransformCaps.dwSize = sizeof (D3DTRANSFORMCAPS);
    12651265                pCaps->hwCaps.dtcTransformCaps.dwCaps = 0;
     
    12981298                pCaps->hwCaps.dpcTriCaps.dwStippleWidth = 0;
    12991299                pCaps->hwCaps.dpcTriCaps.dwStippleHeight = 0;
    1300                 pCaps->hwCaps.dwDeviceRenderBitDepth = 0;
    1301                 pCaps->hwCaps.dwDeviceZBufferBitDepth = DDBD_8 | DDBD_16 | DDBD_24 | DDBD_32;
     1300                pCaps->hwCaps.dwDeviceRenderBitDepth = DDBD_8 | DDBD_16 | DDBD_24 | DDBD_32;
     1301                pCaps->hwCaps.dwDeviceZBufferBitDepth = 0;
    13021302                pCaps->hwCaps.dwMaxBufferSize = 0;
    13031303                pCaps->hwCaps.dwMaxVertexCount = 0;
     
    13061306                pCaps->dwNumVertices = 0;
    13071307                pCaps->dwNumClipVertices = 0;
    1308                 pCaps->dwNumTextureFormats = pAdapter->cSurfDescs;
    1309                 pCaps->lpTextureFormats = pAdapter->paSurfDescs;
     1308                pCaps->dwNumTextureFormats = 0;//pAdapter->cSurfDescs;
     1309                pCaps->lpTextureFormats = NULL;//pAdapter->paSurfDescs;
    13101310            }
    13111311            else
     
    13141314        case D3DDDICAPS_GETD3D7CAPS:
    13151315            Assert(!VBOXDISPMODE_IS_3D(pAdapter));
    1316             Assert(pData->DataSize >= sizeof (D3DHAL_D3DEXTENDEDCAPS));
     1316            Assert(pData->DataSize == sizeof (D3DHAL_D3DEXTENDEDCAPS));
    13171317            if (pData->DataSize >= sizeof (D3DHAL_D3DEXTENDEDCAPS))
     1318            {
    13181319                memset(pData->pData, 0, sizeof (D3DHAL_D3DEXTENDEDCAPS));
     1320                D3DHAL_D3DEXTENDEDCAPS *pCaps = (D3DHAL_D3DEXTENDEDCAPS*)pData->pData;
     1321                pCaps->dwSize = sizeof (D3DHAL_D3DEXTENDEDCAPS);
     1322            }
    13191323            else
    13201324                hr = E_INVALIDARG;
     
    13971401            *((uint32_t*)pData->pData) = 0;
    13981402            break;
     1403        case D3DDDICAPS_GETVIDEOPROCESSORCAPS:
     1404        case D3DDDICAPS_GETEXTENSIONGUIDCOUNT:
     1405        case D3DDDICAPS_GETDECODEGUIDCOUNT:
     1406        case D3DDDICAPS_GETVIDEOPROCESSORDEVICEGUIDCOUNT:
     1407            if (pData->pData && pData->DataSize)
     1408                memset(pData->pData, 0, pData->DataSize);
     1409            break;
    13991410        case D3DDDICAPS_GETMULTISAMPLEQUALITYLEVELS:
    14001411        case D3DDDICAPS_GETD3D5CAPS:
    14011412        case D3DDDICAPS_GETD3D6CAPS:
    14021413        case D3DDDICAPS_GETD3D8CAPS:
    1403         case D3DDDICAPS_GETDECODEGUIDCOUNT:
    14041414        case D3DDDICAPS_GETDECODEGUIDS:
    14051415        case D3DDDICAPS_GETDECODERTFORMATCOUNT:
     
    14091419        case D3DDDICAPS_GETDECODECONFIGURATIONCOUNT:
    14101420        case D3DDDICAPS_GETDECODECONFIGURATIONS:
    1411         case D3DDDICAPS_GETVIDEOPROCESSORDEVICEGUIDCOUNT:
    14121421        case D3DDDICAPS_GETVIDEOPROCESSORDEVICEGUIDS:
    14131422        case D3DDDICAPS_GETVIDEOPROCESSORRTFORMATCOUNT:
     
    14151424        case D3DDDICAPS_GETVIDEOPROCESSORRTSUBSTREAMFORMATCOUNT:
    14161425        case D3DDDICAPS_GETVIDEOPROCESSORRTSUBSTREAMFORMATS:
    1417         case D3DDDICAPS_GETVIDEOPROCESSORCAPS:
    14181426        case D3DDDICAPS_GETPROCAMPRANGE:
    14191427        case D3DDDICAPS_FILTERPROPERTYRANGE:
    1420         case D3DDDICAPS_GETEXTENSIONGUIDCOUNT:
    14211428        case D3DDDICAPS_GETEXTENSIONGUIDS:
    14221429        case D3DDDICAPS_GETEXTENSIONCAPS:
     
    23712378
    23722379
    2373         hr = pDevice->RtCallbacks.pfnLockCb(hDevice, &LockData);
     2380        hr = pDevice->RtCallbacks.pfnLockCb(pDevice->hDevice, &LockData);
    23742381        Assert(hr == S_OK || (hr == D3DERR_WASSTILLDRAWING && pData->Flags.DoNotWait));
    23752382        if (hr == S_OK)
     
    23922399            else
    23932400            {
    2394                 AssertBreakpoint();
     2401                offset = 0;
    23952402            }
    23962403
     
    25102517        UnlockData.hAllocation = pRc->aAllocations[pData->SubResourceIndex].hAllocation;
    25112518
    2512         hr = pDevice->RtCallbacks.pfnUnlockCb(hDevice, &UnlockData.Unlock);
     2519        hr = pDevice->RtCallbacks.pfnUnlockCb(pDevice->hDevice, &UnlockData.Unlock);
    25132520        Assert(hr == S_OK);
    25142521    }
     
    31053112    PVBOXWDDMDISP_DEVICE pDevice = (PVBOXWDDMDISP_DEVICE)hDevice;
    31063113    Assert(pDevice);
    3107     Assert(pDevice->pDevice9If);
    3108     HRESULT hr = pDevice->pDevice9If->Present(NULL, /* CONST RECT * pSourceRect */
    3109             NULL, /* CONST RECT * pDestRect */
    3110             NULL, /* HWND hDestWindowOverride */
    3111             NULL /*CONST RGNDATA * pDirtyRegion */
    3112             );
    3113     Assert(hr == S_OK);
     3114    HRESULT hr = S_OK;
     3115    if (VBOXDISPMODE_IS_3D(pDevice->pAdapter))
     3116    {
     3117        Assert(pDevice->pDevice9If);
     3118        hr = pDevice->pDevice9If->Present(NULL, /* CONST RECT * pSourceRect */
     3119                NULL, /* CONST RECT * pDestRect */
     3120                NULL, /* HWND hDestWindowOverride */
     3121                NULL /*CONST RGNDATA * pDirtyRegion */
     3122                );
     3123        Assert(hr == S_OK);
     3124    }
    31143125    vboxVDbgPrintF(("<== "__FUNCTION__", hDevice(0x%p), hr(0x%x)\n", hDevice, hr));
    31153126    return hr;
Note: See TracChangeset for help on using the changeset viewer.

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