aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Tony Wasserka <NeoBrainX@gmail.com>2015-01-03 13:49:53 +0100
committerGravatar Tony Wasserka <NeoBrainX@gmail.com>2015-02-18 14:50:28 +0100
commite11fb96408b27e2aa76e29a380fe3a2d15d37d32 (patch)
tree2c72c58a0a147d4e52fda485aca82eeabe93e060
parent04cd06d5c285848c29278083891474ee78797c8a (diff)
Pica/TextureEnvironment: Treat texture combiner source 1 as the PrimaryColor.
Not really sure where the difference is, but some applications seem to use this 1:1 the same way...
-rw-r--r--src/video_core/pica.h2
-rw-r--r--src/video_core/rasterizer.cpp2
2 files changed, 4 insertions, 0 deletions
diff --git a/src/video_core/pica.h b/src/video_core/pica.h
index 23fc6b9b..24f2c238 100644
--- a/src/video_core/pica.h
+++ b/src/video_core/pica.h
@@ -224,6 +224,8 @@ struct Regs {
struct TevStageConfig {
enum class Source : u32 {
PrimaryColor = 0x0,
+ PrimaryFragmentColor = 0x1,
+
Texture0 = 0x3,
Texture1 = 0x4,
Texture2 = 0x5,
diff --git a/src/video_core/rasterizer.cpp b/src/video_core/rasterizer.cpp
index eacca82e..4bf7593c 100644
--- a/src/video_core/rasterizer.cpp
+++ b/src/video_core/rasterizer.cpp
@@ -303,7 +303,9 @@ static void ProcessTriangleInternal(const VertexShader::OutputVertex& v0,
auto GetSource = [&](Source source) -> Math::Vec4<u8> {
switch (source) {
+ // TODO: What's the difference between these two?
case Source::PrimaryColor:
+ case Source::PrimaryFragmentColor:
return primary_color;
case Source::Texture0: