graphic_graphic_2d/graphic_config.gni

155 lines
4.6 KiB
Plaintext
Raw Normal View History

# 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.
declare_args() {
graphic_2d_feature_bootanimation_enable = true
graphic_2d_feature_ace_enable_gpu = true
graphic_2d_feature_color_gamut_enable = false
graphic_2d_feature_rs_enable_eglimage = false
graphic_2d_feature_rs_enable_uni_render = false
graphic_2d_feature_wuji_enable = false
graphic_2d_feature_enable_afbc = false
graphic_2d_feature_freemem_enable = false
graphic_2d_feature_parallel_render_enable = true
graphic_2d_feature_enable_vulkan = false
graphic_2d_feature_enable_filter_cache = true
enable_text_gine = true
if (defined(build_cross_platform_version) && build_cross_platform_version) {
use_new_render_context = false
is_cross_platform = true
} else {
is_cross_platform = false
use_new_render_context = false
}
}
gpu_defines = []
accessibility_defines = []
if (enable_text_gine) {
gpu_defines += [ "USE_GRAPHIC_TEXT_GINE" ]
}
if (graphic_2d_feature_ace_enable_gpu) {
if (graphic_2d_feature_enable_vulkan) {
gpu_defines += [
"ACE_ENABLE_VK",
"RS_ENABLE_VK",
]
} else {
gpu_defines += [
"ACE_ENABLE_GL",
"RS_ENABLE_GL",
]
}
ace_enable_gpu = true
rs_enable_gpu = true
surface_enable_gpu = true
# libgl is a native stub for decoupling system.img and vendor.img
# real libgl installed in /vendor/lib/chipsetsdk
libgl = [
"//foundation/graphic/graphic_2d/frameworks/opengl_wrapper:EGL",
"//foundation/graphic/graphic_2d/frameworks/opengl_wrapper:GLESv3",
]
libvulkan = []
if (graphic_2d_feature_enable_vulkan) {
libvulkan += [
"//third_party/flutter/engine/flutter/vulkan:vulkan_flutter",
"//third_party/vulkan-loader/openharmony:vulkan_loader",
]
}
} else {
gpu_defines = [ "ACE_DISABLE_GL" ]
ace_enable_gpu = false
rs_enable_gpu = false
surface_enable_gpu = false
libgl = []
libvulkan = []
}
if ((graphic_2d_feature_rs_enable_eglimage &&
!graphic_2d_feature_enable_vulkan) || current_os == "android") {
gpu_defines += [
"RS_ENABLE_EGLIMAGE",
"RS_ENABLE_EGLQUERYSURFACE",
]
rs_enable_eglimage = true
} else {
gpu_defines += [ "RS_DISABLE_EGLIMAGE" ]
rs_enable_eglimage = false
}
if (graphic_2d_feature_rs_enable_uni_render) {
rs_enable_driven_render = true
gpu_defines += [
"RS_ENABLE_DRIVEN_RENDER",
"RS_ENABLE_UNI_RENDER",
]
} else {
rs_enable_driven_render = false
}
if (graphic_2d_feature_enable_afbc && !graphic_2d_feature_enable_vulkan) {
gpu_defines += [ "RS_ENABLE_AFBC" ]
}
if (graphic_2d_feature_parallel_render_enable) {
rs_enable_parallel_render = true
gpu_defines += [ "RS_ENABLE_PARALLEL_RENDER" ]
}
if (defined(use_new_render_context) && use_new_render_context) {
rs_enable_parallel_render = false
gpu_defines -= [ "RS_ENABLE_PARALLEL_RENDER" ]
}
graphic_2d_ext_configs = {
}
check_graphic_ext_file_script = "//build/ohos/file_exists.py"
check_graphic_ext_file_args = [
"--filename",
rebase_path("//foundation/graphic/graphic_2d_ext/ohcore/build/config.gni"),
]
check_ddgr_ext_file_args = [
"--filename",
rebase_path("//foundation/graphic/graphic_2d_ext/ddgr/ddgr_config.gni"),
]
if (exec_script(check_graphic_ext_file_script,
check_graphic_ext_file_args,
"string") == "True" && "${product_name}" == "ohcore") {
graphic_2d_ext_configs = {
import("//foundation/graphic/graphic_2d_ext/ohcore/build/config.gni")
}
}
if (exec_script(check_graphic_ext_file_script,
check_ddgr_ext_file_args,
"string") == "True") {
ddgr_ext_configs = {
import("//foundation/graphic/graphic_2d_ext/ddgr/ddgr_config.gni")
}
}
flutter_root = "//third_party/flutter"
ace_flutter_engine_root = "$flutter_root/build"
graphic_2d_root = "//foundation/graphic/graphic_2d"
hilog_root = "//base/hiviewdfx/hilog"
window_base_path = "//foundation/window/window_manager"
safwk_base = "//foundation/systemabilitymgr/safwk"
skia_root_new = "//third_party/skia"
accessibility_enable = false
if (defined(global_parts_info) &&
defined(global_parts_info.barrierfree_accessibility)) {
accessibility_enable = true
accessibility_defines = [ "ACCESSIBILITY_ENABLE" ]
}