VirtualBox

Changeset 106155 in vbox for trunk/src/VBox/Devices


Ignore:
Timestamp:
Sep 25, 2024 6:47:15 PM (5 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
164934
Message:

Devices/Graphics: do not use initial data for textures with BIND_DECODER flag

File:
1 edited

Legend:

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

    r106154 r106155  
    26192619        dxgiFormatDynamic = dxgiFormatTypeless;
    26202620
     2621    UINT const BindFlags = dxBindFlags(pSurface->f.surfaceFlags);
     2622
    26212623    /*
    26222624     * Create D3D11 texture object.
     2625     *
     2626     * No initial data for multisample resources.
     2627     * On NVidia the host driver does not allow initial data for large textures with D3D11_BIND_DECODER flag.
    26232628     */
    26242629    D3D11_SUBRESOURCE_DATA *paInitialData = NULL;
    2625     if (pSurface->paMipmapLevels[0].pSurfaceData && pSurface->surfaceDesc.multisampleCount <= 1)
     2630    if (   pSurface->paMipmapLevels[0].pSurfaceData
     2631        && pSurface->surfaceDesc.multisampleCount <= 1
     2632        && (BindFlags & D3D11_BIND_DECODER) == 0
     2633       )
    26262634    {
    26272635        /* Can happen for a non GBO surface or if GBO texture was updated prior to creation of the hardware resource. */
     
    1138611394    ProfileCount = RT_MIN(ProfileCount, cbData / sizeof(paDecodeProfileInfo[0]));
    1138711395
    11388 #ifndef DEBUG_sunlover
    11389     /** @todo Allocation of video decoder output texture often fails on NVidia. Disable video decoding for now. */
    11390     if (pThisCC->svga.p3dState->pBackend->VendorId == 0x10de)
    11391         ProfileCount = 0;
    11392 #else
    1139311396    RT_NOREF(pThisCC);
    11394 #endif
    1139511397
    1139611398    for (UINT i = 0; i < ProfileCount; ++i)
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