diff options
author | bunnei <bunneidev@gmail.com> | 2018-11-22 17:44:05 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-11-22 17:44:05 +0100 |
commit | 50d2abaaa943a43ced3a31bd19de868b6c9b34a7 (patch) | |
tree | 58240cd456d8393067b6b702efcb3c11e4481db6 | |
parent | Merge pull request #1765 from bunnei/multi-audout (diff) | |
parent | maxwell_3d: Implement alternate blend equations. (diff) | |
download | yuzu-50d2abaaa943a43ced3a31bd19de868b6c9b34a7.tar yuzu-50d2abaaa943a43ced3a31bd19de868b6c9b34a7.tar.gz yuzu-50d2abaaa943a43ced3a31bd19de868b6c9b34a7.tar.bz2 yuzu-50d2abaaa943a43ced3a31bd19de868b6c9b34a7.tar.lz yuzu-50d2abaaa943a43ced3a31bd19de868b6c9b34a7.tar.xz yuzu-50d2abaaa943a43ced3a31bd19de868b6c9b34a7.tar.zst yuzu-50d2abaaa943a43ced3a31bd19de868b6c9b34a7.zip |
-rw-r--r-- | src/video_core/engines/maxwell_3d.h | 7 | ||||
-rw-r--r-- | src/video_core/renderer_opengl/maxwell_to_gl.h | 5 |
2 files changed, 12 insertions, 0 deletions
diff --git a/src/video_core/engines/maxwell_3d.h b/src/video_core/engines/maxwell_3d.h index 9e480dc39..eff6abd55 100644 --- a/src/video_core/engines/maxwell_3d.h +++ b/src/video_core/engines/maxwell_3d.h @@ -389,6 +389,13 @@ public: ReverseSubtract = 3, Min = 4, Max = 5, + + // These values are used by Nouveau and some games. + AddGL = 0x8006, + SubtractGL = 0x8007, + ReverseSubtractGL = 0x8008, + MinGL = 0x800a, + MaxGL = 0x800b }; enum class Factor : u32 { diff --git a/src/video_core/renderer_opengl/maxwell_to_gl.h b/src/video_core/renderer_opengl/maxwell_to_gl.h index 065b3929c..a8833c06e 100644 --- a/src/video_core/renderer_opengl/maxwell_to_gl.h +++ b/src/video_core/renderer_opengl/maxwell_to_gl.h @@ -218,14 +218,19 @@ inline GLenum DepthCompareFunc(Tegra::Texture::DepthCompareFunc func) { inline GLenum BlendEquation(Maxwell::Blend::Equation equation) { switch (equation) { case Maxwell::Blend::Equation::Add: + case Maxwell::Blend::Equation::AddGL: return GL_FUNC_ADD; case Maxwell::Blend::Equation::Subtract: + case Maxwell::Blend::Equation::SubtractGL: return GL_FUNC_SUBTRACT; case Maxwell::Blend::Equation::ReverseSubtract: + case Maxwell::Blend::Equation::ReverseSubtractGL: return GL_FUNC_REVERSE_SUBTRACT; case Maxwell::Blend::Equation::Min: + case Maxwell::Blend::Equation::MinGL: return GL_MIN; case Maxwell::Blend::Equation::Max: + case Maxwell::Blend::Equation::MaxGL: return GL_MAX; } LOG_ERROR(Render_OpenGL, "Unimplemented blend equation={}", static_cast<u32>(equation)); |