# Copyright (c) 2021 Huawei Device Co., Ltd. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import("//build/ohos.gni") import("//third_party/vk-gl-cts/vk_gl_cts.gni") config("deqp_spirvtool_reduce_config") { cflags_cc = deqp_common_cflags_cc cflags_cc += [ "-ftemplate-depth=1024" ] defines = deqp_common_defines defines += [ "SPIRV_CHECK_CONTEXT", "SPIRV_COLOR_TERMINAL", "SPIRV_LINUX", "SPIRV_TIMER_ENABLED", ] } config("spv_headers_public_config") { include_dirs = [ "include" ] } config("spvtools_include_gen_dirs") { include_dirs = [ "$target_gen_dir" ] } config("spvtools_internal_config") { include_dirs = [ ".", "//third_party/spirv-headers/include", ] configs = [ ":spv_headers_public_config", ":spvtools_include_gen_dirs", ] cflags = [] if (is_clang) { cflags += [ "-Wno-implicit-fallthrough", "-Wno-newline-eof", "-Wno-unreachable-code-break", "-Wno-unreachable-code-return", ] } else if (!is_win) { # Work around a false-positive on a Skia GCC 10 builder. cflags += [ "-Wno-format-truncation" ] } else { # Make MSVC report the correct value for __cplusplus cflags += [ "/Zc:__cplusplus" ] } if (!is_win) { cflags += [ "-std=c++17" ] } else { cflags += [ "/std:c++17" ] } } ohos_source_set("deqp_spirvtool_reduce_source") { sources = [ "//third_party/spirv-tools/include/spirv-tools/instrument.hpp", "//third_party/spirv-tools/include/spirv-tools/libspirv.h", "//third_party/spirv-tools/include/spirv-tools/libspirv.hpp", "//third_party/spirv-tools/include/spirv-tools/linker.hpp", "//third_party/spirv-tools/include/spirv-tools/optimizer.hpp", "//third_party/spirv-tools/source/reduce/change_operand_reduction_opportunity.cpp", "//third_party/spirv-tools/source/reduce/change_operand_reduction_opportunity.h", "//third_party/spirv-tools/source/reduce/change_operand_to_undef_reduction_opportunity.cpp", "//third_party/spirv-tools/source/reduce/change_operand_to_undef_reduction_opportunity.h", "//third_party/spirv-tools/source/reduce/conditional_branch_to_simple_conditional_branch_opportunity_finder.cpp", "//third_party/spirv-tools/source/reduce/conditional_branch_to_simple_conditional_branch_opportunity_finder.h", "//third_party/spirv-tools/source/reduce/conditional_branch_to_simple_conditional_branch_reduction_opportunity.cpp", "//third_party/spirv-tools/source/reduce/conditional_branch_to_simple_conditional_branch_reduction_opportunity.h", "//third_party/spirv-tools/source/reduce/merge_blocks_reduction_opportunity.cpp", "//third_party/spirv-tools/source/reduce/merge_blocks_reduction_opportunity.h", "//third_party/spirv-tools/source/reduce/merge_blocks_reduction_opportunity_finder.cpp", "//third_party/spirv-tools/source/reduce/merge_blocks_reduction_opportunity_finder.h", "//third_party/spirv-tools/source/reduce/operand_to_const_reduction_opportunity_finder.cpp", "//third_party/spirv-tools/source/reduce/operand_to_const_reduction_opportunity_finder.h", "//third_party/spirv-tools/source/reduce/operand_to_dominating_id_reduction_opportunity_finder.cpp", "//third_party/spirv-tools/source/reduce/operand_to_dominating_id_reduction_opportunity_finder.h", "//third_party/spirv-tools/source/reduce/operand_to_undef_reduction_opportunity_finder.cpp", "//third_party/spirv-tools/source/reduce/operand_to_undef_reduction_opportunity_finder.h", "//third_party/spirv-tools/source/reduce/reducer.cpp", "//third_party/spirv-tools/source/reduce/reducer.h", "//third_party/spirv-tools/source/reduce/reduction_opportunity.cpp", "//third_party/spirv-tools/source/reduce/reduction_opportunity.h", "//third_party/spirv-tools/source/reduce/reduction_opportunity_finder.cpp", "//third_party/spirv-tools/source/reduce/reduction_opportunity_finder.h", "//third_party/spirv-tools/source/reduce/reduction_pass.cpp", "//third_party/spirv-tools/source/reduce/reduction_pass.h", "//third_party/spirv-tools/source/reduce/reduction_util.cpp", "//third_party/spirv-tools/source/reduce/reduction_util.h", "//third_party/spirv-tools/source/reduce/remove_block_reduction_opportunity.cpp", "//third_party/spirv-tools/source/reduce/remove_block_reduction_opportunity.h", "//third_party/spirv-tools/source/reduce/remove_block_reduction_opportunity_finder.cpp", "//third_party/spirv-tools/source/reduce/remove_block_reduction_opportunity_finder.h", "//third_party/spirv-tools/source/reduce/remove_function_reduction_opportunity.cpp", "//third_party/spirv-tools/source/reduce/remove_function_reduction_opportunity.h", "//third_party/spirv-tools/source/reduce/remove_function_reduction_opportunity_finder.cpp", "//third_party/spirv-tools/source/reduce/remove_function_reduction_opportunity_finder.h", "//third_party/spirv-tools/source/reduce/remove_instruction_reduction_opportunity.cpp", "//third_party/spirv-tools/source/reduce/remove_instruction_reduction_opportunity.h", "//third_party/spirv-tools/source/reduce/remove_selection_reduction_opportunity.cpp", "//third_party/spirv-tools/source/reduce/remove_selection_reduction_opportunity.h", "//third_party/spirv-tools/source/reduce/remove_selection_reduction_opportunity_finder.cpp", "//third_party/spirv-tools/source/reduce/remove_selection_reduction_opportunity_finder.h", "//third_party/spirv-tools/source/reduce/remove_struct_member_reduction_opportunity.cpp", "//third_party/spirv-tools/source/reduce/remove_struct_member_reduction_opportunity.h", "//third_party/spirv-tools/source/reduce/remove_unused_instruction_reduction_opportunity_finder.cpp", "//third_party/spirv-tools/source/reduce/remove_unused_instruction_reduction_opportunity_finder.h", "//third_party/spirv-tools/source/reduce/remove_unused_struct_member_reduction_opportunity_finder.cpp", "//third_party/spirv-tools/source/reduce/remove_unused_struct_member_reduction_opportunity_finder.h", "//third_party/spirv-tools/source/reduce/simple_conditional_branch_to_branch_opportunity_finder.cpp", "//third_party/spirv-tools/source/reduce/simple_conditional_branch_to_branch_opportunity_finder.h", "//third_party/spirv-tools/source/reduce/simple_conditional_branch_to_branch_reduction_opportunity.cpp", "//third_party/spirv-tools/source/reduce/simple_conditional_branch_to_branch_reduction_opportunity.h", "//third_party/spirv-tools/source/reduce/structured_construct_to_block_reduction_opportunity.cpp", "//third_party/spirv-tools/source/reduce/structured_construct_to_block_reduction_opportunity.h", "//third_party/spirv-tools/source/reduce/structured_construct_to_block_reduction_opportunity_finder.cpp", "//third_party/spirv-tools/source/reduce/structured_construct_to_block_reduction_opportunity_finder.h", "//third_party/spirv-tools/source/reduce/structured_loop_to_selection_reduction_opportunity.cpp", "//third_party/spirv-tools/source/reduce/structured_loop_to_selection_reduction_opportunity.h", "//third_party/spirv-tools/source/reduce/structured_loop_to_selection_reduction_opportunity_finder.cpp", "//third_party/spirv-tools/source/reduce/structured_loop_to_selection_reduction_opportunity_finder.h", ] include_dirs = deqp_common_include_dirs include_dirs += [ "//third_party/spirv-tools", "//third_party/vk-gl-cts/build/external/spirv-tools/spirv-tools", "//third_party/spirv-headers/include", "//third_party/spirv-tools/include", ] if (build_with_chromium) { configs -= [ "//build/config/compiler:chromium_code" ] configs += [ "//build/config/compiler:no_chromium_code" ] } configs = [ ":deqp_spirvtool_reduce_config" ] configs += [ ":spv_headers_public_config" ] configs += [ ":spvtools_internal_config" ] } ohos_static_library("libdeqp_spirvtools-reduce") { deps = [ ":deqp_spirvtool_reduce_source", "//third_party/spirv-tools:libdeqp_spirvtools", "//third_party/spirv-tools/source/opt:libdeqp_spirvtools-opt", ] part_name = "graphic_2d" subsystem_name = "graphic" }