summaryrefslogtreecommitdiffstats
path: root/src/video_core/engines/maxwell_3d.cpp
diff options
context:
space:
mode:
authorRodolfo Bogado <rodolfoosvaldobogado@gmail.com>2018-11-02 04:21:25 +0100
committerRodolfo Bogado <rodolfoosvaldobogado@gmail.com>2018-11-05 00:49:48 +0100
commit145ae369639af6f91a59b8217c5e9ba42b0c5f0b (patch)
treebd90ca5b095233fe18fc6f4470d2a44d4a0ad969 /src/video_core/engines/maxwell_3d.cpp
parentMerge pull request #1625 from FernandoS27/astc (diff)
downloadyuzu-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.cpp16
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) {