summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/OGL/TextureCache.cpp
diff options
context:
space:
mode:
authorMarkus Wick <markus@selfnet.de>2015-08-06 19:46:58 +0200
committerMarkus Wick <markus@selfnet.de>2015-08-06 19:46:58 +0200
commitdebb1fbfdd584b6d23e8e2389f8ce6fa06ea8306 (patch)
tree4215b2815d00860a7da8fd77906cfb79a59fb68f /Source/Core/VideoBackends/OGL/TextureCache.cpp
parent3f781bcaf4a8403da582afb676ae2bd3995e477d (diff)
parentd3cf4034de449570f7b01d98047544bde06047ed (diff)
Merge pull request #2775 from degasus/master
DriverDetails: Disable GL_ARB_copy_image on mesa.
Diffstat (limited to 'Source/Core/VideoBackends/OGL/TextureCache.cpp')
-rw-r--r--Source/Core/VideoBackends/OGL/TextureCache.cpp8
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);