diff options
author | Subv <subv2112@gmail.com> | 2018-07-02 20:31:49 +0200 |
---|---|---|
committer | Subv <subv2112@gmail.com> | 2018-07-02 20:31:49 +0200 |
commit | d480b63e0da6c869157117fe2771da258c4e8ea0 (patch) | |
tree | c7d450e8e042988d4b1bf172d53c1a9c8cd8f185 /src/video_core/renderer_opengl | |
parent | GPU: Added registers for depth test and cull mode. (diff) | |
download | yuzu-d480b63e0da6c869157117fe2771da258c4e8ea0.tar yuzu-d480b63e0da6c869157117fe2771da258c4e8ea0.tar.gz yuzu-d480b63e0da6c869157117fe2771da258c4e8ea0.tar.bz2 yuzu-d480b63e0da6c869157117fe2771da258c4e8ea0.tar.lz yuzu-d480b63e0da6c869157117fe2771da258c4e8ea0.tar.xz yuzu-d480b63e0da6c869157117fe2771da258c4e8ea0.tar.zst yuzu-d480b63e0da6c869157117fe2771da258c4e8ea0.zip |
Diffstat (limited to 'src/video_core/renderer_opengl')
-rw-r--r-- | src/video_core/renderer_opengl/maxwell_to_gl.h | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/src/video_core/renderer_opengl/maxwell_to_gl.h b/src/video_core/renderer_opengl/maxwell_to_gl.h index 2155fb019..392041a1c 100644 --- a/src/video_core/renderer_opengl/maxwell_to_gl.h +++ b/src/video_core/renderer_opengl/maxwell_to_gl.h @@ -201,4 +201,54 @@ inline GLenum SwizzleSource(Tegra::Texture::SwizzleSource source) { return {}; } +inline GLenum ComparisonOp(Maxwell::ComparisonOp comparison) { + switch (comparison) { + case Maxwell::ComparisonOp::Never: + return GL_NEVER; + case Maxwell::ComparisonOp::Less: + return GL_LESS; + case Maxwell::ComparisonOp::Equal: + return GL_EQUAL; + case Maxwell::ComparisonOp::LessEqual: + return GL_LEQUAL; + case Maxwell::ComparisonOp::Greater: + return GL_GREATER; + case Maxwell::ComparisonOp::NotEqual: + return GL_NOTEQUAL; + case Maxwell::ComparisonOp::GreaterEqual: + return GL_GEQUAL; + case Maxwell::ComparisonOp::Always: + return GL_ALWAYS; + } + NGLOG_CRITICAL(Render_OpenGL, "Unimplemented comparison op={}", static_cast<u32>(comparison)); + UNREACHABLE(); + return {}; +} + +inline GLenum FrontFace(Maxwell::Cull::FrontFace front_face) { + switch (front_face) { + case Maxwell::Cull::FrontFace::ClockWise: + return GL_CW; + case Maxwell::Cull::FrontFace::CounterClockWise: + return GL_CCW; + } + NGLOG_CRITICAL(Render_OpenGL, "Unimplemented front face cull={}", static_cast<u32>(front_face)); + UNREACHABLE(); + return {}; +} + +inline GLenum CullFace(Maxwell::Cull::CullFace cull_face) { + switch (cull_face) { + case Maxwell::Cull::CullFace::Front: + return GL_FRONT; + case Maxwell::Cull::CullFace::Back: + return GL_BACK; + case Maxwell::Cull::CullFace::FrontAndBack: + return GL_FRONT_AND_BACK; + } + NGLOG_CRITICAL(Render_OpenGL, "Unimplemented cull face={}", static_cast<u32>(cull_face)); + UNREACHABLE(); + return {}; +} + } // namespace MaxwellToGL |