diff options
author | Camden <camden@lunarg.com> | 2019-08-05 11:28:57 -0600 |
---|---|---|
committer | camden-lunarg <51965765+camden-lunarg@users.noreply.github.com> | 2019-08-15 09:41:23 -0600 |
commit | 3231dcc258813ea5f53559c6c3640a382397d442 (patch) | |
tree | bdf730dc9423caecac0ab18c448cc631f6a3fc4d /scripts | |
parent | f63aa978954bf12c12625a72ea226e09f95cf6a9 (diff) | |
download | vulkan-validation-layers-3231dcc258813ea5f53559c6c3640a382397d442.tar.gz |
layers: Add Best Practices to Enable list
Change-Id: I15027131b6c8e0857aa300dbeae23d7845632331
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/layer_chassis_generator.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/scripts/layer_chassis_generator.py b/scripts/layer_chassis_generator.py index 1b6e9d998..332363f80 100644 --- a/scripts/layer_chassis_generator.py +++ b/scripts/layer_chassis_generator.py @@ -265,6 +265,10 @@ typedef enum ValidationCheckDisables { VALIDATION_CHECK_DISABLE_IMAGE_LAYOUT_VALIDATION, } ValidationCheckDisables; +typedef enum VkValidationFeatureEnable { + VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES, +} VkValidationFeatureEnable; + // CHECK_DISABLED struct is a container for bools that can block validation checks from being performed. // These bools are all "false" by default meaning that all checks are enabled. Enum values can be specified @@ -551,6 +555,10 @@ static const std::unordered_map<std::string, VkValidationFeatureEnableEXT> VkVal {"VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT", VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT}, }; +static const std::unordered_map<std::string, VkValidationFeatureEnable> VkValFeatureEnableLookup2 = { + {"VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES", VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES}, +}; + static const std::unordered_map<std::string, ValidationCheckDisables> ValidationDisableLookup = { {"VALIDATION_CHECK_DISABLE_COMMAND_BUFFER_STATE", VALIDATION_CHECK_DISABLE_COMMAND_BUFFER_STATE}, {"VALIDATION_CHECK_DISABLE_OBJECT_IN_USE", VALIDATION_CHECK_DISABLE_OBJECT_IN_USE}, @@ -630,6 +638,16 @@ void SetValidationFeatureEnable(CHECK_ENABLED *enable_data, const VkValidationFe } } +void SetValidationFeatureEnable(CHECK_ENABLED *enable_data, const VkValidationFeatureEnable feature_enable) { + switch(feature_enable) { + case VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES: + enable_data->best_practices = true; + break; + default: + break; + } +} + // Set the local disable flag for settings specified through the VK_EXT_validation_flags extension void SetValidationFlags(CHECK_DISABLED* disables, const VkValidationFlagsEXT* val_flags_struct) { for (uint32_t i = 0; i < val_flags_struct->disabledValidationCheckCount; ++i) { @@ -674,6 +692,11 @@ void SetLocalEnableSetting(std::string list_of_enables, std::string delimiter, C auto result = VkValFeatureEnableLookup.find(token); if (result != VkValFeatureEnableLookup.end()) { SetValidationFeatureEnable(enables, result->second); + } else { + auto result2 = VkValFeatureEnableLookup2.find(token); + if (result2 != VkValFeatureEnableLookup2.end()) { + SetValidationFeatureEnable(enables, result2->second); + } } } list_of_enables.erase(0, pos + delimiter.length()); |