diff --git a/plugins/GSdx/GSDeviceOGL.cpp b/plugins/GSdx/GSDeviceOGL.cpp index 6b5044603b..23c13de24a 100644 --- a/plugins/GSdx/GSDeviceOGL.cpp +++ b/plugins/GSdx/GSDeviceOGL.cpp @@ -627,6 +627,7 @@ GLuint GSDeviceOGL::CompilePS(PSSelector sel) + format("#define PS_WMT %d\n", sel.wmt) + format("#define PS_FMT %d\n", sel.fmt) + format("#define PS_IFMT %d\n", sel.ifmt) + + format("#define PS_DFMT %d\n", sel.dfmt) + format("#define PS_AEM %d\n", sel.aem) + format("#define PS_TFX %d\n", sel.tfx) + format("#define PS_TCC %d\n", sel.tcc) diff --git a/plugins/GSdx/GSDeviceOGL.h b/plugins/GSdx/GSDeviceOGL.h index c46df0dbb9..88b7a25231 100644 --- a/plugins/GSdx/GSDeviceOGL.h +++ b/plugins/GSdx/GSDeviceOGL.h @@ -321,7 +321,9 @@ class GSDeviceOGL : public GSDevice // Word 2 uint32 blend:8; - uint32 _free2:24; + uint32 dfmt:2; + + uint32 _free2:22; }; uint64 key; diff --git a/plugins/GSdx/GSRendererOGL.cpp b/plugins/GSdx/GSRendererOGL.cpp index 0cffc776cc..1d1bf27721 100644 --- a/plugins/GSdx/GSRendererOGL.cpp +++ b/plugins/GSdx/GSRendererOGL.cpp @@ -249,6 +249,9 @@ void GSRendererOGL::DrawPrims(GSTexture* rt, GSTexture* ds, GSTextureCache::Sour GSDeviceOGL::OMColorMaskSelector om_csel; GSDeviceOGL::OMDepthStencilSelector om_dssel; + // Format of the output + ps_sel.dfmt = GSLocalMemory::m_psm[context->FRAME.PSM].fmt; + // Blend if (!IsOpaque())