diff options
Diffstat (limited to 'tools')
| -rw-r--r-- | tools/render-test/slang-support.cpp | 17 | ||||
| -rw-r--r-- | tools/slang-test/main.cpp | 7 |
2 files changed, 19 insertions, 5 deletions
diff --git a/tools/render-test/slang-support.cpp b/tools/render-test/slang-support.cpp index 2465bfd99..cfbc24382 100644 --- a/tools/render-test/slang-support.cpp +++ b/tools/render-test/slang-support.cpp @@ -34,7 +34,19 @@ 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) + { + spSetCompileFlags(slangRequest, SLANG_COMPILE_FLAG_NO_CHECKING); + } + + // Preocess any additional command-line options specified for Slang using + // the `-xslang <arg>` option to `render-test`. spProcessCommandLineArguments(slangRequest, &gOptions.slangArgs[0], gOptions.slangArgCount); + int computeTranslationUnit = 0; int vertexTranslationUnit = 0; int fragmentTranslationUnit = 0; @@ -76,11 +88,6 @@ struct SlangShaderCompilerWrapper : public ShaderCompiler } - // If we aren't dealing with true Slang input, then don't enable checking. - if (sourceLanguage != SLANG_SOURCE_LANGUAGE_SLANG) - { - spSetCompileFlags(slangRequest, SLANG_COMPILE_FLAG_NO_CHECKING); - } ShaderProgram * result = nullptr; Slang::List<const char*> rawTypeNames; for (auto typeName : request.entryPointTypeArguments) diff --git a/tools/slang-test/main.cpp b/tools/slang-test/main.cpp index 0210b2558..5c05cc4ce 100644 --- a/tools/slang-test/main.cpp +++ b/tools/slang-test/main.cpp @@ -1207,6 +1207,11 @@ TestResult runSlangComputeComparisonTest(TestInput& input) return runComputeComparisonImpl(input, "-slang -compute", input.outputStem + ".expected.txt"); } +TestResult runHLSLComputeTest(TestInput& input) +{ + return runComputeComparisonImpl(input, "-hlsl-rewrite -compute", input.outputStem + ".expected.txt"); +} + TestResult runSlangRenderComputeComparisonTest(TestInput& input) { return runComputeComparisonImpl(input, "-slang -gcompute", input.outputStem + ".expected.txt"); @@ -1411,6 +1416,7 @@ TestResult runTest( { "COMPARE_HLSL_CROSS_COMPILE_RENDER", &runHLSLCrossCompileRenderComparisonTest}, { "COMPARE_HLSL_GLSL_RENDER", &runHLSLAndGLSLComparisonTest }, { "COMPARE_COMPUTE", runSlangComputeComparisonTest}, + { "HLSL_COMPUTE", runHLSLComputeTest}, { "COMPARE_RENDER_COMPUTE", &runSlangRenderComputeComparisonTest }, #else @@ -1419,6 +1425,7 @@ TestResult runTest( { "COMPARE_HLSL_CROSS_COMPILE_RENDER", &skipTest}, { "COMPARE_HLSL_GLSL_RENDER", &skipTest }, { "COMPARE_COMPUTE", &skipTest}, + { "HLSL_COMPUTE", &skipTest}, { "COMPARE_RENDER_COMPUTE", &skipTest }, #endif { "COMPARE_GLSL", &runGLSLComparisonTest }, |
