Changeset badf4887a8d91d7e87bd20db44923280f504c7a5

Show
Ignore:
Timestamp:
02/02/07 12:43:50 (2 years ago)
Author:
Damien Fouilleul <damienf@videolan.org>
git-committer:
Damien Fouilleul <damienf@videolan.org> 1170416630 +0000
git-parent:

[152793b6cadfd7ebc557281e7ff75a710d60aca3]

git-author:
Damien Fouilleul <damienf@videolan.org> 1170416630 +0000
Message:

- direct3d: device reset fixes (when resolution changes, etc...)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • modules/video_output/directx/direct3d.c

    r801ef73 rbadf488  
    719719    p_vout->p_sys->d3dpp.BackBufferHeight       = p_vout->render.i_height; 
    720720    p_vout->p_sys->d3dpp.SwapEffect             = D3DSWAPEFFECT_DISCARD; 
     721    p_vout->p_sys->d3dpp.MultiSampleType        = D3DMULTISAMPLE_NONE; 
    721722    p_vout->p_sys->d3dpp.PresentationInterval   = D3DPRESENT_INTERVAL_IMMEDIATE; 
    722723    p_vout->p_sys->d3dpp.BackBufferFormat       = D3DFMT_UNKNOWN; 
     
    770771    if( i_height ) 
    771772        d3dpp.BackBufferHeight = i_height; 
     773    if( d3dpp.Windowed ) 
     774        d3dpp.BackBufferFormat = D3DFMT_UNKNOWN; 
    772775 
    773776    // release all D3D objects 
     
    778781    if( SUCCEEDED(hr) ) 
    779782    { 
     783        memcpy(&(p_vout->p_sys->d3dpp), &d3dpp, sizeof(d3dpp)); 
    780784        // re-create them 
    781         if( (VLC_SUCCESS == Direct3DVoutCreatePictures(p_vout, 1)) 
    782          && (VLC_SUCCESS == Direct3DVoutCreateScene(p_vout)) ) 
    783         { 
    784             p_vout->p_sys->d3dpp.BackBufferWidth  = i_width; 
    785             p_vout->p_sys->d3dpp.BackBufferHeight = i_height; 
    786             return VLC_SUCCESS; 
    787         } 
    788         return VLC_EGENERIC; 
     785        if( (VLC_SUCCESS != Direct3DVoutCreatePictures(p_vout, 1)) 
     786         || (VLC_SUCCESS != Direct3DVoutCreateScene(p_vout)) ) 
     787        { 
     788            msg_Dbg(p_vout, "%s failed !", __FUNCTION__); 
     789            return VLC_EGENERIC; 
     790        } 
    789791    } 
    790792    else { 
     
    792794        return VLC_EGENERIC; 
    793795    } 
     796    msg_Dbg(p_vout, "%s successful !", __FUNCTION__); 
    794797    return VLC_SUCCESS; 
    795798} 
     
    14271430{ 
    14281431    LPDIRECT3DDEVICE9       p_d3ddev  = p_vout->p_sys->p_d3ddev; 
    1429     LPDIRECT3DTEXTURE9      p_d3dtex  = p_vout->p_sys->p_d3dtex
    1430     LPDIRECT3DVERTEXBUFFER9 p_d3dvtc  = p_vout->p_sys->p_d3dvtc
     1432    LPDIRECT3DTEXTURE9      p_d3dtex
     1433    LPDIRECT3DVERTEXBUFFER9 p_d3dvtc
    14311434    LPDIRECT3DSURFACE9      p_d3dsrc, p_d3ddest; 
    14321435    CUSTOMVERTEX            *p_vertices; 
     
    14451448        } 
    14461449    } 
     1450    p_d3dtex  = p_vout->p_sys->p_d3dtex; 
     1451    p_d3dvtc  = p_vout->p_sys->p_d3dvtc; 
    14471452 
    14481453    /* Clear the backbuffer and the zbuffer */