layers: Fix white_list string comparison data
Existing extension name comparisons produced false positives when
extensions shared common roots. Moved to a set of explicit strings.
Change-Id: I2951927ddfaedce1e7a9784d3b261a1fab830103
diff --git a/scripts/helper_file_generator.py b/scripts/helper_file_generator.py
index e47d759..d4187ae 100644
--- a/scripts/helper_file_generator.py
+++ b/scripts/helper_file_generator.py
@@ -498,6 +498,7 @@
'#include <string>',
'#include <unordered_map>',
'#include <utility>',
+ '#include <set>',
'',
'#include <vulkan/vulkan.h>',
'']
@@ -638,9 +639,9 @@
'};'])
# Output reference lists of instance/device extension names
- struct.extend(['', 'static const char * const k%sExtensionNames = ' % type])
- struct.extend([guarded(info['ifdef'], ' %s' % info['define']) for ext_name, info in extension_items])
- struct.extend([';', ''])
+ struct.extend(['', 'static const std::set<std::string> k%sExtensionNames = {' % type])
+ struct.extend([guarded(info['ifdef'], ' %s,' % info['define']) for ext_name, info in extension_items])
+ struct.extend(['};', ''])
output.extend(struct)
output.extend(['', '#endif // VK_EXTENSION_HELPER_H_'])