summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/render-test/slang-support.cpp17
-rw-r--r--tools/slang-test/main.cpp7
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 },