Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/KhronosGroup/SPIRV-Cross.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spirv_glsl.cpp')
-rw-r--r--spirv_glsl.cpp16
1 files changed, 13 insertions, 3 deletions
diff --git a/spirv_glsl.cpp b/spirv_glsl.cpp
index ca68e87f..32a4968c 100644
--- a/spirv_glsl.cpp
+++ b/spirv_glsl.cpp
@@ -2551,7 +2551,17 @@ void CompilerGLSL::replace_illegal_names(const unordered_set<string> &keywords)
return;
auto &m = meta->decoration;
- if (m.alias.compare(0, 3, "gl_") == 0 || keywords.find(m.alias) != end(keywords))
+ if (keywords.find(m.alias) != end(keywords))
+ m.alias = join("_", m.alias);
+ });
+
+ ir.for_each_typed_id<SPIRFunction>([&](uint32_t, const SPIRFunction &func) {
+ auto *meta = ir.find_meta(func.self);
+ if (!meta)
+ return;
+
+ auto &m = meta->decoration;
+ if (keywords.find(m.alias) != end(keywords))
m.alias = join("_", m.alias);
});
@@ -2561,11 +2571,11 @@ void CompilerGLSL::replace_illegal_names(const unordered_set<string> &keywords)
return;
auto &m = meta->decoration;
- if (m.alias.compare(0, 3, "gl_") == 0 || keywords.find(m.alias) != end(keywords))
+ if (keywords.find(m.alias) != end(keywords))
m.alias = join("_", m.alias);
for (auto &memb : meta->members)
- if (memb.alias.compare(0, 3, "gl_") == 0 || keywords.find(memb.alias) != end(keywords))
+ if (keywords.find(memb.alias) != end(keywords))
memb.alias = join("_", memb.alias);
});
}