From e11fb96408b27e2aa76e29a380fe3a2d15d37d32 Mon Sep 17 00:00:00 2001 From: Tony Wasserka Date: Sat, 3 Jan 2015 13:49:53 +0100 Subject: 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(+) (limited to 'src') 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 { switch (source) { + // TODO: What's the difference between these two? case Source::PrimaryColor: + case Source::PrimaryFragmentColor: return primary_color; case Source::Texture0: -- cgit v1.2.3