summaryrefslogtreecommitdiffstats
path: root/tools/render-test
diff options
context:
space:
mode:
Diffstat (limited to 'tools/render-test')
-rw-r--r--tools/render-test/options.cpp4
-rw-r--r--tools/render-test/options.h2
-rw-r--r--tools/render-test/slang-support.cpp29
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))