Add #include processing to glslang (though turned off by default).
When an include directive is recognized by the preprocessor, it executes a callback on the filepath argument to obtain the file contents. That way the compilation client can deal with the file system, include paths, etc. Currently only accepts quoted filepaths -- no angle brackets yet.
This commit is contained in:
committed by
Lei Zhang
parent
1363fcd60b
commit
7be4b8282d
@@ -700,8 +700,8 @@ void CompileAndLinkShaders()
|
||||
shader->setStrings(shaderStrings, 1);
|
||||
if (Options & EOptionOutputPreprocessed) {
|
||||
std::string str;
|
||||
if (shader->preprocess(&Resources, defaultVersion, ENoProfile,
|
||||
false, false, messages, &str)) {
|
||||
if (shader->preprocess(&Resources, defaultVersion, ENoProfile, false, false,
|
||||
messages, &str, glslang::TShader::ForbidInclude())) {
|
||||
PutsIfNonEmpty(str.c_str());
|
||||
} else {
|
||||
CompileFailed = true;
|
||||
|
||||
Reference in New Issue
Block a user