summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl/gl_rasterizer.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2015-05-26 00:39:03 +0200
committerbunnei <bunneidev@gmail.com>2015-05-31 07:52:41 +0200
commite6ace388156735d3f5e2942cafc3d5f5d46b121b (patch)
treea8e24a233560796c8ff3d496653c4ee26db229f8 /src/video_core/renderer_opengl/gl_rasterizer.cpp
parentrasterizer: Implement AddSigned combiner function for alpha channel. (diff)
downloadyuzu-e6ace388156735d3f5e2942cafc3d5f5d46b121b.tar
yuzu-e6ace388156735d3f5e2942cafc3d5f5d46b121b.tar.gz
yuzu-e6ace388156735d3f5e2942cafc3d5f5d46b121b.tar.bz2
yuzu-e6ace388156735d3f5e2942cafc3d5f5d46b121b.tar.lz
yuzu-e6ace388156735d3f5e2942cafc3d5f5d46b121b.tar.xz
yuzu-e6ace388156735d3f5e2942cafc3d5f5d46b121b.tar.zst
yuzu-e6ace388156735d3f5e2942cafc3d5f5d46b121b.zip
Diffstat (limited to 'src/video_core/renderer_opengl/gl_rasterizer.cpp')
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp
index bacdb7172..b51f8efdf 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer.cpp
+++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp
@@ -135,6 +135,7 @@ void RasterizerOpenGL::Reset() {
SyncBlendFuncs();
SyncBlendColor();
SyncAlphaTest();
+ SyncLogicOp();
SyncStencilTest();
SyncDepthTest();
@@ -249,6 +250,11 @@ void RasterizerOpenGL::NotifyPicaRegisterChanged(u32 id) {
SyncDepthTest();
break;
+ // Logic op
+ case PICA_REG_INDEX(output_merger.logic_op):
+ SyncLogicOp();
+ break;
+
// TEV stage 0
case PICA_REG_INDEX(tev_stage0.color_source1):
SyncTevSources(0, regs.tev_stage0);
@@ -633,6 +639,10 @@ void RasterizerOpenGL::SyncAlphaTest() {
glUniform1f(uniform_alphatest_ref, regs.output_merger.alpha_test.ref / 255.0f);
}
+void RasterizerOpenGL::SyncLogicOp() {
+ state.logic_op = PicaToGL::LogicOp(Pica::g_state.regs.output_merger.logic_op);
+}
+
void RasterizerOpenGL::SyncStencilTest() {
// TODO: Implement stencil test, mask, and op
}