diff options
author | bunnei <bunneidev@gmail.com> | 2018-04-14 05:13:47 +0200 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2018-04-18 00:11:48 +0200 |
commit | 174cba5c586e14445d28a1fc36148178540ff57b (patch) | |
tree | 4e53136b745e4e31ee8ce17de70e408357816730 /src/video_core/renderer_opengl/gl_rasterizer.cpp | |
parent | Merge pull request #341 from shinyquagsire23/pfs-hfs-impl (diff) | |
download | yuzu-174cba5c586e14445d28a1fc36148178540ff57b.tar yuzu-174cba5c586e14445d28a1fc36148178540ff57b.tar.gz yuzu-174cba5c586e14445d28a1fc36148178540ff57b.tar.bz2 yuzu-174cba5c586e14445d28a1fc36148178540ff57b.tar.lz yuzu-174cba5c586e14445d28a1fc36148178540ff57b.tar.xz yuzu-174cba5c586e14445d28a1fc36148178540ff57b.tar.zst yuzu-174cba5c586e14445d28a1fc36148178540ff57b.zip |
Diffstat (limited to 'src/video_core/renderer_opengl/gl_rasterizer.cpp')
-rw-r--r-- | src/video_core/renderer_opengl/gl_rasterizer.cpp | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp index 75b4031a7..7b6240e65 100644 --- a/src/video_core/renderer_opengl/gl_rasterizer.cpp +++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp @@ -446,7 +446,32 @@ void RasterizerOpenGL::BindTextures() { } } -void RasterizerOpenGL::NotifyMaxwellRegisterChanged(u32 id) {} +void RasterizerOpenGL::NotifyMaxwellRegisterChanged(u32 method) { + const auto& regs = Core::System().GetInstance().GPU().Maxwell3D().regs; + switch (method) { + case MAXWELL3D_REG_INDEX(blend.separate_alpha): + ASSERT_MSG(false, "unimplemented"); + break; + case MAXWELL3D_REG_INDEX(blend.equation_rgb): + state.blend.rgb_equation = MaxwellToGL::BlendEquation(regs.blend.equation_rgb); + break; + case MAXWELL3D_REG_INDEX(blend.factor_source_rgb): + state.blend.src_rgb_func = MaxwellToGL::BlendFunc(regs.blend.factor_source_rgb); + break; + case MAXWELL3D_REG_INDEX(blend.factor_dest_rgb): + state.blend.dst_rgb_func = MaxwellToGL::BlendFunc(regs.blend.factor_dest_rgb); + break; + case MAXWELL3D_REG_INDEX(blend.equation_a): + state.blend.a_equation = MaxwellToGL::BlendEquation(regs.blend.equation_a); + break; + case MAXWELL3D_REG_INDEX(blend.factor_source_a): + state.blend.src_a_func = MaxwellToGL::BlendFunc(regs.blend.factor_source_a); + break; + case MAXWELL3D_REG_INDEX(blend.factor_dest_a): + state.blend.dst_a_func = MaxwellToGL::BlendFunc(regs.blend.factor_dest_a); + break; + } +} void RasterizerOpenGL::FlushAll() { MICROPROFILE_SCOPE(OpenGL_CacheManagement); |