Actually have Dual Source blending work for people. Forgot about this change.

This commit is contained in:
Ryan Houdek 2011-12-11 03:10:03 -06:00 committed by Sonicadvance1
parent a304af75fd
commit a5257c1a0a
2 changed files with 8 additions and 3 deletions

View File

@ -124,6 +124,11 @@ extern CGprofile g_cgvProf, g_cgfProf;
// XXX: Dual-source blending in OpenGL does not work correctly yet. To make it
// work, we may need to use glBindFragDataLocation. To use that, we need to
// use GLSL shaders across the whole pipeline. Yikes!
//#define USE_DUAL_SOURCE_BLEND
#define USE_DUAL_SOURCE_BLEND
// Can't get defined on my system for some reason...
#ifndef GL_ONE_MINUS_SRC1_ALPHA
#define GL_ONE_MINUS_SRC1_ALPHA 0x88FB
#endif
#endif // _GLINIT_H_

View File

@ -937,8 +937,8 @@ void Renderer::SetBlendMode(bool forceUpdate)
#ifdef USE_DUAL_SOURCE_BLEND
bool useDstAlpha = !g_ActiveConfig.bDstAlphaPass && bpmem.dstalpha.enable && bpmem.blendmode.alphaupdate
&& bpmem.zcontrol.pixel_format == PIXELFMT_RGBA6_Z24;
bool useDualSource = useDstAlpha && GLEW_ARB_blend_func_extended;
&& bpmem.zcontrol.pixel_format == PIXELFMT_RGBA6_Z24 && g_ActiveConfig.bUseGLSL;
bool useDualSource = useDstAlpha;
#endif
if (changes & 1)