SpirvShader: 2-way imported extensions lookup The `extensions` map of ID -> extension has been renamed to `extensionsByID`. The `extensionsImported` is a new set containing the list of extension names that have been imported. This set can be efficiently queried to determine whether a particular extension is in use. Bug: b/145351270 Change-Id: I74bbfb2e5b95862c5381037f259262a9d45b6624 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/40092 Tested-by: Ben Clayton <bclayton@google.com> Reviewed-by: Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
diff --git a/src/Pipeline/SpirvShader.cpp b/src/Pipeline/SpirvShader.cpp index 0df1cfd..2257017 100644 --- a/src/Pipeline/SpirvShader.cpp +++ b/src/Pipeline/SpirvShader.cpp
@@ -442,7 +442,8 @@ UNSUPPORTED("SPIR-V Extension: %s", name); break; } - extensions.emplace(id, ext); + extensionsByID.emplace(id, ext); + extensionsImported.emplace(ext.name); break; } case spv::OpName: