gsdx ogl: improve logging of special effect

This commit is contained in:
Gregory Hainaut 2016-04-28 22:16:01 +02:00
parent f946f38f26
commit eaa4fd41e2
2 changed files with 18 additions and 1 deletions

View File

@ -379,8 +379,8 @@ void GSRendererHW::Draw()
if (m_vertex.next == 4) {
// Note potentially we could also check the content of vertex (2nd
// sprite must be half of the first one)
m_double_downscale = true;
GL_INS("Double downscale effect detected");
m_double_downscale = true;
} else if ((m_context->TEX0.PSM == PSM_PSMT8) && (delta_p.x <= 64.0f) && (delta_p.y <= 32.0f)) {
//fprintf(stderr, "delta_p %f %f\n", delta_p.x, delta_p.y);
if (m_channel_shuffle) {

View File

@ -746,6 +746,23 @@ void GSRendererOGL::DrawPrims(GSTexture* rt, GSTexture* ds, GSTextureCache::Sour
}
}
// Special Draw Call
if (m_channel_shuffle) {
if (m_context->CLAMP.WMS == 3 && ((m_context->CLAMP.MAXU & 0x8) == 8)) {
// Read either blue or Alpha. Let's go for Blue ;)
// MGS3/Kill Zone
GL_INS("Blue channel");
} else if (m_context->CLAMP.WMS == 3 && ((m_context->CLAMP.MINU & 0x8) == 0)) {
// Read either Red or Green. Let's go for Red ;)
// Pop
GL_INS("Red channel");
} else {
GL_INS("channel not supported");
ASSERT(0);
}
}
//
dev->BeginScene();