Merge pull request #571 from Armada651/loose-blend

gl_rasterizer: Get loose on independent blending.
This commit is contained in:
bunnei 2018-06-18 11:36:50 -04:00 committed by GitHub
commit ea080501fb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -740,7 +740,6 @@ void RasterizerOpenGL::SyncDepthOffset() {
void RasterizerOpenGL::SyncBlendState() { void RasterizerOpenGL::SyncBlendState() {
const auto& regs = Core::System().GetInstance().GPU().Maxwell3D().regs; const auto& regs = Core::System().GetInstance().GPU().Maxwell3D().regs;
ASSERT_MSG(regs.independent_blend_enable == 1, "Only independent blending is implemented");
// TODO(Subv): Support more than just render target 0. // TODO(Subv): Support more than just render target 0.
state.blend.enabled = regs.blend.enable[0] != 0; state.blend.enabled = regs.blend.enable[0] != 0;
@ -748,6 +747,7 @@ void RasterizerOpenGL::SyncBlendState() {
if (!state.blend.enabled) if (!state.blend.enabled)
return; return;
ASSERT_MSG(regs.independent_blend_enable == 1, "Only independent blending is implemented");
ASSERT_MSG(!regs.independent_blend[0].separate_alpha, "Unimplemented"); ASSERT_MSG(!regs.independent_blend[0].separate_alpha, "Unimplemented");
state.blend.rgb_equation = MaxwellToGL::BlendEquation(regs.independent_blend[0].equation_rgb); state.blend.rgb_equation = MaxwellToGL::BlendEquation(regs.independent_blend[0].equation_rgb);
state.blend.src_rgb_func = MaxwellToGL::BlendFunc(regs.independent_blend[0].factor_source_rgb); state.blend.src_rgb_func = MaxwellToGL::BlendFunc(regs.independent_blend[0].factor_source_rgb);