VirtualBox

Changeset 94276 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Mar 16, 2022 6:21:51 PM (3 years ago)
Author:
vboxsync
Message:

Devices/Graphics: cleanup: bugref:9830

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Graphics/DevVGA-SVGA3d-win-dx.cpp

    r94273 r94276  
    18341834
    18351835
     1836static HRESULT dxInitSharedHandle(PVMSVGA3DBACKEND pBackend, PVMSVGA3DBACKENDSURFACE pBackendSurface)
     1837{
     1838    if (pBackend->fSingleDevice)
     1839        return S_OK;
     1840
     1841    /* Get the shared handle. */
     1842    IDXGIResource *pDxgiResource = NULL;
     1843    HRESULT hr = pBackendSurface->u.pResource->QueryInterface(__uuidof(IDXGIResource), (void**)&pDxgiResource);
     1844    Assert(SUCCEEDED(hr));
     1845    if (SUCCEEDED(hr))
     1846    {
     1847        hr = pDxgiResource->GetSharedHandle(&pBackendSurface->SharedHandle);
     1848        Assert(SUCCEEDED(hr));
     1849        D3D_RELEASE(pDxgiResource);
     1850    }
     1851
     1852    return hr;
     1853}
     1854
     1855
    18361856static int vmsvga3dBackSurfaceCreateScreenTarget(PVGASTATECC pThisCC, PVMSVGA3DSURFACE pSurface)
    18371857{
     
    18961916    }
    18971917
    1898     if (   SUCCEEDED(hr)
    1899         && !pBackend->fSingleDevice)
    1900     {
    1901         /* Get the shared handle. */
    1902         IDXGIResource *pDxgiResource = NULL;
    1903         hr = pBackendSurface->u.pTexture2D->QueryInterface(__uuidof(IDXGIResource), (void**)&pDxgiResource);
    1904         Assert(SUCCEEDED(hr));
    1905         if (SUCCEEDED(hr))
    1906         {
    1907             hr = pDxgiResource->GetSharedHandle(&pBackendSurface->SharedHandle);
    1908             Assert(SUCCEEDED(hr));
    1909             D3D_RELEASE(pDxgiResource);
    1910         }
    1911     }
     1918    if (SUCCEEDED(hr))
     1919        hr = dxInitSharedHandle(pBackend, pBackendSurface);
    19121920
    19131921    if (SUCCEEDED(hr))
     
    20652073        }
    20662074
    2067         if (   SUCCEEDED(hr)
    2068             && MiscFlags == D3D11_RESOURCE_MISC_SHARED)
    2069         {
    2070             /* Get the shared handle. */
    2071             IDXGIResource *pDxgiResource = NULL;
    2072             hr = pBackendSurface->u.pTexture2D->QueryInterface(__uuidof(IDXGIResource), (void**)&pDxgiResource);
    2073             Assert(SUCCEEDED(hr));
    2074             if (SUCCEEDED(hr))
    2075             {
    2076                 hr = pDxgiResource->GetSharedHandle(&pBackendSurface->SharedHandle);
    2077                 Assert(SUCCEEDED(hr));
    2078                 D3D_RELEASE(pDxgiResource);
    2079             }
    2080         }
     2075        if (SUCCEEDED(hr))
     2076            hr = dxInitSharedHandle(pBackend, pBackendSurface);
    20812077
    20822078        if (SUCCEEDED(hr))
     
    21352131        }
    21362132
    2137         if (   SUCCEEDED(hr)
    2138             && MiscFlags == D3D11_RESOURCE_MISC_SHARED)
    2139         {
    2140             /* Get the shared handle. */
    2141             IDXGIResource *pDxgiResource = NULL;
    2142             hr = pBackendSurface->u.pTexture2D->QueryInterface(__uuidof(IDXGIResource), (void**)&pDxgiResource);
    2143             Assert(SUCCEEDED(hr));
    2144             if (SUCCEEDED(hr))
    2145             {
    2146                 hr = pDxgiResource->GetSharedHandle(&pBackendSurface->SharedHandle);
    2147                 Assert(SUCCEEDED(hr));
    2148                 D3D_RELEASE(pDxgiResource);
    2149             }
    2150         }
     2133        if (SUCCEEDED(hr))
     2134            hr = dxInitSharedHandle(pBackend, pBackendSurface);
    21512135
    21522136        if (SUCCEEDED(hr))
     
    22022186        }
    22032187
    2204         if (   SUCCEEDED(hr)
    2205             && MiscFlags == D3D11_RESOURCE_MISC_SHARED)
    2206         {
    2207             /* Get the shared handle. */
    2208             IDXGIResource *pDxgiResource = NULL;
    2209             hr = pBackendSurface->u.pTexture1D->QueryInterface(__uuidof(IDXGIResource), (void**)&pDxgiResource);
    2210             Assert(SUCCEEDED(hr));
    2211             if (SUCCEEDED(hr))
    2212             {
    2213                 hr = pDxgiResource->GetSharedHandle(&pBackendSurface->SharedHandle);
    2214                 Assert(SUCCEEDED(hr));
    2215                 D3D_RELEASE(pDxgiResource);
    2216             }
    2217         }
     2188        if (SUCCEEDED(hr))
     2189            hr = dxInitSharedHandle(pBackend, pBackendSurface);
    22182190
    22192191        if (SUCCEEDED(hr))
     
    22722244            }
    22732245
    2274             if (   SUCCEEDED(hr)
    2275                 && MiscFlags == D3D11_RESOURCE_MISC_SHARED)
    2276             {
    2277                 /* Get the shared handle. */
    2278                 IDXGIResource *pDxgiResource = NULL;
    2279                 hr = pBackendSurface->u.pTexture3D->QueryInterface(__uuidof(IDXGIResource), (void**)&pDxgiResource);
    2280                 Assert(SUCCEEDED(hr));
    2281                 if (SUCCEEDED(hr))
    2282                 {
    2283                     hr = pDxgiResource->GetSharedHandle(&pBackendSurface->SharedHandle);
    2284                     Assert(SUCCEEDED(hr));
    2285                     D3D_RELEASE(pDxgiResource);
    2286                 }
    2287             }
     2246            if (SUCCEEDED(hr))
     2247                hr = dxInitSharedHandle(pBackend, pBackendSurface);
    22882248
    22892249            if (SUCCEEDED(hr))
     
    23432303            }
    23442304
    2345             if (   SUCCEEDED(hr)
    2346                 && MiscFlags == D3D11_RESOURCE_MISC_SHARED)
    2347             {
    2348                 /* Get the shared handle. */
    2349                 IDXGIResource *pDxgiResource = NULL;
    2350                 hr = pBackendSurface->u.pTexture2D->QueryInterface(__uuidof(IDXGIResource), (void**)&pDxgiResource);
    2351                 Assert(SUCCEEDED(hr));
    2352                 if (SUCCEEDED(hr))
    2353                 {
    2354                     hr = pDxgiResource->GetSharedHandle(&pBackendSurface->SharedHandle);
    2355                     Assert(SUCCEEDED(hr));
    2356                     D3D_RELEASE(pDxgiResource);
    2357                 }
    2358             }
     2305            if (SUCCEEDED(hr))
     2306                hr = dxInitSharedHandle(pBackend, pBackendSurface);
    23592307
    23602308            if (SUCCEEDED(hr))
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