diff options
Diffstat (limited to 'tools')
| -rw-r--r-- | tools/render-test/slang-support.cpp | 12 | ||||
| -rw-r--r-- | tools/slang-test/main.cpp | 22 |
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) { |
