summaryrefslogtreecommitdiffstats
path: root/tools/render-test/options.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/render-test/options.cpp')
-rw-r--r--tools/render-test/options.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/tools/render-test/options.cpp b/tools/render-test/options.cpp
index b6208c4b3..1171a2a03 100644
--- a/tools/render-test/options.cpp
+++ b/tools/render-test/options.cpp
@@ -9,7 +9,11 @@
#include "../../source/core/slang-writer.h"
#include "../../source/core/slang-render-api-util.h"
+#include "../../source/core/list.h"
+#include "../../source/core/slang-string-util.h"
+
namespace renderer_test {
+using namespace Slang;
static const Options gDefaultOptions;
@@ -98,6 +102,23 @@ SlangResult parseOptions(int argc, const char*const* argv, Slang::WriterHelper s
}
gOptions.profileName = *argCursor++;
}
+ else if (strcmp(arg, "-render-features") == 0 || strcmp(arg, "-render-feature") == 0)
+ {
+ if (argCursor == argEnd)
+ {
+ stdError.print("expected argument for '%s' option\n", arg);
+ return SLANG_FAIL;
+ }
+ const char* value = *argCursor++;
+
+ List<UnownedStringSlice> values;
+ StringUtil::split(UnownedStringSlice(value), ',', values);
+
+ for (const auto& value : values)
+ {
+ gOptions.renderFeatures.Add(value);
+ }
+ }
else if( strcmp(arg, "-xslang") == 0 )
{
// This is an option that we want to pass along to Slang