graphic_graphic_2d/graphic_config.gni
chengwenfeng 570133d57b Merge branch 'master' of gitee.com:openharmony/graphic_graphic_2d into master
Signed-off-by: chengwenfeng <chengwenfeng6@huawei.com>
2024-04-18 02:17:54 +00:00

343 lines
11 KiB
Plaintext

# 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_rs_enable_profiler = true
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_ddgr = false
graphic_2d_feature_enable_opinc = false
graphic_2d_feature_enable_filter_cache = true
graphic_2d_feature_parallel_upload_enable = true
enable_text_gine = true
use_texgine = false
use_skia_txt = true
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
graphic_2d_feature_use_igraphics_extend_hooks = false
graphic_2d_feature_use_aps_igameservice_func = false
graphic_2d_feature_enable_chipset_vsync = false
graphic_2d_feature_enable_rspipeline = false
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
}
}
declare_args() {
graphic_2d_feature_enable_stack_culling = false
}
if (graphic_2d_feature_product == "phone" ||
graphic_2d_feature_product == "tablet") {
graphic_2d_feature_enable_vulkan = true
graphic_2d_feature_enable_ddgr = false
graphic_2d_feature_enable_stack_culling = true
graphic_2d_feature_enable_opinc = 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_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_ddgr) {
gpu_defines += [ "ENABLE_DDGR_OPTIMIZE" ]
import("//foundation/graphic/graphic_2d_ext/ddgr/config.gni")
}
}
if (graphic_2d_feature_enable_opengl) {
gpu_defines += [
"ACE_ENABLE_GL",
"RS_ENABLE_GL",
]
}
if (graphic_2d_feature_enable_stack_culling) {
gpu_defines += [ "RS_ENABLE_STACK_CULLING" ]
}
if (graphic_2d_feature_enable_opinc) {
import("//foundation/graphic/graphic_2d_ext/opinc/config.gni")
gpu_defines += [ "DDGR_ENABLE_FEATURE_OPINC" ]
}
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: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) {
graphic_2d_feature_enable_dvsync = true
if (graphic_2d_feature_product == "phone") {
graphic_2d_feature_enable_chipset_vsync = true
}
gpu_defines += [ "RS_ENABLE_UNI_RENDER" ]
} else {
graphic_2d_feature_enable_dvsync = false
graphic_2d_feature_enable_chipset_vsync = 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" ]
}
if (graphic_2d_feature_enable_dvsync) {
gpu_defines += [ "RS_ENABLE_DVSYNC" ]
}
if (graphic_2d_feature_enable_chipset_vsync) {
gpu_defines += [ "RS_ENABLE_CHIPSET_VSYNC" ]
}
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_igraphics_core_file_args = [
"--filename",
rebase_path(
"//vendor/huawei/foundation/graphics_game/gpu_turbo_x/EGL/config.gni"),
]
check_igameservice_core_file_args = [
"--filename",
rebase_path(
"//vendor/huawei/domains/game/gameservice_server/performance/graphics/report/config.gni"),
]
check_aps_core_file_args = [
"--filename",
rebase_path("//foundation/graphic/graphic_2d_ext/aps_manager/config.gni"),
]
check_delegator_ext_file_args = [
"--filename",
rebase_path("//foundation/graphic/graphic_2d_ext/delegator/config.gni"),
]
check_broker_ext_file_args = [
"--filename",
rebase_path(
"//foundation/graphic/graphic_2d_ext/ohcore/build/broker_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")
}
}
if (exec_script(check_graphic_ext_file_script,
check_igraphics_core_file_args,
"string") == "True") {
graphic_2d_feature_use_igraphics_extend_hooks = true
import("//vendor/huawei/foundation/graphics_game/gpu_turbo_x/EGL/config.gni")
}
if (exec_script(check_graphic_ext_file_script,
check_aps_core_file_args,
"string") == "True" &&
exec_script(check_graphic_ext_file_script,
check_igameservice_core_file_args,
"string") == "True") {
graphic_2d_feature_use_aps_igameservice_func = true
import("//foundation/graphic/graphic_2d_ext/aps_manager/config.gni")
import(
"//vendor/huawei/domains/game/gameservice_server/performance/graphics/report/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")
}
}
graphic_2d_broker_configs = {
}
if (exec_script(check_graphic_ext_file_script,
check_broker_ext_file_args,
"string") == "True") {
graphic_2d_broker_configs = {
import("//foundation/graphic/graphic_2d_ext/ohcore/build/broker_config.gni")
}
}
check_platform_ext_file_args = [
"--filename",
rebase_path("//foundation/graphic/graphic_2d_ext/platform/config.gni"),
]
graphic_2d_platform_configs = {
}
if (exec_script(check_graphic_ext_file_script,
check_platform_ext_file_args,
"string") == "True") {
graphic_2d_platform_configs = {
import("//foundation/graphic/graphic_2d_ext/platform/config.gni")
}
}
flutter_root = "//third_party/flutter"
ace_flutter_engine_root = "$flutter_root/build"
graphic_2d_root = "//foundation/graphic/graphic_2d"
graphic_2d_ext_root = "//foundation/graphic/graphic_2d_ext"
hilog_root = "//base/hiviewdfx/hilog"
window_base_path = "//foundation/window/window_manager"
safwk_base = "//foundation/systemabilitymgr/safwk"
skia_root_new = "//third_party/skia"
graphic_surface_root = "//foundation/graphic/graphic_surface"
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
}