summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/render-test/slang-support.cpp12
-rw-r--r--tools/slang-test/main.cpp22
2 files changed, 16 insertions, 18 deletions
diff --git a/tools/render-test/slang-support.cpp b/tools/render-test/slang-support.cpp
index a75e35bd4..2a6401d5b 100644
--- a/tools/render-test/slang-support.cpp
+++ b/tools/render-test/slang-support.cpp
@@ -34,13 +34,13 @@ struct SlangShaderCompilerWrapper : public ShaderCompiler
}
spAddPreprocessorDefine(slangRequest, langDefine, "1");
- // If we aren't dealing with true Slang input, then don't enable checking.
- //
- // Note: do this before using command-line arguments to set flags, so
- // that we don't accidentally clobber other flags.
- if (sourceLanguage != SLANG_SOURCE_LANGUAGE_SLANG)
+ // If we are dealing with GLSL input, then we need to set up
+ // Slang to pass through to glslang instead of actually running
+ // the compiler (this is a workaround to make direct comparisons
+ // possible)
+ if (sourceLanguage == SLANG_SOURCE_LANGUAGE_GLSL)
{
- spSetCompileFlags(slangRequest, SLANG_COMPILE_FLAG_NO_CHECKING);
+ spSetPassThrough(slangRequest, SLANG_PASS_THROUGH_GLSLANG);
}
// Preocess any additional command-line options specified for Slang using
diff --git a/tools/slang-test/main.cpp b/tools/slang-test/main.cpp
index 267f62bfe..4edd8272d 100644
--- a/tools/slang-test/main.cpp
+++ b/tools/slang-test/main.cpp
@@ -30,6 +30,10 @@ enum OutputMode
// need to output test results in a way that the AppVeyor
// environment can pick up and display.
kOutputMode_AppVeyor,
+
+ // We currently don't specialize for Travis, but maybe
+ // we should.
+ kOutputMode_Travis,
};
struct TestCategory;
@@ -153,6 +157,7 @@ void parseOptions(int* argc, char** argv)
}
else if( strcmp(arg, "-travis") == 0 )
{
+ options.outputMode = kOutputMode_Travis;
options.dumpOutputOnFailure = true;
}
else if( strcmp(arg, "-category") == 0 )
@@ -839,13 +844,14 @@ TestResult runCrossCompilerTest(TestInput& input)
actualSpawner.pushArgument(filePath);
expectedSpawner.pushArgument(filePath + ".glsl");
+ expectedSpawner.pushArgument("-pass-through");
+ expectedSpawner.pushArgument("glslang");
for( auto arg : input.testOptions->args )
{
actualSpawner.pushArgument(arg);
expectedSpawner.pushArgument(arg);
}
- expectedSpawner.pushArgument("-no-checking");
if (spawnAndWait(outputStem, expectedSpawner) != kOSError_None)
{
@@ -1052,8 +1058,6 @@ TestResult doGLSLComparisonTestRun(
spawner.pushArgument(passThrough);
}
- spawner.pushArgument("-no-checking");
-
spawner.pushArgument("-target");
spawner.pushArgument("spirv-assembly");
@@ -1476,6 +1480,8 @@ void handleTestResult(
String const& testName,
TestResult testResult)
{
+ context->totalTestCount++;
+
switch( testResult )
{
case kTestResult_Fail:
@@ -1499,7 +1505,7 @@ void handleTestResult(
// printf("OUTPUT_MODE: %d\n", options.outputMode);
switch( options.outputMode )
{
- case kOutputMode_Default:
+ default :
{
char const* resultString = "UNEXPECTED";
switch( testResult )
@@ -1511,7 +1517,6 @@ void handleTestResult(
assert(!"unexpected");
break;
}
-
printf("%s test: '%S'\n", resultString, testName.ToWString().begin());
}
break;
@@ -1557,10 +1562,6 @@ void handleTestResult(
}
}
break;
-
- default:
- assert(!"unexpected");
- break;
}
}
@@ -1645,9 +1646,6 @@ void runTestsOnFile(
continue;
}
- context->totalTestCount++;
-
-
String outputStem = filePath;
if(subTestIndex != 0)
{