gsdx-ogl: re enable bilinear fitlering on palette for paltex mode

However keep it disabled for StarOcean 3 use cases
This commit is contained in:
Gregory Hainaut 2015-06-08 21:00:00 +02:00
parent ce5ccf8a4b
commit 2503d9698c
1 changed files with 6 additions and 5 deletions

View File

@ -527,17 +527,18 @@ void GSRendererOGL::DrawPrims(GSTexture* rt, GSTexture* ds, GSTextureCache::Sour
ps_sel.wms = context->CLAMP.WMS;
ps_sel.wmt = context->CLAMP.WMT;
if (tex->m_palette) {
// In standard mode palette is only used when alpha channel of the RT is
// reinterpreted as an index. Star Ocean 3 uses it to emulate a stencil buffer.
// It is a very bad idea to force bilinear filtering on it.
bilinear = false;
ps_sel.fmt = cpsm.fmt | 4;
ps_sel.ifmt = !tex->m_alpha_palette ? 0
: (context->TEX0.PSM == 0x1B) ? 3
: (context->TEX0.PSM == 0x24) ? 2
: (context->TEX0.PSM == 0x2C) ? 1
: 0;
// In standard mode palette is only used when alpha channel of the RT is
// reinterpreted as an index. Star Ocean 3 uses it to emulate a stencil buffer.
// It is a very bad idea to force bilinear filtering on it.
bilinear &= !ps_sel.ifmt;
//GL_INS("Use palette with format %d and index format %d", ps_sel.fmt, ps_sel.ifmt);
} else {
ps_sel.fmt = cpsm.fmt;