layers: Re-architect parameter validation layer
Changed the codegen to autogenerate validation functions for any new
APIs without user intervention. Manual updates are only necessary to
extend PV functionality.
- parameter_validation.h is now checked into the layers directory
- parameter_validation.cpp is now generated
- parameter_validation_utils.cpp is new and contains any custom
(non-generated) or housekeeping functions.
- parameter_validation_utils.h is deprecated
- updated database for new VUID coverage
Change-Id: Ib9261894386145573ba9e8906ba4ad4e9fecbdfd
diff --git a/scripts/lvl_genvk.py b/scripts/lvl_genvk.py
index 49bf2cb..194106e 100644
--- a/scripts/lvl_genvk.py
+++ b/scripts/lvl_genvk.py
@@ -20,7 +20,7 @@
from cgenerator import CGeneratorOptions, COutputGenerator
# LoaderAndValidationLayer Generator Modifications
from threading_generator import ThreadGeneratorOptions, ThreadOutputGenerator
-from parameter_validation_generator import ParamCheckerGeneratorOptions, ParamCheckerOutputGenerator
+from parameter_validation_generator import ParameterValidationGeneratorOptions, ParameterValidationOutputGenerator
from unique_objects_generator import UniqueObjectsGeneratorOptions, UniqueObjectsOutputGenerator
from object_tracker_generator import ObjectTrackerGeneratorOptions, ObjectTrackerOutputGenerator
from dispatch_table_helper_generator import DispatchTableHelperOutputGenerator, DispatchTableHelperOutputGeneratorOptions
@@ -122,11 +122,12 @@
alignFuncParam = 48)
]
+
# Options for parameter validation layer
- genOpts['parameter_validation.h'] = [
- ParamCheckerOutputGenerator,
- ParamCheckerGeneratorOptions(
- filename = 'parameter_validation.h',
+ genOpts['parameter_validation.cpp'] = [
+ ParameterValidationOutputGenerator,
+ ParameterValidationGeneratorOptions(
+ filename = 'parameter_validation.cpp',
directory = directory,
apiname = 'vulkan',
profile = None,