diff options
author | Rodolfo Bogado <rodolfoosvaldobogado@gmail.com> | 2018-11-02 04:21:25 +0100 |
---|---|---|
committer | Rodolfo Bogado <rodolfoosvaldobogado@gmail.com> | 2018-11-05 00:49:48 +0100 |
commit | 145ae369639af6f91a59b8217c5e9ba42b0c5f0b (patch) | |
tree | bd90ca5b095233fe18fc6f4470d2a44d4a0ad969 /src/video_core/engines/maxwell_3d.cpp | |
parent | Merge pull request #1625 from FernandoS27/astc (diff) | |
download | yuzu-145ae369639af6f91a59b8217c5e9ba42b0c5f0b.tar yuzu-145ae369639af6f91a59b8217c5e9ba42b0c5f0b.tar.gz yuzu-145ae369639af6f91a59b8217c5e9ba42b0c5f0b.tar.bz2 yuzu-145ae369639af6f91a59b8217c5e9ba42b0c5f0b.tar.lz yuzu-145ae369639af6f91a59b8217c5e9ba42b0c5f0b.tar.xz yuzu-145ae369639af6f91a59b8217c5e9ba42b0c5f0b.tar.zst yuzu-145ae369639af6f91a59b8217c5e9ba42b0c5f0b.zip |
Diffstat (limited to '')
-rw-r--r-- | src/video_core/engines/maxwell_3d.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/video_core/engines/maxwell_3d.cpp b/src/video_core/engines/maxwell_3d.cpp index d79c50919..2cd595f26 100644 --- a/src/video_core/engines/maxwell_3d.cpp +++ b/src/video_core/engines/maxwell_3d.cpp @@ -37,6 +37,22 @@ void Maxwell3D::InitializeRegisterDefaults() { regs.viewport[viewport].depth_range_near = 0.0f; regs.viewport[viewport].depth_range_far = 1.0f; } + // Doom and Bomberman seems to use the uninitialized registers and just enable blend + // so initialize blend registers with sane values + regs.blend.equation_rgb = Regs::Blend::Equation::Add; + regs.blend.factor_source_rgb = Regs::Blend::Factor::One; + regs.blend.factor_dest_rgb = Regs::Blend::Factor::Zero; + regs.blend.equation_a = Regs::Blend::Equation::Add; + regs.blend.factor_source_a = Regs::Blend::Factor::One; + regs.blend.factor_dest_a = Regs::Blend::Factor::Zero; + for (std::size_t blend_index = 0; blend_index < Regs::NumRenderTargets; blend_index++) { + regs.independent_blend[blend_index].equation_rgb = Regs::Blend::Equation::Add; + regs.independent_blend[blend_index].factor_source_rgb = Regs::Blend::Factor::One; + regs.independent_blend[blend_index].factor_dest_rgb = Regs::Blend::Factor::Zero; + regs.independent_blend[blend_index].equation_a = Regs::Blend::Equation::Add; + regs.independent_blend[blend_index].factor_source_a = Regs::Blend::Factor::One; + regs.independent_blend[blend_index].factor_dest_a = Regs::Blend::Factor::Zero; + } } void Maxwell3D::CallMacroMethod(u32 method, std::vector<u32> parameters) { |