gsdx ogl: add a texture barrier when target is read back

Fix graphical corruption in Nouveau/BUA/devil may cry

Issue #1805
This commit is contained in:
Gregory Hainaut 2017-02-08 19:11:02 +01:00
parent ba91c8f0c2
commit 2a2a022792

View File

@ -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;