aboutsummaryrefslogtreecommitdiff
path: root/source/opt/feature_manager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/opt/feature_manager.cpp')
-rw-r--r--source/opt/feature_manager.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/source/opt/feature_manager.cpp b/source/opt/feature_manager.cpp
index ad70c1e4..a5902716 100644
--- a/source/opt/feature_manager.cpp
+++ b/source/opt/feature_manager.cpp
@@ -39,8 +39,7 @@ void FeatureManager::AddExtension(Instruction* ext) {
assert(ext->opcode() == SpvOpExtension &&
"Expecting an extension instruction.");
- const std::string name =
- reinterpret_cast<const char*>(ext->GetInOperand(0u).words.data());
+ const std::string name = ext->GetInOperand(0u).AsString();
Extension extension;
if (GetExtensionFromString(name.c_str(), &extension)) {
extensions_.Add(extension);
@@ -80,6 +79,8 @@ void FeatureManager::AddExtInstImportIds(Module* module) {
extinst_importid_GLSLstd450_ = module->GetExtInstImportId("GLSL.std.450");
extinst_importid_OpenCL100DebugInfo_ =
module->GetExtInstImportId("OpenCL.DebugInfo.100");
+ extinst_importid_Shader100DebugInfo_ =
+ module->GetExtInstImportId("NonSemantic.Shader.DebugInfo.100");
}
bool operator==(const FeatureManager& a, const FeatureManager& b) {
@@ -107,6 +108,11 @@ bool operator==(const FeatureManager& a, const FeatureManager& b) {
return false;
}
+ if (a.extinst_importid_Shader100DebugInfo_ !=
+ b.extinst_importid_Shader100DebugInfo_) {
+ return false;
+ }
+
return true;
}
} // namespace opt