diff options
Diffstat (limited to 'tools/render-test/shader-input-layout.cpp')
| -rw-r--r-- | tools/render-test/shader-input-layout.cpp | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/tools/render-test/shader-input-layout.cpp b/tools/render-test/shader-input-layout.cpp index 8ab14bf76..5a2021b01 100644 --- a/tools/render-test/shader-input-layout.cpp +++ b/tools/render-test/shader-input-layout.cpp @@ -9,8 +9,10 @@ namespace renderer_test void ShaderInputLayout::Parse(const char * source) { entries.Clear(); - globalTypeArguments.Clear(); - entryPointTypeArguments.Clear(); + globalGenericTypeArguments.Clear(); + entryPointGenericTypeArguments.Clear(); + globalExistentialTypeArguments.Clear(); + entryPointExistentialTypeArguments.Clear(); auto lines = Split(source, '\n'); for (auto & line : lines) { @@ -26,7 +28,7 @@ namespace renderer_test StringBuilder typeExp; while (!parser.IsEnd()) typeExp << parser.ReadToken().Content; - entryPointTypeArguments.Add(typeExp); + entryPointGenericTypeArguments.Add(typeExp); } else if (parser.LookAhead("global_type")) { @@ -34,7 +36,23 @@ namespace renderer_test StringBuilder typeExp; while (!parser.IsEnd()) typeExp << parser.ReadToken().Content; - globalTypeArguments.Add(typeExp); + globalGenericTypeArguments.Add(typeExp); + } + else if (parser.LookAhead("globalExistentialType")) + { + parser.ReadToken(); + StringBuilder typeExp; + while (!parser.IsEnd()) + typeExp << parser.ReadToken().Content; + globalExistentialTypeArguments.Add(typeExp); + } + else if (parser.LookAhead("entryPointExistentialType")) + { + parser.ReadToken(); + StringBuilder typeExp; + while (!parser.IsEnd()) + typeExp << parser.ReadToken().Content; + entryPointExistentialTypeArguments.Add(typeExp); } else { |
