Extend Tev stage dumper

This commit is contained in:
Jannik Vogel 2016-04-16 01:00:09 +02:00
parent 98923ab6e5
commit 324c21c922
1 changed files with 38 additions and 14 deletions

View File

@ -708,28 +708,52 @@ void DumpTevStageConfig(const std::array<Pica::Regs::TevStageConfig,6>& stages)
const auto& tev_stage = stages[index];
static const std::map<Source, std::string> source_map = {
{ Source::PrimaryColor, "PrimaryColor" },
{ Source::Texture0, "Texture0" },
{ Source::Texture1, "Texture1" },
{ Source::Texture2, "Texture2" },
{ Source::Constant, "Constant" },
{ Source::Previous, "Previous" },
{ Source::PrimaryColor, "PrimaryColor" },
{ Source::PrimaryFragmentColor, "PrimaryFragmentColor" },
{ Source::SecondaryFragmentColor, "SecondaryFragmentColor" },
{ Source::Texture0, "Texture0" },
{ Source::Texture1, "Texture1" },
{ Source::Texture2, "Texture2" },
{ Source::Texture3, "Texture3" },
{ Source::PreviousBuffer, "PreviousBuffer" },
{ Source::Constant, "Constant" },
{ Source::Previous, "Previous" },
};
static const std::map<ColorModifier, std::string> color_modifier_map = {
{ ColorModifier::SourceColor, { "%source.rgb" } },
{ ColorModifier::SourceAlpha, { "%source.aaa" } },
{ ColorModifier::SourceColor, "%source.rgb" },
{ ColorModifier::OneMinusSourceColor, "(1.0 - %source.rgb)" },
{ ColorModifier::SourceAlpha, "%source.aaa" },
{ ColorModifier::OneMinusSourceAlpha, "(1.0 - %source.aaa)" },
{ ColorModifier::SourceRed, "%source.rrr" },
{ ColorModifier::OneMinusSourceRed, "(1.0 - %source.rrr)" },
{ ColorModifier::SourceGreen, "%source.ggg" },
{ ColorModifier::OneMinusSourceGreen, "(1.0 - %source.ggg)" },
{ ColorModifier::SourceBlue, "%source.bbb" },
{ ColorModifier::OneMinusSourceBlue, "(1.0 - %source.bbb)" },
};
static const std::map<AlphaModifier, std::string> alpha_modifier_map = {
{ AlphaModifier::SourceAlpha, "%source.a" },
{ AlphaModifier::OneMinusSourceAlpha, "(255 - %source.a)" },
{ AlphaModifier::SourceAlpha, "%source.a" },
{ AlphaModifier::OneMinusSourceAlpha, "(1.0 - %source.a)" },
{ AlphaModifier::SourceRed, "%source.r" },
{ AlphaModifier::OneMinusSourceRed, "(1.0 - %source.r)" },
{ AlphaModifier::SourceGreen, "%source.g" },
{ AlphaModifier::OneMinusSourceGreen, "(1.0 - %source.g)" },
{ AlphaModifier::SourceBlue, "%source.b" },
{ AlphaModifier::OneMinusSourceBlue, "(1.0 - %source.b)" },
};
static const std::map<Operation, std::string> combiner_map = {
{ Operation::Replace, "%source1" },
{ Operation::Modulate, "(%source1 * %source2) / 255" },
{ Operation::Add, "(%source1 + %source2)" },
{ Operation::Lerp, "lerp(%source1, %source2, %source3)" },
{ Operation::Replace, "%source1" },
{ Operation::Modulate, "(%source1 * %source2)" },
{ Operation::Add, "(%source1 + %source2)" },
{ Operation::AddSigned, "(%source1 + %source2) - 0.5" },
{ Operation::Lerp, "lerp(%source1, %source2, %source3)" },
{ Operation::Subtract, "(%source1 - %source2)" },
{ Operation::Dot3_RGB, "dot(%source1, %source2)" },
{ Operation::MultiplyThenAdd, "((%source1 * %source2) + %source3)" },
{ Operation::AddThenMultiply, "((%source1 + %source2) * %source3)" },
};
static auto ReplacePattern =