guanghuafan | b79e94a | 2016-03-29 11:08:23 -0700 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | |
| 3 | # Copyright 2015 The Android Open Source Project |
| 4 | # Copyright (C) 2015 Valve Corporation |
| 5 | |
| 6 | # Licensed under the Apache License, Version 2.0 (the "License"); |
| 7 | # you may not use this file except in compliance with the License. |
| 8 | # You may obtain a copy of the License at |
| 9 | |
| 10 | # http://www.apache.org/licenses/LICENSE-2.0 |
| 11 | |
| 12 | # Unless required by applicable law or agreed to in writing, software |
| 13 | # distributed under the License is distributed on an "AS IS" BASIS, |
| 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 15 | # See the License for the specific language governing permissions and |
| 16 | # limitations under the License. |
| 17 | |
| 18 | dir=$(cd -P -- "$(dirname -- "$0")" && pwd -P) |
| 19 | cd $dir |
| 20 | |
| 21 | rm -rf generated |
| 22 | mkdir -p generated/include generated/common |
| 23 | |
Mark Lobodzinski | 6849884 | 2016-12-12 12:05:44 -0700 | [diff] [blame] | 24 | python3 ../scripts/vk_helper.py --gen_struct_wrappers ../include/vulkan/vulkan.h --abs_out_dir generated/include |
guanghuafan | b79e94a | 2016-03-29 11:08:23 -0700 | [diff] [blame] | 25 | |
Mark Lobodzinski | 6cb3e66 | 2016-12-27 14:47:47 -0700 | [diff] [blame^] | 26 | ( cd generated/include; python3 ../../../scripts/lvl_genvk.py -registry ../../../scripts/vk.xml vk_enum_string_helper.h ) |
Mark Lobodzinski | 6849884 | 2016-12-12 12:05:44 -0700 | [diff] [blame] | 27 | ( cd generated/include; python3 ../../../scripts/lvl_genvk.py -registry ../../../scripts/vk.xml vk_dispatch_table_helper.h ) |
| 28 | ( cd generated/include; python3 ../../../scripts/lvl_genvk.py -registry ../../../scripts/vk.xml thread_check.h ) |
| 29 | ( cd generated/include; python3 ../../../scripts/lvl_genvk.py -registry ../../../scripts/vk.xml parameter_validation.h ) |
| 30 | ( cd generated/include; python3 ../../../scripts/lvl_genvk.py -registry ../../../scripts/vk.xml unique_objects_wrappers.h ) |
guanghuafan | b79e94a | 2016-03-29 11:08:23 -0700 | [diff] [blame] | 31 | |
| 32 | cp -f ../layers/vk_layer_config.cpp generated/common/ |
| 33 | cp -f ../layers/vk_layer_extension_utils.cpp generated/common/ |
| 34 | cp -f ../layers/vk_layer_utils.cpp generated/common/ |
| 35 | cp -f ../layers/vk_layer_table.cpp generated/common/ |
Tobin Ehlis | 0a43bde | 2016-05-03 08:31:08 -0600 | [diff] [blame] | 36 | cp -f ../layers/descriptor_sets.cpp generated/common/ |
guanghuafan | b79e94a | 2016-03-29 11:08:23 -0700 | [diff] [blame] | 37 | |
| 38 | # layer names and their original source files directory |
| 39 | # 1 to 1 correspondence -- one layer one source file; additional files are copied |
| 40 | # at fixup step |
Mark Lobodzinski | 1b4beeb | 2016-06-29 13:58:52 -0600 | [diff] [blame] | 41 | declare layers=(core_validation image object_tracker parameter_validation swapchain threading unique_objects) |
Mark Lobodzinski | dc3bd85 | 2016-09-06 16:12:23 -0600 | [diff] [blame] | 42 | declare src_dirs=(../layers ../layers ../layers ../layers ../layers ../layers ../layers) |
guanghuafan | b79e94a | 2016-03-29 11:08:23 -0700 | [diff] [blame] | 43 | |
| 44 | SRC_ROOT=generated/layer-src |
| 45 | BUILD_ROOT=generated/gradle-build |
| 46 | |
| 47 | # create build-script root directory |
| 48 | cp -fr gradle-templates generated/gradle-build |
| 49 | for ((i = 0; i < ${#layers[@]}; i++)) |
| 50 | do |
| 51 | # copy the sources |
| 52 | mkdir -p ${SRC_ROOT}/${layers[i]} |
| 53 | cp -f ${src_dirs[i]}/${layers[i]}.cpp ${SRC_ROOT}/${layers[i]}/ |
| 54 | |
| 55 | # copy build scripts |
| 56 | mkdir -p ${BUILD_ROOT}/${layers[i]} |
| 57 | echo "apply from: \"../common.gradle\"" > ${BUILD_ROOT}/${layers[i]}/build.gradle |
| 58 | done |
| 59 | |
| 60 | # fixup - unique_objects need one more file |
Tobin Ehlis | 0a43bde | 2016-05-03 08:31:08 -0600 | [diff] [blame] | 61 | cp generated/common/descriptor_sets.cpp ${SRC_ROOT}/core_validation/descriptor_sets.cpp |
Cody Northrop | 0f808b3 | 2016-04-07 13:50:07 -0600 | [diff] [blame] | 62 | cp generated/include/vk_safe_struct.cpp ${SRC_ROOT}/core_validation/vk_safe_struct.cpp |
guanghuafan | b79e94a | 2016-03-29 11:08:23 -0700 | [diff] [blame] | 63 | mv generated/include/vk_safe_struct.cpp ${SRC_ROOT}/unique_objects/vk_safe_struct.cpp |
| 64 | |
guanghuafan | b79e94a | 2016-03-29 11:08:23 -0700 | [diff] [blame] | 65 | exit 0 |