Direct3D - D3DERR_DEVICENOTRESET ???
-
Ich hab folgenden Code um zu testen ob ich in meinem Programm alles darstellen kann:
bool CDirect3D::check_device(){ switch(m_lpD3DDevice->TestCooperativeLevel()) { case D3DERR_DEVICELOST: return false; case D3DERR_DEVICENOTRESET: { if(FAILED(m_lpD3DDevice->Reset(&PParams))) { MessageBox(NULL,"Reset failed!","CheckDevice()",MB_OK); return false; } CreateFont(); return true; } default: return true; } }
Allerdings lässt sich das Device einfach nicht reseten...
Es erscheint nur andauernd die MessageBox "Reset failed"...Kennt ihr vielleicht einen Grund dafür warum es sich nicht reseten lässt?[cpp]
-
Aus der Dokumentation:
If the device can be restored, the application prepares the device by destroying all video-memory resources and any swap chains. Then, the application calls the Reset method. Reset is the only method that has an effect when a device is lost, and is the only method by which an application can change the device from a lost to an operational state. Reset will fail unless the application releases all resources that are allocated in D3DPOOL_DEFAULT, including those created by the CreateRenderTarget and CreateDepthStencilSurface methods.
-
Danke!
Ich hatte vergessen den Backbuffer und Fonts freizugeben...