From cea3654fac151d410e7dd88a1325f75ec7401e57 Mon Sep 17 00:00:00 2001 From: Mark Lobodzinski Date: Tue, 6 Sep 2016 16:12:23 -0600 Subject: 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 --- build-android/android-generate.bat | 6 +----- build-android/android-generate.sh | 7 ++----- 2 files changed, 3 insertions(+), 10 deletions(-) (limited to 'build-android') diff --git a/build-android/android-generate.bat b/build-android/android-generate.bat index a70642ec..8023742c 100644 --- a/build-android/android-generate.bat +++ b/build-android/android-generate.bat @@ -24,11 +24,10 @@ python ../vk-generate.py Android dispatch-table-ops layer > generated/include/vk 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 @@ for %%G in (core_validation image object_tracker parameter_validation swapchain 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 diff --git a/build-android/android-generate.sh b/build-android/android-generate.sh index fb0e8678..847828f8 100755 --- a/build-android/android-generate.sh +++ b/build-android/android-generate.sh @@ -26,9 +26,9 @@ python ../vk-generate.py Android dispatch-table-ops layer > generated/include/vk 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 ) ( cd generated/include; python ../../../genvk.py paramchecker -registry ../../../vk.xml parameter_validation.h ) +( cd generated/include; python ../../../genvk.py unique_objects -registry ../../../vk.xml unique_objects_wrappers.h ) cp -f ../layers/vk_layer_config.cpp generated/common/ cp -f ../layers/vk_layer_extension_utils.cpp generated/common/ @@ -40,7 +40,7 @@ cp -f ../layers/descriptor_sets.cpp generated/common/ # 1 to 1 correspondence -- one layer one source file; additional files are copied # at fixup step declare layers=(core_validation image object_tracker parameter_validation swapchain threading unique_objects) -declare src_dirs=(../layers ../layers ../layers ../layers ../layers ../layers generated/include) +declare src_dirs=(../layers ../layers ../layers ../layers ../layers ../layers ../layers) SRC_ROOT=generated/layer-src BUILD_ROOT=generated/gradle-build @@ -63,7 +63,4 @@ cp generated/common/descriptor_sets.cpp ${SRC_ROOT}/core_validation/descriptor_ cp generated/include/vk_safe_struct.cpp ${SRC_ROOT}/core_validation/vk_safe_struct.cpp mv generated/include/vk_safe_struct.cpp ${SRC_ROOT}/unique_objects/vk_safe_struct.cpp -# fixup - remove copied files from generated/include -rm generated/include/unique_objects.cpp - exit 0 -- cgit v1.2.3