diff options
| author | 2015-01-27 17:26:09 -0500 | |
|---|---|---|
| committer | 2015-01-27 22:03:34 -0500 | |
| commit | b522cf4e6a77d025eab4f70c1efdbc401f08e15b (patch) | |
| tree | f99ff5df34528c4b6098d471e140ab057004ba3c /src | |
| parent | Merge pull request #507 from bunnei/alpha-testing (diff) | |
| download | yuzu-b522cf4e6a77d025eab4f70c1efdbc401f08e15b.tar.gz yuzu-b522cf4e6a77d025eab4f70c1efdbc401f08e15b.tar.xz yuzu-b522cf4e6a77d025eab4f70c1efdbc401f08e15b.zip | |
Pica: Implement color/alpha channel enable.
Diffstat (limited to 'src')
| -rw-r--r-- | src/video_core/pica.h | 4 | ||||
| -rw-r--r-- | src/video_core/rasterizer.cpp | 9 |
2 files changed, 12 insertions, 1 deletions
diff --git a/src/video_core/pica.h b/src/video_core/pica.h index a19f4190c..78603ebdf 100644 --- a/src/video_core/pica.h +++ b/src/video_core/pica.h | |||
| @@ -370,6 +370,10 @@ struct Regs { | |||
| 370 | union { | 370 | union { |
| 371 | BitField< 0, 1, u32> depth_test_enable; | 371 | BitField< 0, 1, u32> depth_test_enable; |
| 372 | BitField< 4, 3, CompareFunc> depth_test_func; | 372 | BitField< 4, 3, CompareFunc> depth_test_func; |
| 373 | BitField< 8, 1, u32> red_enable; | ||
| 374 | BitField< 9, 1, u32> green_enable; | ||
| 375 | BitField<10, 1, u32> blue_enable; | ||
| 376 | BitField<11, 1, u32> alpha_enable; | ||
| 373 | BitField<12, 1, u32> depth_write_enable; | 377 | BitField<12, 1, u32> depth_write_enable; |
| 374 | }; | 378 | }; |
| 375 | 379 | ||
diff --git a/src/video_core/rasterizer.cpp b/src/video_core/rasterizer.cpp index 15715c43d..7f66c6d42 100644 --- a/src/video_core/rasterizer.cpp +++ b/src/video_core/rasterizer.cpp | |||
| @@ -594,7 +594,14 @@ void ProcessTriangle(const VertexShader::OutputVertex& v0, | |||
| 594 | exit(0); | 594 | exit(0); |
| 595 | } | 595 | } |
| 596 | 596 | ||
| 597 | DrawPixel(x >> 4, y >> 4, combiner_output); | 597 | const Math::Vec4<u8> result = { |
| 598 | registers.output_merger.red_enable ? combiner_output.r() : dest.r(), | ||
| 599 | registers.output_merger.green_enable ? combiner_output.g() : dest.g(), | ||
| 600 | registers.output_merger.blue_enable ? combiner_output.b() : dest.b(), | ||
| 601 | registers.output_merger.alpha_enable ? combiner_output.a() : dest.a() | ||
| 602 | }; | ||
| 603 | |||
| 604 | DrawPixel(x >> 4, y >> 4, result); | ||
| 598 | } | 605 | } |
| 599 | } | 606 | } |
| 600 | } | 607 | } |