VirtualBox

Ignore:
Timestamp:
Nov 2, 2010 12:17:19 PM (14 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
67308
Message:

wddm/3d: fix hgcm fallback (for insufficient hgsmi resources)

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

Legend:

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

    r33530 r33684  
    122122            hClient = g_VBoxCrHgsmiCallbacks.pfnClientCreate(&pHgsmiGL->BasePrivate.Base);
    123123            Assert(hClient);
    124             pHgsmiGL->BasePrivate.hClient = hClient;
    125             gt_pHgsmiGL = pHgsmiGL;
    126         }
    127     }
    128     else
    129         hClient = NULL;
    130     return hClient;
     124            if (hClient)
     125            {
     126                pHgsmiGL->BasePrivate.hClient = hClient;
     127                gt_pHgsmiGL = pHgsmiGL;
     128                return hClient;
     129            }
     130            vboxUhgsmiKmtDestroy(pHgsmiGL);
     131        }
     132        RTMemFree(pHgsmiGL);
     133    }
     134
     135    return NULL;
    131136}
    132137
  • trunk/src/VBox/Additions/WINNT/Graphics/Display/wddm/VBoxDispD3D.cpp

    r33676 r33684  
    18831883        else if (pSwapchain->iBB == iRt)
    18841884        {
    1885             Assert(0);
    18861885            pSwapchain->iBB = 0;
    18871886        }
     
    19971996    if (!pSwapchain)
    19981997    {
    1999 #ifdef DEBUG_misha
    2000         Assert(0);
    2001 #endif
    20021998        /* first search for the swapchain the alloc might be added to */
    20031999        PVBOXWDDMDISP_SWAPCHAIN pCur = RTListNodeGetFirst(&pDevice->SwapchainList, VBOXWDDMDISP_SWAPCHAIN, ListEntry);
     
    53915387//                Assert(pScreen->hWnd);
    53925388//                Assert(pScreen->pDevice9If);
     5389                hr = E_FAIL;
    53935390                Assert(0);
    53945391            }
     
    67226719    {
    67236720        case D3DDDIQUERYTYPE_EVENT:
    6724             Assert(0);
    67256721            pQuery->data.bData = TRUE;
    67266722            Assert(pData->pData);
     
    81808176        case 0x40010006: /* <- OutputDebugString exception, ignore */
    81818177        case 0xe06d7363: /* <- ms compiler - generated exception related to C++ exception */
     8178        case 0x000006d9: /* <- RPC exception, ignore */
    81828179            break;
    81838180        default:
  • trunk/src/VBox/Additions/WINNT/Graphics/Display/wddm/VBoxUhgsmiKmt.cpp

    r33530 r33684  
    170170            return VINF_SUCCESS;
    171171        }
     172        else
     173        {
     174            rc = VERR_OUT_OF_RESOURCES;
     175        }
    172176
    173177        RTMemFree(pBuf);
     
    325329
    326330            return VINF_SUCCESS;
     331        }
     332        else
     333        {
     334            rc = VERR_OUT_OF_RESOURCES;
    327335        }
    328336
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