diff options
author | bunnei <bunneidev@gmail.com> | 2019-01-22 15:23:35 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-01-22 15:23:35 +0100 |
commit | 0fa1ebc3495d5bf7c5e7ba08c1752a6f24a5a55c (patch) | |
tree | 0ad83c6ebeb8bf17065fa5dee99ae40f0ac68df4 /src/video_core/engines/maxwell_3d.cpp | |
parent | Merge pull request #2035 from lioncash/fwd-decl (diff) | |
parent | maxwell_3d: Set rt_separate_frag_data to 1 by default (diff) | |
download | yuzu-0fa1ebc3495d5bf7c5e7ba08c1752a6f24a5a55c.tar yuzu-0fa1ebc3495d5bf7c5e7ba08c1752a6f24a5a55c.tar.gz yuzu-0fa1ebc3495d5bf7c5e7ba08c1752a6f24a5a55c.tar.bz2 yuzu-0fa1ebc3495d5bf7c5e7ba08c1752a6f24a5a55c.tar.lz yuzu-0fa1ebc3495d5bf7c5e7ba08c1752a6f24a5a55c.tar.xz yuzu-0fa1ebc3495d5bf7c5e7ba08c1752a6f24a5a55c.tar.zst yuzu-0fa1ebc3495d5bf7c5e7ba08c1752a6f24a5a55c.zip |
Diffstat (limited to 'src/video_core/engines/maxwell_3d.cpp')
-rw-r--r-- | src/video_core/engines/maxwell_3d.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/video_core/engines/maxwell_3d.cpp b/src/video_core/engines/maxwell_3d.cpp index d64a5080b..a388b3944 100644 --- a/src/video_core/engines/maxwell_3d.cpp +++ b/src/video_core/engines/maxwell_3d.cpp @@ -37,6 +37,7 @@ void Maxwell3D::InitializeRegisterDefaults() { regs.viewports[viewport].depth_range_near = 0.0f; regs.viewports[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; @@ -66,6 +67,7 @@ void Maxwell3D::InitializeRegisterDefaults() { regs.stencil_back_func_func = Regs::ComparisonOp::Always; regs.stencil_back_func_mask = 0xFFFFFFFF; regs.stencil_back_mask = 0xFFFFFFFF; + // TODO(Rodrigo): Most games do not set a point size. I think this is a case of a // register carrying a default value. Assume it's OpenGL's default (1). regs.point_size = 1.0f; @@ -78,6 +80,9 @@ void Maxwell3D::InitializeRegisterDefaults() { regs.color_mask[color_mask].B.Assign(1); regs.color_mask[color_mask].A.Assign(1); } + + // Commercial games seem to assume this value is enabled and nouveau sets this value manually. + regs.rt_separate_frag_data = 1; } void Maxwell3D::CallMacroMethod(u32 method, std::vector<u32> parameters) { |