GSdx-d3d: 24bit no alpha channel port from OpenGL.

Commit:

419dfe0544
This commit is contained in:
lightningterror 2018-10-08 21:51:43 +02:00
parent 54ddf5becb
commit eac7527b93
1 changed files with 8 additions and 2 deletions

View File

@ -512,8 +512,16 @@ void GSRendererDX::DrawPrims(GSTexture* rt, GSTexture* ds, GSTextureCache::Sourc
EmulateTextureShuffleAndFbmask();
uint8 afix = m_context->ALPHA.FIX;
if (m_ps_sel.dfmt == 1)
{
if (m_context->ALPHA.C == 1)
{
// 24 bits no alpha channel so use 1.0f fix factor as equivalent
m_context->ALPHA.C = 2;
afix = 0x00000001;
}
// Disable writing of the alpha channel
om_bsel.wa = 0;
}
@ -647,8 +655,6 @@ void GSRendererDX::DrawPrims(GSTexture* rt, GSTexture* ds, GSTextureCache::Sourc
dev->PSSetShaderResource(1, tex ? tex->m_palette : NULL);
dev->PSSetShaderResource(2, rtcopy);
uint8 afix = m_context->ALPHA.FIX;
SetupIA(sx, sy);
dev->SetupOM(om_dssel, om_bsel, afix);