summaryrefslogtreecommitdiffstats
path: root/tools/render-test/slang-support.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/render-test/slang-support.cpp')
-rw-r--r--tools/render-test/slang-support.cpp16
1 files changed, 6 insertions, 10 deletions
diff --git a/tools/render-test/slang-support.cpp b/tools/render-test/slang-support.cpp
index dbddd9c4f..bf8b7b9c7 100644
--- a/tools/render-test/slang-support.cpp
+++ b/tools/render-test/slang-support.cpp
@@ -38,6 +38,8 @@ struct SlangShaderCompilerWrapper : public ShaderCompiler
int vertexTranslationUnit = 0;
int fragmentTranslationUnit = 0;
+ char const* vertexEntryPointName = request.vertexShader.name;
+ char const* fragmentEntryPointName = request.fragmentShader.name;
if( sourceLanguage == SLANG_SOURCE_LANGUAGE_GLSL )
{
// GLSL presents unique challenges because, frankly, it got the whole
@@ -48,13 +50,13 @@ struct SlangShaderCompilerWrapper : public ShaderCompiler
vertexTranslationUnit = spAddTranslationUnit(slangRequest, sourceLanguage, nullptr);
spAddTranslationUnitSourceString(slangRequest, vertexTranslationUnit, request.source.path, request.source.text);
-
spTranslationUnit_addPreprocessorDefine(slangRequest, vertexTranslationUnit, "__GLSL_VERTEX__", "1");
+ vertexEntryPointName = "main";
fragmentTranslationUnit = spAddTranslationUnit(slangRequest, sourceLanguage, nullptr);
spAddTranslationUnitSourceString(slangRequest, fragmentTranslationUnit, request.source.path, request.source.text);
-
spTranslationUnit_addPreprocessorDefine(slangRequest, fragmentTranslationUnit, "__GLSL_FRAGMENT__", "1");
+ fragmentEntryPointName = "main";
}
else
{
@@ -72,8 +74,8 @@ struct SlangShaderCompilerWrapper : public ShaderCompiler
spSetCompileFlags(slangRequest, SLANG_COMPILE_FLAG_NO_CHECKING);
}
- int vertexEntryPoint = spAddEntryPoint(slangRequest, vertexTranslationUnit, request.vertexShader.name, spFindProfile(slangSession, request.vertexShader.profile));
- int fragmentEntryPoint = spAddEntryPoint(slangRequest, fragmentTranslationUnit, request.fragmentShader.name, spFindProfile(slangSession, request.fragmentShader.profile));
+ int vertexEntryPoint = spAddEntryPoint(slangRequest, vertexTranslationUnit, vertexEntryPointName, spFindProfile(slangSession, request.vertexShader.profile));
+ int fragmentEntryPoint = spAddEntryPoint(slangRequest, fragmentTranslationUnit, fragmentEntryPointName, spFindProfile(slangSession, request.fragmentShader.profile));
int compileErr = spCompile(slangRequest);
if(auto diagnostics = spGetDiagnosticOutput(slangRequest))
@@ -90,12 +92,6 @@ struct SlangShaderCompilerWrapper : public ShaderCompiler
ShaderCompileRequest innerRequest = request;
- if( sourceLanguage != SLANG_SOURCE_LANGUAGE_GLSL )
- {
- char const* translatedCode = spGetTranslationUnitSource(slangRequest, 0);
- innerRequest.source.text = translatedCode;
- }
-
char const* vertexCode = spGetEntryPointSource(slangRequest, vertexEntryPoint);
char const* fragmentCode = spGetEntryPointSource(slangRequest, fragmentEntryPoint);