gsdx-ogl: correct fbmask conversion on texture shuffle

Fbmask is RGBA8 and must be converted to RGB5A1
=> bit 31 must be moved to bit 15

Signed-off-by: Gregory Hainaut <gregory.hainaut@gmail.com>
This commit is contained in:
Jonathan Li 2015-08-16 14:06:10 +02:00 committed by Gregory Hainaut
parent 92dae56ff8
commit 6580f4922f
1 changed files with 1 additions and 1 deletions

View File

@ -235,7 +235,7 @@ bool GSRendererOGL::EmulateTextureShuffleAndFbmask(GSDeviceOGL::PSSelector& ps_s
// Please bang my head against the wall! // Please bang my head against the wall!
// 1/ Reduce the frame mask to a 16 bit format // 1/ Reduce the frame mask to a 16 bit format
const uint32& m = m_context->FRAME.FBMSK; const uint32& m = m_context->FRAME.FBMSK;
uint32 fbmask = ((m >> 3) & 0x1F) | ((m >> 6) & 0x3E0) | ((m >> 9) & 0x7C00) | ((m >> 31) & 0x8000); uint32 fbmask = ((m >> 3) & 0x1F) | ((m >> 6) & 0x3E0) | ((m >> 9) & 0x7C00) | ((m >> 16) & 0x8000);
// FIXME GSVector will be nice here // FIXME GSVector will be nice here
uint8 rg_mask = fbmask & 0xFF; uint8 rg_mask = fbmask & 0xFF;
uint8 ba_mask = (fbmask >> 8) & 0xFF; uint8 ba_mask = (fbmask >> 8) & 0xFF;