mirror of
https://github.com/yawut/SDL.git
synced 2026-04-17 06:16:11 -05:00
Fixed bug 1491 - Directx3d Crash on resize
Spinduluz RenderTarget has to be released before a device reset is done. It's a D3DPOOL_DEFAULT surface (resides in video memory and have to be recreated).
This commit is contained in:
parent
81d62b86a2
commit
972b2abc34
|
|
@ -361,6 +361,9 @@ D3D_Reset(SDL_Renderer * renderer)
|
|||
D3D_RenderData *data = (D3D_RenderData *) renderer->driverdata;
|
||||
HRESULT result;
|
||||
|
||||
/* Release the default render target before reset */
|
||||
IDirect3DSurface9_Release(data->defaultRenderTarget);
|
||||
|
||||
result = IDirect3DDevice9_Reset(data->device, &data->pparams);
|
||||
if (FAILED(result)) {
|
||||
if (result == D3DERR_DEVICELOST) {
|
||||
|
|
@ -377,6 +380,7 @@ D3D_Reset(SDL_Renderer * renderer)
|
|||
IDirect3DDevice9_SetRenderState(data->device, D3DRS_CULLMODE,
|
||||
D3DCULL_NONE);
|
||||
IDirect3DDevice9_SetRenderState(data->device, D3DRS_LIGHTING, FALSE);
|
||||
IDirect3DDevice9_GetRenderTarget(data->device, 0, &data->defaultRenderTarget);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user