|
|
@ -78,6 +78,26 @@ inline GLenum WrapMode(Pica::Regs::TextureConfig::WrapMode mode) { |
|
|
return gl_mode; |
|
|
return gl_mode; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
inline GLenum BlendEquation(Pica::Regs::BlendEquation equation) { |
|
|
|
|
|
static const GLenum blend_equation_table[] = { |
|
|
|
|
|
GL_FUNC_ADD, // BlendEquation::Add |
|
|
|
|
|
GL_FUNC_SUBTRACT, // BlendEquation::Subtract |
|
|
|
|
|
GL_FUNC_REVERSE_SUBTRACT, // BlendEquation::ReverseSubtract |
|
|
|
|
|
GL_MIN, // BlendEquation::Min |
|
|
|
|
|
GL_MAX, // BlendEquation::Max |
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
// Range check table for input |
|
|
|
|
|
if (static_cast<size_t>(equation) >= ARRAY_SIZE(blend_equation_table)) { |
|
|
|
|
|
LOG_CRITICAL(Render_OpenGL, "Unknown blend equation %d", equation); |
|
|
|
|
|
UNREACHABLE(); |
|
|
|
|
|
|
|
|
|
|
|
return GL_FUNC_ADD; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return blend_equation_table[(unsigned)equation]; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
inline GLenum BlendFunc(Pica::Regs::BlendFactor factor) { |
|
|
inline GLenum BlendFunc(Pica::Regs::BlendFactor factor) { |
|
|
static const GLenum blend_func_table[] = { |
|
|
static const GLenum blend_func_table[] = { |
|
|
GL_ZERO, // BlendFactor::Zero |
|
|
GL_ZERO, // BlendFactor::Zero |
|
|
|