summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2018-11-21 04:20:13 +0100
committerGitHub <noreply@github.com>2018-11-21 04:20:13 +0100
commit5af4160bf2a7d59c7c407131473feeb669ab37c5 (patch)
treeb7fed162e5e212484cb1fecb06b7a181716bf5a8
parentMerge pull request #1750 from lioncash/amend (diff)
parentmaxwell_3d: Initialize rasterizer color mask registers as enabled. (diff)
downloadyuzu-5af4160bf2a7d59c7c407131473feeb669ab37c5.tar
yuzu-5af4160bf2a7d59c7c407131473feeb669ab37c5.tar.gz
yuzu-5af4160bf2a7d59c7c407131473feeb669ab37c5.tar.bz2
yuzu-5af4160bf2a7d59c7c407131473feeb669ab37c5.tar.lz
yuzu-5af4160bf2a7d59c7c407131473feeb669ab37c5.tar.xz
yuzu-5af4160bf2a7d59c7c407131473feeb669ab37c5.tar.zst
yuzu-5af4160bf2a7d59c7c407131473feeb669ab37c5.zip
-rw-r--r--src/video_core/engines/maxwell_3d.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/video_core/engines/maxwell_3d.cpp b/src/video_core/engines/maxwell_3d.cpp
index a04e00ecb..2bc534be3 100644
--- a/src/video_core/engines/maxwell_3d.cpp
+++ b/src/video_core/engines/maxwell_3d.cpp
@@ -69,6 +69,15 @@ void Maxwell3D::InitializeRegisterDefaults() {
// 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;
+
+ // TODO(bunnei): Some games do not initialize the color masks (e.g. Sonic Mania). Assuming a
+ // default of enabled fixes rendering here.
+ for (std::size_t color_mask = 0; color_mask < Regs::NumRenderTargets; color_mask++) {
+ regs.color_mask[color_mask].R.Assign(1);
+ regs.color_mask[color_mask].G.Assign(1);
+ regs.color_mask[color_mask].B.Assign(1);
+ regs.color_mask[color_mask].A.Assign(1);
+ }
}
void Maxwell3D::CallMacroMethod(u32 method, std::vector<u32> parameters) {