VirtualBox

Ignore:
Timestamp:
Oct 6, 2009 6:07:06 AM (15 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
53228
Message:

crOpenGL: update to wine 1.1.30

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/WINNT/Graphics/Wine/wined3d/swapchain.c

    r22496 r23571  
    4646
    4747/*IWineD3DSwapChain parts follow: */
    48 static void WINAPI IWineD3DSwapChainImpl_Destroy(IWineD3DSwapChain *iface, D3DCB_DESTROYSURFACEFN D3DCB_DestroyRenderTarget) {
     48static void WINAPI IWineD3DSwapChainImpl_Destroy(IWineD3DSwapChain *iface)
     49{
    4950    IWineD3DSwapChainImpl *This = (IWineD3DSwapChainImpl *)iface;
    5051    WINED3DDISPLAYMODE mode;
     
    5556    IWineD3DSwapChain_SetGammaRamp(iface, 0, &This->orig_gamma);
    5657
    57     /* release the ref to the front and back buffer parents */
    58     if(This->frontBuffer) {
     58    /* Release the swapchain's draw buffers. Make sure This->backBuffer[0] is
     59     * the last buffer to be destroyed, FindContext() depends on that. */
     60    if (This->frontBuffer)
     61    {
    5962        IWineD3DSurface_SetContainer(This->frontBuffer, 0);
    60         if(D3DCB_DestroyRenderTarget(This->frontBuffer) > 0) {
    61             FIXME("(%p) Something's still holding the front buffer\n",This);
    62         }
    63     }
    64 
    65     if(This->backBuffer) {
    66         UINT i;
    67         for(i = 0; i < This->presentParms.BackBufferCount; i++) {
     63        if (IWineD3DSurface_Release(This->frontBuffer))
     64        {
     65            WARN("(%p) Something's still holding the front buffer (%p).\n",
     66                    This, This->frontBuffer);
     67        }
     68        This->frontBuffer = NULL;
     69    }
     70
     71    if (This->backBuffer)
     72    {
     73        UINT i = This->presentParms.BackBufferCount;
     74
     75        while (i--)
     76        {
    6877            IWineD3DSurface_SetContainer(This->backBuffer[i], 0);
    69             if(D3DCB_DestroyRenderTarget(This->backBuffer[i]) > 0) {
    70                 FIXME("(%p) Something's still holding the back buffer\n",This);
    71             }
     78            if (IWineD3DSurface_Release(This->backBuffer[i]))
     79                WARN("(%p) Something's still holding back buffer %u (%p).\n",
     80                        This, i, This->backBuffer[i]);
    7281        }
    7382        HeapFree(GetProcessHeap(), 0, This->backBuffer);
     83        This->backBuffer = NULL;
    7484    }
    7585
     
    120130        cursor.resource.wineD3DDevice = This->wineD3DDevice;
    121131        cursor.resource.pool = WINED3DPOOL_SCRATCH;
    122         cursor.resource.format_desc = getFormatDescEntry(WINED3DFMT_A8R8G8B8, &This->wineD3DDevice->adapter->gl_info);
     132        cursor.resource.format_desc =
     133                getFormatDescEntry(WINED3DFMT_B8G8R8A8_UNORM, &This->wineD3DDevice->adapter->gl_info);
    123134        cursor.resource.resourceType = WINED3DRTYPE_SURFACE;
    124135        cursor.texture_name = This->wineD3DDevice->cursorTexture;
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