diff --git a/plugins/GSdx/GSDeviceOGL.cpp b/plugins/GSdx/GSDeviceOGL.cpp index 978076fc8b..e3337a523f 100644 --- a/plugins/GSdx/GSDeviceOGL.cpp +++ b/plugins/GSdx/GSDeviceOGL.cpp @@ -1202,6 +1202,10 @@ GSTexture* GSDeviceOGL::CopyOffscreen(GSTexture* src, const GSVector4& sRect, in GSVector4 dRect(0, 0, w, h); + // StretchRect will read an old target. However, the memory cache might contains + // invalid data (for example due to SW blending). + glTextureBarrier(); + StretchRect(src, sRect, dst, dRect, m_convert.ps[ps_shader]); return dst;