aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/video_core/rasterizer.cpp
diff options
context:
space:
mode:
authorGravatar bunnei <bunneidev@gmail.com>2015-01-27 17:26:09 -0500
committerGravatar bunnei <bunneidev@gmail.com>2015-01-27 22:03:34 -0500
commitb522cf4e6a77d025eab4f70c1efdbc401f08e15b (patch)
treef99ff5df34528c4b6098d471e140ab057004ba3c /src/video_core/rasterizer.cpp
parent9f93367aa0954007c21ae91831ed5c2ee45f94ba (diff)
Pica: Implement color/alpha channel enable.
Diffstat (limited to 'src/video_core/rasterizer.cpp')
-rw-r--r--src/video_core/rasterizer.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/video_core/rasterizer.cpp b/src/video_core/rasterizer.cpp
index 15715c43..7f66c6d4 100644
--- a/src/video_core/rasterizer.cpp
+++ b/src/video_core/rasterizer.cpp
@@ -594,7 +594,14 @@ void ProcessTriangle(const VertexShader::OutputVertex& v0,
exit(0);
}
- DrawPixel(x >> 4, y >> 4, combiner_output);
+ const Math::Vec4<u8> result = {
+ registers.output_merger.red_enable ? combiner_output.r() : dest.r(),
+ registers.output_merger.green_enable ? combiner_output.g() : dest.g(),
+ registers.output_merger.blue_enable ? combiner_output.b() : dest.b(),
+ registers.output_merger.alpha_enable ? combiner_output.a() : dest.a()
+ };
+
+ DrawPixel(x >> 4, y >> 4, result);
}
}
}