diff options
Diffstat (limited to 'tools/render-test')
| -rw-r--r-- | tools/render-test/options.cpp | 4 | ||||
| -rw-r--r-- | tools/render-test/options.h | 2 | ||||
| -rw-r--r-- | tools/render-test/slang-support.cpp | 29 |
3 files changed, 25 insertions, 10 deletions
diff --git a/tools/render-test/options.cpp b/tools/render-test/options.cpp index 3d5df6f62..fec934afc 100644 --- a/tools/render-test/options.cpp +++ b/tools/render-test/options.cpp @@ -255,6 +255,10 @@ SlangResult parseOptions(int argc, const char*const* argv, Slang::WriterHelper s gOptions.sourceLanguage = sourceLanguage; } + else if( strcmp(arg, "-no-default-entry-point") == 0 ) + { + gOptions.dontAddDefaultEntryPoints = true; + } else { // Lookup diff --git a/tools/render-test/options.h b/tools/render-test/options.h index 1bb4af74c..1048a29f4 100644 --- a/tools/render-test/options.h +++ b/tools/render-test/options.h @@ -62,6 +62,8 @@ struct Options bool performanceProfile = false; + bool dontAddDefaultEntryPoints = false; + Slang::List<Slang::String> renderFeatures; /// Required render features for this test to run Slang::List<Slang::CommandLine::Arg> compileArgs; diff --git a/tools/render-test/slang-support.cpp b/tools/render-test/slang-support.cpp index 9afddc09b..06284e1e3 100644 --- a/tools/render-test/slang-support.cpp +++ b/tools/render-test/slang-support.cpp @@ -149,13 +149,17 @@ static const char computeEntryPointName[] = "computeMain"; if (request.computeShader.name) { - int computeEntryPoint = spAddEntryPointEx(slangRequest, computeTranslationUnit, - computeEntryPointName, - SLANG_STAGE_COMPUTE, - (int)rawEntryPointTypeNames.getCount(), - rawEntryPointTypeNames.getBuffer()); + int computeEntryPoint = 0; + if(!gOptions.dontAddDefaultEntryPoints) + { + computeEntryPoint = spAddEntryPointEx(slangRequest, computeTranslationUnit, + computeEntryPointName, + SLANG_STAGE_COMPUTE, + (int)rawEntryPointTypeNames.getCount(), + rawEntryPointTypeNames.getBuffer()); - setEntryPointExistentialTypeArgs(computeEntryPoint); + setEntryPointExistentialTypeArgs(computeEntryPoint); + } spSetLineDirectiveMode(slangRequest, SLANG_LINE_DIRECTIVE_MODE_NONE); const SlangResult res = spCompile(slangRequest); @@ -180,11 +184,16 @@ static const char computeEntryPointName[] = "computeMain"; } else { - int vertexEntryPoint = spAddEntryPointEx(slangRequest, vertexTranslationUnit, vertexEntryPointName, SLANG_STAGE_VERTEX, (int)rawEntryPointTypeNames.getCount(), rawEntryPointTypeNames.getBuffer()); - int fragmentEntryPoint = spAddEntryPointEx(slangRequest, fragmentTranslationUnit, fragmentEntryPointName, SLANG_STAGE_FRAGMENT, (int)rawEntryPointTypeNames.getCount(), rawEntryPointTypeNames.getBuffer()); + int vertexEntryPoint = 0; + int fragmentEntryPoint = 1; + if( !gOptions.dontAddDefaultEntryPoints ) + { + vertexEntryPoint = spAddEntryPointEx(slangRequest, vertexTranslationUnit, vertexEntryPointName, SLANG_STAGE_VERTEX, (int)rawEntryPointTypeNames.getCount(), rawEntryPointTypeNames.getBuffer()); + fragmentEntryPoint = spAddEntryPointEx(slangRequest, fragmentTranslationUnit, fragmentEntryPointName, SLANG_STAGE_FRAGMENT, (int)rawEntryPointTypeNames.getCount(), rawEntryPointTypeNames.getBuffer()); - setEntryPointExistentialTypeArgs(vertexEntryPoint); - setEntryPointExistentialTypeArgs(fragmentEntryPoint); + setEntryPointExistentialTypeArgs(vertexEntryPoint); + setEntryPointExistentialTypeArgs(fragmentEntryPoint); + } const SlangResult res = spCompile(slangRequest); if (auto diagnostics = spGetDiagnosticOutput(slangRequest)) |
