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