layers: Refactor threading layer to use chassis
Added:
thread_safety_validation.h
thread_safety.cpp (codegen)
thread_safety.h (codegen)
Removed:
threading.cpp
threading.h
thread_check.h (codegen)
Also modified the chassis to allow control over pre/post calls on
a per-validation-object basis.
Change-Id: I63600d6e7ea1e14ae4796fe949d36420c7dd4dec
diff --git a/scripts/lvl_genvk.py b/scripts/lvl_genvk.py
index 3e97bc2..e5f4ecf 100644
--- a/scripts/lvl_genvk.py
+++ b/scripts/lvl_genvk.py
@@ -111,11 +111,34 @@
protectFeature = protect
# ValidationLayer Generators
- # Options for threading layer
- genOpts['thread_check.h'] = [
+ # Options for thread safety header code-generation
+ genOpts['thread_safety.h'] = [
ThreadOutputGenerator,
ThreadGeneratorOptions(
- filename = 'thread_check.h',
+ filename = 'thread_safety.h',
+ directory = directory,
+ apiname = 'vulkan',
+ profile = None,
+ versions = featuresPat,
+ emitversions = featuresPat,
+ defaultExtensions = 'vulkan',
+ addExtensions = addExtensionsPat,
+ removeExtensions = removeExtensionsPat,
+ emitExtensions = emitExtensionsPat,
+ prefixText = prefixStrings + vkPrefixStrings,
+ protectFeature = False,
+ apicall = 'VKAPI_ATTR ',
+ apientry = 'VKAPI_CALL ',
+ apientryp = 'VKAPI_PTR *',
+ alignFuncParam = 48,
+ expandEnumerants = False)
+ ]
+
+ # Options for thread safety source code-generation
+ genOpts['thread_safety.cpp'] = [
+ ThreadOutputGenerator,
+ ThreadGeneratorOptions(
+ filename = 'thread_safety.cpp',
directory = directory,
apiname = 'vulkan',
profile = None,
@@ -592,7 +615,7 @@
from cgenerator import CGeneratorOptions, COutputGenerator
# ValidationLayer Generator Modifications
- from threading_generator import ThreadGeneratorOptions, ThreadOutputGenerator
+ from thread_safety_generator import ThreadGeneratorOptions, ThreadOutputGenerator
from parameter_validation_generator import ParameterValidationGeneratorOptions, ParameterValidationOutputGenerator
from object_tracker_generator import ObjectTrackerGeneratorOptions, ObjectTrackerOutputGenerator
from dispatch_table_helper_generator import DispatchTableHelperOutputGenerator, DispatchTableHelperOutputGeneratorOptions