Wipe all FBOs on device lost. May help app switching issues on Android.

This commit is contained in:
Henrik Rydgard 2013-06-11 11:28:41 +02:00
parent 9fbb947fcd
commit 112f1b4901
3 changed files with 7 additions and 0 deletions

View File

@ -233,6 +233,7 @@ void GLES_GPU::DeviceLost() {
// FBO:s appear to survive? Or no?
shaderManager_->ClearCache(false);
textureCache_.Clear(false);
framebufferManager_.DeviceLost();
}
void GLES_GPU::InitClear() {

View File

@ -567,6 +567,11 @@ void FramebufferManager::EndFrame() {
}
}
void FramebufferManager::DeviceLost() {
DestroyAllFBOs();
resized_ = false;
}
void FramebufferManager::BeginFrame() {
DecimateFBOs();
// NOTE - this is all wrong. At the beginning of the frame is a TERRIBLE time to draw the fb.

View File

@ -94,6 +94,7 @@ public:
void BeginFrame();
void EndFrame();
void Resized();
void DeviceLost();
void CopyDisplayToOutput();
void SetRenderFrameBuffer(); // Uses parameters computed from gstate
void UpdateFromMemory(u32 addr, int size);