diff options
Diffstat (limited to 'Source/Core/VideoBackends/OGL/TextureCache.cpp')
| -rw-r--r-- | Source/Core/VideoBackends/OGL/TextureCache.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/Source/Core/VideoBackends/OGL/TextureCache.cpp b/Source/Core/VideoBackends/OGL/TextureCache.cpp index 92f2b8a788..c11c9dfc45 100644 --- a/Source/Core/VideoBackends/OGL/TextureCache.cpp +++ b/Source/Core/VideoBackends/OGL/TextureCache.cpp @@ -147,7 +147,7 @@ void TextureCache::TCacheEntry::CopyRectangleFromTexture( TCacheEntry* srcentry = (TCacheEntry*)source; if (srcrect.GetWidth() == dstrect.GetWidth() && srcrect.GetHeight() == dstrect.GetHeight() - && g_ActiveConfig.backend_info.bSupportsCopySubImage) + && g_ogl_config.bSupportsCopySubImage) { glCopyImageSubData( srcentry->texture, @@ -167,9 +167,11 @@ void TextureCache::TCacheEntry::CopyRectangleFromTexture( 1); return; } - else if (!config.rendertarget) + else if (!framebuffer) { - return; + glGenFramebuffers(1, &framebuffer); + FramebufferManager::SetFramebuffer(framebuffer); + FramebufferManager::FramebufferTexture(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D_ARRAY, texture, 0); } g_renderer->ResetAPIState(); FramebufferManager::SetFramebuffer(framebuffer); |
