graphic_graphic_2d/graphic_config.gni

244 lines
7.2 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_product = "default"
graphic_2d_feature_enable_pgo = false
graphic_2d_feature_pgo_path = ""
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_use_texgine = 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_flutter_vulkan = false
graphic_2d_feature_enable_opengl = true
graphic_2d_feature_enable_filter_cache = true
graphic_2d_feature_parallel_upload_enable = true
enable_text_gine = true
use_texgine = true
use_skia_txt = false
use_video_processing_engine = false
logger_enable_scope = false
texgine_enable_debug_log = false
player_framework_enable = true
graphic_2d_feature_drivers_interface_display_enable = true
graphic_2d_feature_tp_switch_enbale = false
graphic_2d_feature_enable_recording_dcl = true
if (defined(is_arkui_x) && is_arkui_x) {
use_new_render_context = false
is_cross_platform = true
} else {
is_cross_platform = false
use_new_render_context = false
}
}
if (graphic_2d_feature_product == "phone") {
graphic_2d_feature_enable_vulkan = true
}
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_flutter_vulkan) {
gpu_defines += [ "RS_ENABLE_OLD_VK" ]
}
if (graphic_2d_feature_enable_vulkan) {
gpu_defines += [
"ACE_ENABLE_VK",
"RS_ENABLE_VK",
]
}
if (graphic_2d_feature_enable_opengl) {
gpu_defines += [
"ACE_ENABLE_GL",
"RS_ENABLE_GL",
]
}
if (graphic_2d_feature_enable_recording_dcl) {
rs_enable_recording_dcl = true
gpu_defines += [ "ENABLE_RECORDING_DCL" ]
} else {
rs_enable_recording_dcl = false
}
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/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_parallel_upload_enable &&
graphic_2d_feature_rs_enable_uni_render) {
rs_enable_parallel_upload = true
gpu_defines += [ "RS_ENABLE_PARALLEL_UPLOAD" ]
} else {
rs_enable_parallel_upload = false
}
if (graphic_2d_feature_rs_enable_eglimage || 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
}
# use_texgine = graphic_2d_feature_use_texgine
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) {
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" ]
}
tp_defines = []
tp_feature_enable = false
if (graphic_2d_feature_tp_switch_enbale) {
tp_feature_enable = true
tp_defines = [ "TP_FEATURE_ENABLE" ]
}
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"),
]
check_delegator_ext_file_args = [
"--filename",
rebase_path("//foundation/graphic/graphic_2d_ext/delegator/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")
}
}
graphic_2d_delegator_configs = {
}
if (exec_script(check_graphic_ext_file_script,
check_delegator_ext_file_args,
"string") == "True") {
graphic_2d_delegator_configs = {
import("//foundation/graphic/graphic_2d_ext/delegator/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"
memmgr_root = "//foundation/resourceschedule/memmgr"
memmgr_plugin_root = "//foundation/resourceschedule/memmgr_plugin"
fuzz_test_output_path = "graphic_2d/graphic_2d"
video_processing_engine_root = "//foundation/multimedia/video_processing_engine"
arkui_root = "//foundation/arkui"
accessibility_enable = false
if (defined(global_parts_info) &&
defined(global_parts_info.barrierfree_accessibility)) {
accessibility_enable = true
accessibility_defines = [ "ACCESSIBILITY_ENABLE" ]
}
if (defined(global_parts_info) &&
!defined(global_parts_info.multimedia_player_framework)) {
player_framework_enable = false
}
if (defined(global_parts_info) &&
defined(global_parts_info.multimedia_video_processing_engine)) {
use_video_processing_engine = true
}
if (defined(global_parts_info) &&
!defined(global_parts_info.hdf_drivers_interface_display)) {
graphic_2d_feature_drivers_interface_display_enable = false
}
use_memmgr_plugin = false
if (defined(global_parts_info.resourceschedule_memmgr_plugin)) {
use_memmgr_plugin = true
}
use_memmgr = false
if (defined(global_parts_info.resourceschedule_memmgr)) {
use_memmgr = true
}