diff options
| author | Matthew Parlane <parlane@gmail.com> | 2013-08-28 00:57:37 +1200 |
|---|---|---|
| committer | Matthew Parlane <parlane@gmail.com> | 2013-08-28 00:57:37 +1200 |
| commit | 2a68b65cda35d325efcd347b090f76f14a5a033e (patch) | |
| tree | e91f460f870b518bb249e08ce5f41bb3c33d9f53 /Source/Plugins/Plugin_VideoOGL/Src/FramebufferManager.cpp | |
| parent | 75c398118fb1d470a82735f93f5c0d1fe0a91664 (diff) | |
| parent | 40a1cb5dfed6d5b255d1f330af2cdc14446e0b53 (diff) | |
Merge branch 'master' into wii-network
Diffstat (limited to 'Source/Plugins/Plugin_VideoOGL/Src/FramebufferManager.cpp')
| -rw-r--r-- | Source/Plugins/Plugin_VideoOGL/Src/FramebufferManager.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/Source/Plugins/Plugin_VideoOGL/Src/FramebufferManager.cpp b/Source/Plugins/Plugin_VideoOGL/Src/FramebufferManager.cpp index ceafb75dca..f3b8578b23 100644 --- a/Source/Plugins/Plugin_VideoOGL/Src/FramebufferManager.cpp +++ b/Source/Plugins/Plugin_VideoOGL/Src/FramebufferManager.cpp @@ -5,6 +5,7 @@ #include "Globals.h" #include "FramebufferManager.h" #include "VertexShaderGen.h" +#include "OnScreenDisplay.h" #include "TextureConverter.h" #include "Render.h" @@ -366,6 +367,13 @@ void FramebufferManager::ReinterpretPixelData(unsigned int convtype) { if(g_ogl_config.eSupportedGLSLVersion == GLSL_120) { // This feature isn't supported by glsl120 + + // TODO: move this to InitBackendInfo + // We have to disable both the active and the stored config. Else we would either + // show this line per format change in one frame or once per frame. + OSD::AddMessage("Format Change Emulation isn't supported by your GPU.", 10000); + g_ActiveConfig.bEFBEmulateFormatChanges = false; + g_Config.bEFBEmulateFormatChanges = false; return; } @@ -435,6 +443,8 @@ void XFBSource::DecodeToTexture(u32 xfbAddr, u32 fbWidth, u32 fbHeight) void XFBSource::CopyEFB(float Gamma) { + g_renderer->ResetAPIState(); + // Copy EFB data to XFB and restore render target again glBindFramebuffer(GL_READ_FRAMEBUFFER, FramebufferManager::GetEFBFramebuffer()); glBindFramebuffer(GL_DRAW_FRAMEBUFFER, FramebufferManager::GetXFBFramebuffer()); @@ -451,6 +461,8 @@ void XFBSource::CopyEFB(float Gamma) // Return to EFB. FramebufferManager::SetFramebuffer(0); + + g_renderer->RestoreAPIState(); } |
