diff options
author | bunnei <bunneidev@gmail.com> | 2015-05-31 02:21:55 -0400 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2015-05-31 02:21:55 -0400 |
commit | 8852fc6a87eaf8edbb26e93d44c1596f0167e3ac (patch) | |
tree | 2ff0e6c796bcc3d489c7fb3e67a78bccbc4a3cc4 /src/video_core/renderer_opengl/gl_rasterizer.cpp | |
parent | 595fe49a8f69de5e6c0b6aad3f5a2a2e2b88a23e (diff) | |
parent | 33b9abb91e17e39ebadfa34ff3f6dac9f07f87d7 (diff) |
Merge pull request #822 from bunnei/pica-improvements
Pica improvements
Diffstat (limited to 'src/video_core/renderer_opengl/gl_rasterizer.cpp')
-rw-r--r-- | src/video_core/renderer_opengl/gl_rasterizer.cpp | 10 |
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 bacdb717..b51f8efd 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 } |