Layers: Implement unique_objects layer using vk.xml
UniqueObjects was the final LVL layer not using vk.xml for codegen.
The new implementation follows the threading layer model which
(outside of safe_struct dependencies) is more tolerant of API
changes. Also updated for structure and style.
build-android/android-generate.bat - Updated for build
build-android/android-generate.sh - Updated for build
generator.py - Added Unique Objects Generator
genvk.py - Added call to U_O generator
layers/CMakeLists.txt - Updated for build
layers/unique_objects.cpp - New: manually generated code
layers/unique_objects.h - Now a true header file
vk-layer-generate.py - killed!
Change-Id: I0d57871dfd2600829502f0bffd7cf6f926b7d5e7
diff --git a/build-android/android-generate.bat b/build-android/android-generate.bat
index a70642e..8023742 100644
--- a/build-android/android-generate.bat
+++ b/build-android/android-generate.bat
@@ -24,11 +24,10 @@
python ../vk_helper.py --gen_enum_string_helper ../include/vulkan/vulkan.h --abs_out_dir generated/include
python ../vk_helper.py --gen_struct_wrappers ../include/vulkan/vulkan.h --abs_out_dir generated/include
-python ../vk-layer-generate.py Android unique_objects ../include/vulkan/vulkan.h > generated/include/unique_objects.cpp
-
cd generated/include
python ../../../genvk.py threading -registry ../../../vk.xml thread_check.h
python ../../../genvk.py paramchecker -registry ../../../vk.xml parameter_validation.h
+python ../../../genvk.py unique_objects -registry ../../../vk.xml unique_objects_wrappers.h
cd ../..
copy /Y ..\layers\vk_layer_config.cpp generated\common\
@@ -51,10 +50,7 @@
copy ..\layers\%%G.cpp generated\layer-src\%%G
echo apply from: "../common.gradle" > generated\gradle-build\%%G\build.gradle
)
-copy generated\include\unique_objects.cpp generated\layer-src\unique_objects
copy generated\common\descriptor_sets.cpp generated\layer-src\core_validation\descriptor_sets.cpp
copy generated\include\vk_safe_struct.cpp generated\layer-src\core_validation\vk_safe_struct.cpp
move generated\include\vk_safe_struct.cpp generated\layer-src\unique_objects\vk_safe_struct.cpp
echo apply from: "../common.gradle" > generated\gradle-build\unique_objects\build.gradle
-
-del /f /q generated\include\unique_objects.cpp