From 2ca792cd01348ad2c849b450d3e397c036578245 Mon Sep 17 00:00:00 2001 From: jsmall-nvidia Date: Tue, 12 Mar 2019 16:37:59 -0400 Subject: Add -profile option to render-test to override a profile to use (#898) --- tools/render-test/options.cpp | 9 +++++++++ tools/render-test/options.h | 3 +++ tools/render-test/render-test-main.cpp | 3 +++ 3 files changed, 15 insertions(+) diff --git a/tools/render-test/options.cpp b/tools/render-test/options.cpp index 965a81e27..b6208c4b3 100644 --- a/tools/render-test/options.cpp +++ b/tools/render-test/options.cpp @@ -89,6 +89,15 @@ SlangResult parseOptions(int argc, const char*const* argv, Slang::WriterHelper s } gOptions.outputPath = *argCursor++; } + else if (strcmp(arg, "-profile") == 0) + { + if (argCursor == argEnd) + { + stdError.print("expected argument for '%s' option\n", arg); + return SLANG_FAIL; + } + gOptions.profileName = *argCursor++; + } else if( strcmp(arg, "-xslang") == 0 ) { // This is an option that we want to pass along to Slang diff --git a/tools/render-test/options.h b/tools/render-test/options.h index 4f0f900b1..6c1482ab4 100644 --- a/tools/render-test/options.h +++ b/tools/render-test/options.h @@ -48,6 +48,9 @@ struct Options RendererType rendererType = RendererType::Unknown; InputLanguageID inputLanguageID = InputLanguageID::Slang; + /// Can be used for overriding the profile + const char* profileName = nullptr; + char const* slangArgs[kMaxSlangArgs]; int slangArgCount = 0; diff --git a/tools/render-test/render-test-main.cpp b/tools/render-test/render-test-main.cpp index f21d1e5e4..933641053 100644 --- a/tools/render-test/render-test-main.cpp +++ b/tools/render-test/render-test-main.cpp @@ -574,6 +574,9 @@ SLANG_TEST_TOOL_API SlangResult innerMain(Slang::StdWriters* stdWriters, SlangSe } } + // Use the profilename set on options if set + profileName = gOptions.profileName ? gOptions.profileName : profileName; + ShaderCompiler shaderCompiler; shaderCompiler.renderer = renderer; shaderCompiler.target = slangTarget; -- cgit v1.2.3