From e11fb96408b27e2aa76e29a380fe3a2d15d37d32 Mon Sep 17 00:00:00 2001
From: Tony Wasserka <NeoBrainX@gmail.com>
Date: Sat, 3 Jan 2015 13:49:53 +0100
Subject: [PATCH] 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...
---
 src/video_core/pica.h         | 2 ++
 src/video_core/rasterizer.cpp | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/src/video_core/pica.h b/src/video_core/pica.h
index 23fc6b9ba6..24f2c23823 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 eacca82e5d..4bf7593ce2 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: