forked from suyu/suyu
Extend Tev stage dumper
This commit is contained in:
parent
98923ab6e5
commit
324c21c922
1 changed files with 38 additions and 14 deletions
|
@ -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 =
|
||||
|
|
Loading…
Reference in a new issue