fix dual pass alpha

This commit is contained in:
degasus 2012-12-28 14:24:12 +01:00
parent 82b33471ae
commit 70c63ce6cf

View File

@ -220,12 +220,13 @@ void VertexManager::vFlush()
if (useDstAlpha && !dualSourcePossible) if (useDstAlpha && !dualSourcePossible)
{ {
ps = PixelShaderCache::SetShader(DSTALPHA_ALPHA_PASS,g_nativeVertexFmt->m_components); ps = PixelShaderCache::SetShader(DSTALPHA_ALPHA_PASS,g_nativeVertexFmt->m_components);
if(ps) if(ps && vs)
ProgramShaderCache::SetBothShaders(ps->glprogid, 0); ProgramShaderCache::SetBothShaders(ps->glprogid, vs->glprogid);
if (!g_ActiveConfig.backend_info.bSupportsGLSLUBO) if (!g_ActiveConfig.backend_info.bSupportsGLSLUBO)
{
PixelShaderManager::SetConstants(); // Need to set these again, if we don't support UBO PixelShaderManager::SetConstants(); // Need to set these again, if we don't support UBO
if (g_nativeVertexFmt) VertexShaderManager::SetConstants();
g_nativeVertexFmt->SetupVertexPointers(); }
// only update alpha // only update alpha
glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_TRUE); glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_TRUE);