summaryrefslogtreecommitdiff
path: root/Source/Plugins/Plugin_VideoOGL
diff options
context:
space:
mode:
authordegasus <wickmarkus@web.de>2013-01-24 16:58:28 +0100
committerdegasus <wickmarkus@web.de>2013-01-24 16:58:28 +0100
commite0ffdda26e5fb34b2f0d59d5d45b0deda9c90c19 (patch)
tree8e289ea93c97fe7430ae501200b60327f572c7e2 /Source/Plugins/Plugin_VideoOGL
parentd5748ebaef93cd601ae6ab5e12f39dd201593ad0 (diff)
parentd60cc373d1b389215eb63c4e20fe24e902680c7a (diff)
Merge branch 'immediate-removal' into GLSL-master
Conflicts: Source/Core/VideoCommon/Src/PixelShaderGen.cpp Source/Plugins/Plugin_VideoSoftware/Src/SWRenderer.cpp immediate-removal is a new created branch seperated from master but reverted the revert of immediate-removal so we get less conflicts by merging
Diffstat (limited to 'Source/Plugins/Plugin_VideoOGL')
-rw-r--r--Source/Plugins/Plugin_VideoOGL/Src/Render.cpp14
-rw-r--r--Source/Plugins/Plugin_VideoOGL/Src/VertexManager.cpp4
2 files changed, 9 insertions, 9 deletions
diff --git a/Source/Plugins/Plugin_VideoOGL/Src/Render.cpp b/Source/Plugins/Plugin_VideoOGL/Src/Render.cpp
index 8a79cc69fd..64a83d8ae5 100644
--- a/Source/Plugins/Plugin_VideoOGL/Src/Render.cpp
+++ b/Source/Plugins/Plugin_VideoOGL/Src/Render.cpp
@@ -668,10 +668,13 @@ void Renderer::SetColorMask()
{
// Only enable alpha channel if it's supported by the current EFB format
GLenum ColorMask = GL_FALSE, AlphaMask = GL_FALSE;
- if (bpmem.blendmode.colorupdate)
- ColorMask = GL_TRUE;
- if (bpmem.blendmode.alphaupdate && (bpmem.zcontrol.pixel_format == PIXELFMT_RGBA6_Z24))
- AlphaMask = GL_TRUE;
+ if (bpmem.alpha_test.TestResult() != AlphaTest::FAIL)
+ {
+ if (bpmem.blendmode.colorupdate)
+ ColorMask = GL_TRUE;
+ if (bpmem.blendmode.alphaupdate && (bpmem.zcontrol.pixel_format == PIXELFMT_RGBA6_Z24))
+ AlphaMask = GL_TRUE;
+ }
glColorMask(ColorMask, ColorMask, ColorMask, AlphaMask);
}
@@ -1036,9 +1039,6 @@ void Renderer::Swap(u32 xfbAddr, FieldType field, u32 fbWidth, u32 fbHeight,cons
Core::Callback_VideoCopiedToXFB(false);
return;
}
- // this function is called after the XFB field is changed, not after
- // EFB is copied to XFB. In this way, flickering is reduced in games
- // and seems to also give more FPS in ZTP
if (field == FIELD_LOWER) xfbAddr -= fbWidth * 2;
u32 xfbCount = 0;
diff --git a/Source/Plugins/Plugin_VideoOGL/Src/VertexManager.cpp b/Source/Plugins/Plugin_VideoOGL/Src/VertexManager.cpp
index 5c0c164a42..f513038f0f 100644
--- a/Source/Plugins/Plugin_VideoOGL/Src/VertexManager.cpp
+++ b/Source/Plugins/Plugin_VideoOGL/Src/VertexManager.cpp
@@ -245,8 +245,8 @@ void VertexManager::vFlush()
xfregs.postMtxInfo[i].index, xfregs.postMtxInfo[i].normalize);
}
- PRIM_LOG("pixel: tev=%d, ind=%d, texgen=%d, dstalpha=%d, alphafunc=0x%x", bpmem.genMode.numtevstages+1, bpmem.genMode.numindstages,
- bpmem.genMode.numtexgens, (u32)bpmem.dstalpha.enable, (bpmem.alphaFunc.hex>>16)&0xff);
+ PRIM_LOG("pixel: tev=%d, ind=%d, texgen=%d, dstalpha=%d, alphatest=0x%x", bpmem.genMode.numtevstages+1, bpmem.genMode.numindstages,
+ bpmem.genMode.numtexgens, (u32)bpmem.dstalpha.enable, (bpmem.alpha_test.hex>>16)&0xff);
#endif
(void)GL_REPORT_ERROR();