1fd4e5da5Sopenharmony_ci# Copyright (c) 2021 Huawei Device Co., Ltd.
2fd4e5da5Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3fd4e5da5Sopenharmony_ci# you may not use this file except in compliance with the License.
4fd4e5da5Sopenharmony_ci# You may obtain a copy of the License at
5fd4e5da5Sopenharmony_ci#
6fd4e5da5Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7fd4e5da5Sopenharmony_ci#
8fd4e5da5Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9fd4e5da5Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10fd4e5da5Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11fd4e5da5Sopenharmony_ci# See the License for the specific language governing permissions and
12fd4e5da5Sopenharmony_ci# limitations under the License.
13fd4e5da5Sopenharmony_ci
14fd4e5da5Sopenharmony_ciimport("//build/ohos.gni")
15fd4e5da5Sopenharmony_ciimport("//third_party/vk-gl-cts/vk_gl_cts.gni")
16fd4e5da5Sopenharmony_ci
17fd4e5da5Sopenharmony_ciconfig("deqp_spirvtool_opt_config") {
18fd4e5da5Sopenharmony_ci  cflags_cc = deqp_common_cflags_cc
19fd4e5da5Sopenharmony_ci  defines = deqp_common_defines
20fd4e5da5Sopenharmony_ci  defines += [
21fd4e5da5Sopenharmony_ci    "SPIRV_CHECK_CONTEXT",
22fd4e5da5Sopenharmony_ci    "SPIRV_COLOR_TERMINAL",
23fd4e5da5Sopenharmony_ci    "SPIRV_LINUX",
24fd4e5da5Sopenharmony_ci    "SPIRV_TIMER_ENABLED",
25fd4e5da5Sopenharmony_ci  ]
26fd4e5da5Sopenharmony_ci}
27fd4e5da5Sopenharmony_ci
28fd4e5da5Sopenharmony_ciconfig("spv_headers_public_config") {
29fd4e5da5Sopenharmony_ci  include_dirs = [ "include" ]
30fd4e5da5Sopenharmony_ci}
31fd4e5da5Sopenharmony_ci
32fd4e5da5Sopenharmony_ciconfig("spvtools_include_gen_dirs") {
33fd4e5da5Sopenharmony_ci  include_dirs = [ "$target_gen_dir" ]
34fd4e5da5Sopenharmony_ci}
35fd4e5da5Sopenharmony_ci
36fd4e5da5Sopenharmony_ciconfig("spvtools_internal_config") {
37fd4e5da5Sopenharmony_ci  include_dirs = [
38fd4e5da5Sopenharmony_ci    ".",
39fd4e5da5Sopenharmony_ci    "//third_party/spirv-headers/include",
40fd4e5da5Sopenharmony_ci  ]
41fd4e5da5Sopenharmony_ci
42fd4e5da5Sopenharmony_ci  configs = [
43fd4e5da5Sopenharmony_ci    ":spv_headers_public_config",
44fd4e5da5Sopenharmony_ci    ":spvtools_include_gen_dirs",
45fd4e5da5Sopenharmony_ci  ]
46fd4e5da5Sopenharmony_ci
47fd4e5da5Sopenharmony_ci  cflags = []
48fd4e5da5Sopenharmony_ci  if (is_clang) {
49fd4e5da5Sopenharmony_ci    cflags += [
50fd4e5da5Sopenharmony_ci      "-Wno-implicit-fallthrough",
51fd4e5da5Sopenharmony_ci      "-Wno-newline-eof",
52fd4e5da5Sopenharmony_ci      "-Wno-unreachable-code-break",
53fd4e5da5Sopenharmony_ci      "-Wno-unreachable-code-return",
54fd4e5da5Sopenharmony_ci    ]
55fd4e5da5Sopenharmony_ci  } else if (!is_win) {
56fd4e5da5Sopenharmony_ci    # Work around a false-positive on a Skia GCC 10 builder.
57fd4e5da5Sopenharmony_ci    cflags += [ "-Wno-format-truncation" ]
58fd4e5da5Sopenharmony_ci  } else {
59fd4e5da5Sopenharmony_ci    # Make MSVC report the correct value for __cplusplus
60fd4e5da5Sopenharmony_ci    cflags += [ "/Zc:__cplusplus" ]
61fd4e5da5Sopenharmony_ci  }
62fd4e5da5Sopenharmony_ci
63fd4e5da5Sopenharmony_ci  if (!is_win) {
64fd4e5da5Sopenharmony_ci    cflags += [ "-std=c++17" ]
65fd4e5da5Sopenharmony_ci  } else {
66fd4e5da5Sopenharmony_ci    cflags += [ "/std:c++17" ]
67fd4e5da5Sopenharmony_ci  }
68fd4e5da5Sopenharmony_ci}
69fd4e5da5Sopenharmony_ci
70fd4e5da5Sopenharmony_ciohos_source_set("deqp_spirvtool_opt_source") {
71fd4e5da5Sopenharmony_ci  sources = [
72fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/include/spirv-tools/instrument.hpp",
73fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/include/spirv-tools/libspirv.h",
74fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/include/spirv-tools/libspirv.hpp",
75fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/include/spirv-tools/linker.hpp",
76fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/include/spirv-tools/optimizer.hpp",
77fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/aggressive_dead_code_elim_pass.cpp",
78fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/aggressive_dead_code_elim_pass.h",
79fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/amd_ext_to_khr.cpp",
80fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/amd_ext_to_khr.h",
81fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/analyze_live_input_pass.cpp",
82fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/analyze_live_input_pass.h",
83fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/basic_block.cpp",
84fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/basic_block.h",
85fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/block_merge_pass.cpp",
86fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/block_merge_pass.h",
87fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/block_merge_util.cpp",
88fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/block_merge_util.h",
89fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/build_module.cpp",
90fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/build_module.h",
91fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/ccp_pass.cpp",
92fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/ccp_pass.h",
93fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/cfg.cpp",
94fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/cfg.h",
95fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/cfg_cleanup_pass.cpp",
96fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/cfg_cleanup_pass.h",
97fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/code_sink.cpp",
98fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/code_sink.h",
99fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/combine_access_chains.cpp",
100fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/combine_access_chains.h",
101fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/compact_ids_pass.cpp",
102fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/compact_ids_pass.h",
103fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/composite.cpp",
104fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/composite.h",
105fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/const_folding_rules.cpp",
106fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/const_folding_rules.h",
107fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/constants.cpp",
108fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/constants.h",
109fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/control_dependence.cpp",
110fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/control_dependence.h",
111fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/convert_to_half_pass.cpp",
112fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/convert_to_half_pass.h",
113fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/convert_to_sampled_image_pass.cpp",
114fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/convert_to_sampled_image_pass.h",
115fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/copy_prop_arrays.cpp",
116fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/copy_prop_arrays.h",
117fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/dataflow.cpp",
118fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/dataflow.h",
119fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/dead_branch_elim_pass.cpp",
120fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/dead_branch_elim_pass.h",
121fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/dead_insert_elim_pass.cpp",
122fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/dead_insert_elim_pass.h",
123fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/dead_variable_elimination.cpp",
124fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/dead_variable_elimination.h",
125fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/debug_info_manager.cpp",
126fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/debug_info_manager.h",
127fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/decoration_manager.cpp",
128fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/decoration_manager.h",
129fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/def_use_manager.cpp",
130fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/def_use_manager.h",
131fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/desc_sroa.cpp",
132fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/desc_sroa.h",
133fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/desc_sroa_util.cpp",
134fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/desc_sroa_util.h",
135fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/dominator_analysis.cpp",
136fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/dominator_analysis.h",
137fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/dominator_tree.cpp",
138fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/dominator_tree.h",
139fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/eliminate_dead_constant_pass.cpp",
140fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/eliminate_dead_constant_pass.h",
141fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/eliminate_dead_functions_pass.cpp",
142fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/eliminate_dead_functions_pass.h",
143fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/eliminate_dead_functions_util.cpp",
144fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/eliminate_dead_functions_util.h",
145fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/eliminate_dead_io_components_pass.cpp",
146fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/eliminate_dead_io_components_pass.h",
147fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/eliminate_dead_members_pass.cpp",
148fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/eliminate_dead_members_pass.h",
149fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/eliminate_dead_output_stores_pass.cpp",
150fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/eliminate_dead_output_stores_pass.h",
151fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/empty_pass.h",
152fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/feature_manager.cpp",
153fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/feature_manager.h",
154fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/fix_func_call_arguments.cpp",
155fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/fix_func_call_arguments.h",
156fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/fix_storage_class.cpp",
157fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/fix_storage_class.h",
158fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/flatten_decoration_pass.cpp",
159fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/flatten_decoration_pass.h",
160fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/fold.cpp",
161fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/fold.h",
162fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/fold_spec_constant_op_and_composite_pass.cpp",
163fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/fold_spec_constant_op_and_composite_pass.h",
164fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/folding_rules.cpp",
165fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/folding_rules.h",
166fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/freeze_spec_constant_value_pass.cpp",
167fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/freeze_spec_constant_value_pass.h",
168fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/function.cpp",
169fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/function.h",
170fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/graphics_robust_access_pass.cpp",
171fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/graphics_robust_access_pass.h",
172fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/if_conversion.cpp",
173fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/if_conversion.h",
174fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/inline_exhaustive_pass.cpp",
175fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/inline_exhaustive_pass.h",
176fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/inline_opaque_pass.cpp",
177fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/inline_opaque_pass.h",
178fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/inline_pass.cpp",
179fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/inline_pass.h",
180fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/inst_bindless_check_pass.cpp",
181fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/inst_bindless_check_pass.h",
182fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/inst_buff_addr_check_pass.cpp",
183fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/inst_buff_addr_check_pass.h",
184fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/inst_debug_printf_pass.cpp",
185fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/inst_debug_printf_pass.h",
186fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/instruction.cpp",
187fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/instruction.h",
188fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/instruction_list.cpp",
189fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/instruction_list.h",
190fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/instrument_pass.cpp",
191fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/instrument_pass.h",
192fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/interface_var_sroa.cpp",
193fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/interface_var_sroa.h",
194fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/interp_fixup_pass.cpp",
195fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/interp_fixup_pass.h",
196fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/invocation_interlock_placement_pass.cpp",
197fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/invocation_interlock_placement_pass.h",
198fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/ir_builder.h",
199fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/ir_context.cpp",
200fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/ir_context.h",
201fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/ir_loader.cpp",
202fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/ir_loader.h",
203fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/iterator.h",
204fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/licm_pass.cpp",
205fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/licm_pass.h",
206fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/liveness.cpp",
207fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/liveness.h",
208fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/local_access_chain_convert_pass.cpp",
209fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/local_access_chain_convert_pass.h",
210fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/local_redundancy_elimination.cpp",
211fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/local_redundancy_elimination.h",
212fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/local_single_block_elim_pass.cpp",
213fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/local_single_block_elim_pass.h",
214fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/local_single_store_elim_pass.cpp",
215fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/local_single_store_elim_pass.h",
216fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/log.h",
217fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/loop_dependence.cpp",
218fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/loop_dependence.h",
219fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/loop_dependence_helpers.cpp",
220fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/loop_descriptor.cpp",
221fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/loop_descriptor.h",
222fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/loop_fission.cpp",
223fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/loop_fission.h",
224fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/loop_fusion.cpp",
225fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/loop_fusion.h",
226fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/loop_fusion_pass.cpp",
227fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/loop_fusion_pass.h",
228fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/loop_peeling.cpp",
229fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/loop_peeling.h",
230fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/loop_unroller.cpp",
231fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/loop_unroller.h",
232fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/loop_unswitch_pass.cpp",
233fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/loop_unswitch_pass.h",
234fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/loop_utils.cpp",
235fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/loop_utils.h",
236fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/mem_pass.cpp",
237fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/mem_pass.h",
238fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/merge_return_pass.cpp",
239fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/merge_return_pass.h",
240fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/module.cpp",
241fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/module.h",
242fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/null_pass.h",
243fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/optimizer.cpp",
244fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/pass.cpp",
245fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/pass.h",
246fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/pass_manager.cpp",
247fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/pass_manager.h",
248fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/passes.h",
249fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/private_to_local_pass.cpp",
250fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/private_to_local_pass.h",
251fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/propagator.cpp",
252fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/propagator.h",
253fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/reduce_load_size.cpp",
254fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/reduce_load_size.h",
255fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/redundancy_elimination.cpp",
256fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/redundancy_elimination.h",
257fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/reflect.h",
258fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/register_pressure.cpp",
259fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/register_pressure.h",
260fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/relax_float_ops_pass.cpp",
261fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/relax_float_ops_pass.h",
262fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/remove_dontinline_pass.cpp",
263fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/remove_dontinline_pass.h",
264fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/remove_duplicates_pass.cpp",
265fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/remove_duplicates_pass.h",
266fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/remove_unused_interface_variables_pass.cpp",
267fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/remove_unused_interface_variables_pass.h",
268fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/replace_desc_array_access_using_var_index.cpp",
269fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/replace_desc_array_access_using_var_index.h",
270fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/replace_invalid_opc.cpp",
271fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/replace_invalid_opc.h",
272fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/scalar_analysis.cpp",
273fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/scalar_analysis.h",
274fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/scalar_analysis_nodes.h",
275fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/scalar_analysis_simplification.cpp",
276fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/scalar_replacement_pass.cpp",
277fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/scalar_replacement_pass.h",
278fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/set_spec_constant_default_value_pass.cpp",
279fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/set_spec_constant_default_value_pass.h",
280fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/simplification_pass.cpp",
281fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/simplification_pass.h",
282fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/spread_volatile_semantics.cpp",
283fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/spread_volatile_semantics.h",
284fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/ssa_rewrite_pass.cpp",
285fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/ssa_rewrite_pass.h",
286fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/strength_reduction_pass.cpp",
287fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/strength_reduction_pass.h",
288fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/strip_debug_info_pass.cpp",
289fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/strip_debug_info_pass.h",
290fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/strip_nonsemantic_info_pass.cpp",
291fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/strip_nonsemantic_info_pass.h",
292fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/struct_cfg_analysis.cpp",
293fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/struct_cfg_analysis.h",
294fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/switch_descriptorset_pass.cpp",
295fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/switch_descriptorset_pass.h",
296fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/tree_iterator.h",
297fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/trim_capabilities_pass.cpp",
298fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/trim_capabilities_pass.h",
299fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/type_manager.cpp",
300fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/type_manager.h",
301fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/types.cpp",
302fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/types.h",
303fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/unify_const_pass.cpp",
304fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/unify_const_pass.h",
305fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/upgrade_memory_model.cpp",
306fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/upgrade_memory_model.h",
307fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/value_number_table.cpp",
308fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/value_number_table.h",
309fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/vector_dce.cpp",
310fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/vector_dce.h",
311fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/workaround1209.cpp",
312fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/workaround1209.h",
313fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/wrap_opkill.cpp",
314fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt/wrap_opkill.h",
315fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/util/timer.cpp",
316fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/util/timer.h",
317fd4e5da5Sopenharmony_ci  ]
318fd4e5da5Sopenharmony_ci
319fd4e5da5Sopenharmony_ci  include_dirs = deqp_common_include_dirs
320fd4e5da5Sopenharmony_ci  include_dirs += [
321fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools",
322fd4e5da5Sopenharmony_ci    "//third_party/vk-gl-cts/build/external/spirv-tools/spirv-tools",
323fd4e5da5Sopenharmony_ci    "//third_party/spirv-headers/include",
324fd4e5da5Sopenharmony_ci    "//third_party/spirv-headers/include/spirv/unified1",
325fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/include",
326fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/opt",
327fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools/source/util",
328fd4e5da5Sopenharmony_ci  ]
329fd4e5da5Sopenharmony_ci
330fd4e5da5Sopenharmony_ci  if (build_with_chromium) {
331fd4e5da5Sopenharmony_ci    configs -= [ "//build/config/compiler:chromium_code" ]
332fd4e5da5Sopenharmony_ci    configs += [ "//build/config/compiler:no_chromium_code" ]
333fd4e5da5Sopenharmony_ci  }
334fd4e5da5Sopenharmony_ci
335fd4e5da5Sopenharmony_ci  configs = [ ":deqp_spirvtool_opt_config" ]
336fd4e5da5Sopenharmony_ci  configs += [ ":spv_headers_public_config" ]
337fd4e5da5Sopenharmony_ci  configs += [ ":spvtools_internal_config" ]
338fd4e5da5Sopenharmony_ci}
339fd4e5da5Sopenharmony_ci
340fd4e5da5Sopenharmony_ciohos_static_library("libdeqp_spirvtools-opt") {
341fd4e5da5Sopenharmony_ci  deps = [
342fd4e5da5Sopenharmony_ci    ":deqp_spirvtool_opt_source",
343fd4e5da5Sopenharmony_ci    "//third_party/spirv-tools:libdeqp_spirvtools",
344fd4e5da5Sopenharmony_ci  ]
345fd4e5da5Sopenharmony_ci  part_name = "graphic_2d"
346fd4e5da5Sopenharmony_ci  subsystem_name = "graphic"
347fd4e5da5Sopenharmony_ci}
348