13d0407baSopenharmony_ci# Copyright (C) 2021-2023 HiHope Open Source Organization .
23d0407baSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
33d0407baSopenharmony_ci# you may not use this file except in compliance with the License.
43d0407baSopenharmony_ci# You may obtain a copy of the License at
53d0407baSopenharmony_ci#
63d0407baSopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
73d0407baSopenharmony_ci#
83d0407baSopenharmony_ci# Unless required by applicable law or agreed to in writing, software
93d0407baSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
103d0407baSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
113d0407baSopenharmony_ci# See the License for the specific language governing permissions and
123d0407baSopenharmony_ci# limitations under the License.
133d0407baSopenharmony_ci
143d0407baSopenharmony_ciimport("//build/ohos.gni")
153d0407baSopenharmony_ciimport("//drivers/hdf_core/adapter/uhdf2/uhdf.gni")
163d0407baSopenharmony_ci
173d0407baSopenharmony_ciroot_path = "../../../../../.."
183d0407baSopenharmony_ci
193d0407baSopenharmony_cigroup("display_buffer_model") {
203d0407baSopenharmony_ci  deps = [
213d0407baSopenharmony_ci    ":libdisplay_buffer_vdi_impl",
223d0407baSopenharmony_ci    ":libdisplay_buffer_vendor",
233d0407baSopenharmony_ci  ]
243d0407baSopenharmony_ci}
253d0407baSopenharmony_ci
263d0407baSopenharmony_ciconfig("libdisplay_buffer_vdi_impl_config") {
273d0407baSopenharmony_ci  include_dirs = [ "./src/display_gralloc" ]
283d0407baSopenharmony_ci}
293d0407baSopenharmony_ci
303d0407baSopenharmony_ciohos_shared_library("libdisplay_buffer_vdi_impl") {
313d0407baSopenharmony_ci  sources = [ "src/display_gralloc/display_buffer_vdi_impl.cpp" ]
323d0407baSopenharmony_ci
333d0407baSopenharmony_ci  public_configs = [ ":libdisplay_buffer_vdi_impl_config" ]
343d0407baSopenharmony_ci
353d0407baSopenharmony_ci  include_dirs = [
363d0407baSopenharmony_ci    "./src/display_gralloc",
373d0407baSopenharmony_ci    "${root_path}/drivers/peripheral/base",
383d0407baSopenharmony_ci    "${root_path}/drivers/interface/display/composer/hdifd_parcelable",
393d0407baSopenharmony_ci    "${root_path}/drivers/interface/display/buffer",
403d0407baSopenharmony_ci    "${root_path}/drivers/peripheral/display/utils/include",
413d0407baSopenharmony_ci    "${root_path}/drivers/peripheral/display/buffer/hdi_service/include",
423d0407baSopenharmony_ci  ]
433d0407baSopenharmony_ci
443d0407baSopenharmony_ci  output_name = "libdisplay_buffer_vdi_impl"
453d0407baSopenharmony_ci  cflags = [
463d0407baSopenharmony_ci    "-DGRALLOC_GBM_SUPPORT",
473d0407baSopenharmony_ci    "-Wno-macro-redefined",
483d0407baSopenharmony_ci  ]
493d0407baSopenharmony_ci  deps = [ ":libdisplay_buffer_vendor" ]
503d0407baSopenharmony_ci
513d0407baSopenharmony_ci  external_deps = [
523d0407baSopenharmony_ci    "c_utils:utils",
533d0407baSopenharmony_ci    "drivers_interface_display:display_buffer_idl_headers",
543d0407baSopenharmony_ci    "drivers_interface_display:display_composer_idl_headers",
553d0407baSopenharmony_ci    "hdf_core:libhdf_utils",
563d0407baSopenharmony_ci    "hilog:libhilog",
573d0407baSopenharmony_ci    "ipc:ipc_single",
583d0407baSopenharmony_ci  ]
593d0407baSopenharmony_ci
603d0407baSopenharmony_ci  install_enable = true
613d0407baSopenharmony_ci  install_images = [ chipset_base_dir ]
623d0407baSopenharmony_ci  innerapi_tags = [ "passthrough" ]
633d0407baSopenharmony_ci  subsystem_name = "hdf"
643d0407baSopenharmony_ci  part_name = "rockchip_products"
653d0407baSopenharmony_ci}
663d0407baSopenharmony_ci
673d0407baSopenharmony_ciohos_shared_library("libdisplay_buffer_vendor") {
683d0407baSopenharmony_ci  sources = [ "src/display_gralloc/display_gralloc_gbm.cpp" ]
693d0407baSopenharmony_ci
703d0407baSopenharmony_ci  include_dirs = [
713d0407baSopenharmony_ci    "include",
723d0407baSopenharmony_ci    "./src/display_gralloc",
733d0407baSopenharmony_ci    "${root_path}/drivers/peripheral/base",
743d0407baSopenharmony_ci    "${root_path}/drivers/interface/display/composer/hdifd_parcelable",
753d0407baSopenharmony_ci    "${root_path}/drivers/peripheral/display/utils/include",
763d0407baSopenharmony_ci    "${root_path}/foundation/communication/ipc/interfaces/innerkits/ipc_core/include",
773d0407baSopenharmony_ci  ]
783d0407baSopenharmony_ci
793d0407baSopenharmony_ci  output_name = "libdisplay_buffer_vendor"
803d0407baSopenharmony_ci  cflags = [
813d0407baSopenharmony_ci    "-DGRALLOC_GBM_SUPPORT",
823d0407baSopenharmony_ci    "-Wno-macro-redefined",
833d0407baSopenharmony_ci  ]
843d0407baSopenharmony_ci
853d0407baSopenharmony_ci  deps = [
863d0407baSopenharmony_ci    ":libhigbm_vendor",
873d0407baSopenharmony_ci    "${root_path}/third_party/libdrm:libdrm",
883d0407baSopenharmony_ci  ]
893d0407baSopenharmony_ci
903d0407baSopenharmony_ci  external_deps = [
913d0407baSopenharmony_ci    "c_utils:utils",
923d0407baSopenharmony_ci    "drivers_interface_display:display_buffer_idl_headers",
933d0407baSopenharmony_ci    "drivers_interface_display:display_composer_idl_headers",
943d0407baSopenharmony_ci    "hdf_core:libhdf_utils",
953d0407baSopenharmony_ci    "hilog:libhilog",
963d0407baSopenharmony_ci  ]
973d0407baSopenharmony_ci
983d0407baSopenharmony_ci  install_enable = true
993d0407baSopenharmony_ci  install_images = [ chipset_base_dir ]
1003d0407baSopenharmony_ci  innerapi_tags = [ "passthrough" ]
1013d0407baSopenharmony_ci  subsystem_name = "hdf"
1023d0407baSopenharmony_ci  part_name = "rockchip_products"
1033d0407baSopenharmony_ci}
1043d0407baSopenharmony_ci
1053d0407baSopenharmony_ciohos_static_library("libhigbm_vendor") {
1063d0407baSopenharmony_ci  sources = [ "src/display_gralloc/hi_gbm.cpp" ]
1073d0407baSopenharmony_ci  include_dirs = [
1083d0407baSopenharmony_ci    "./src/display_gralloc",
1093d0407baSopenharmony_ci    "${root_path}/drivers/peripheral/display/utils/include",
1103d0407baSopenharmony_ci    "${root_path}/foundation/communication/ipc/interfaces/innerkits/ipc_core/include",
1113d0407baSopenharmony_ci  ]
1123d0407baSopenharmony_ci  output_name = "libhigbm_vendor"
1133d0407baSopenharmony_ci  cflags = [
1143d0407baSopenharmony_ci    "-DGRALLOC_GBM_SUPPORT",
1153d0407baSopenharmony_ci    "-Wno-macro-redefined",
1163d0407baSopenharmony_ci  ]
1173d0407baSopenharmony_ci  deps = [ "${root_path}/third_party/libdrm:libdrm" ]
1183d0407baSopenharmony_ci
1193d0407baSopenharmony_ci  external_deps = [
1203d0407baSopenharmony_ci    "c_utils:utils",
1213d0407baSopenharmony_ci    "hilog:libhilog",
1223d0407baSopenharmony_ci  ]
1233d0407baSopenharmony_ci}
1243d0407baSopenharmony_ci
1253d0407baSopenharmony_cigroup("display_composer_model") {
1263d0407baSopenharmony_ci  deps = [
1273d0407baSopenharmony_ci    ":display_composer_vendor",
1283d0407baSopenharmony_ci    ":display_gfx",
1293d0407baSopenharmony_ci    ":libdisplay_composer_vdi_impl",
1303d0407baSopenharmony_ci  ]
1313d0407baSopenharmony_ci}
1323d0407baSopenharmony_ci
1333d0407baSopenharmony_ciohos_shared_library("libdisplay_composer_vdi_impl") {
1343d0407baSopenharmony_ci  sources = [ "src/display_device/display_composer_vdi_impl.cpp" ]
1353d0407baSopenharmony_ci
1363d0407baSopenharmony_ci  include_dirs = [
1373d0407baSopenharmony_ci    "src/display_device",
1383d0407baSopenharmony_ci    "${root_path}/drivers/peripheral/display/utils/include",
1393d0407baSopenharmony_ci    "${root_path}/drivers/interface/display/composer",
1403d0407baSopenharmony_ci    "${root_path}/drivers/peripheral/display/composer/hdi_service/include",
1413d0407baSopenharmony_ci    "${root_path}/drivers/interface/display/composer/hdifd_parcelable",
1423d0407baSopenharmony_ci  ]
1433d0407baSopenharmony_ci
1443d0407baSopenharmony_ci  deps = [ ":display_composer_vendor" ]
1453d0407baSopenharmony_ci
1463d0407baSopenharmony_ci  external_deps = [
1473d0407baSopenharmony_ci    "c_utils:utils",
1483d0407baSopenharmony_ci    "drivers_interface_display:display_composer_idl_headers",
1493d0407baSopenharmony_ci    "drivers_interface_display:libdisplay_composer_proxy_1.2",
1503d0407baSopenharmony_ci    "graphic_surface:buffer_handle",
1513d0407baSopenharmony_ci    "hilog:libhilog",
1523d0407baSopenharmony_ci    "ipc:ipc_single",
1533d0407baSopenharmony_ci  ]
1543d0407baSopenharmony_ci
1553d0407baSopenharmony_ci  install_enable = true
1563d0407baSopenharmony_ci  install_images = [ chipset_base_dir ]
1573d0407baSopenharmony_ci  subsystem_name = "hdf"
1583d0407baSopenharmony_ci  part_name = "rockchip_products"
1593d0407baSopenharmony_ci}
1603d0407baSopenharmony_ci
1613d0407baSopenharmony_ciohos_shared_library("display_composer_vendor") {
1623d0407baSopenharmony_ci  sources = [
1633d0407baSopenharmony_ci    "src/display_device/drm_connector.cpp",
1643d0407baSopenharmony_ci    "src/display_device/drm_crtc.cpp",
1653d0407baSopenharmony_ci    "src/display_device/drm_device.cpp",
1663d0407baSopenharmony_ci    "src/display_device/drm_display.cpp",
1673d0407baSopenharmony_ci    "src/display_device/drm_encoder.cpp",
1683d0407baSopenharmony_ci    "src/display_device/drm_plane.cpp",
1693d0407baSopenharmony_ci    "src/display_device/drm_vsync_worker.cpp",
1703d0407baSopenharmony_ci    "src/display_device/hdi_composer.cpp",
1713d0407baSopenharmony_ci    "src/display_device/hdi_device_interface.cpp",
1723d0407baSopenharmony_ci    "src/display_device/hdi_display.cpp",
1733d0407baSopenharmony_ci    "src/display_device/hdi_drm_composition.cpp",
1743d0407baSopenharmony_ci    "src/display_device/hdi_drm_layer.cpp",
1753d0407baSopenharmony_ci    "src/display_device/hdi_gfx_composition.cpp",
1763d0407baSopenharmony_ci    "src/display_device/hdi_layer.cpp",
1773d0407baSopenharmony_ci    "src/display_device/hdi_netlink_monitor.cpp",
1783d0407baSopenharmony_ci    "src/display_device/hdi_session.cpp",
1793d0407baSopenharmony_ci  ]
1803d0407baSopenharmony_ci  output_name = "display_composer_vendor"
1813d0407baSopenharmony_ci  include_dirs = [
1823d0407baSopenharmony_ci    "src/display_gralloc",
1833d0407baSopenharmony_ci    "src/display_device",
1843d0407baSopenharmony_ci    "${root_path}/drivers/peripheral/display/buffer/hdi_service/include",
1853d0407baSopenharmony_ci    "${root_path}/drivers/peripheral/display/utils/include",
1863d0407baSopenharmony_ci    "${root_path}/drivers/peripheral/base",
1873d0407baSopenharmony_ci    "${root_path}/drivers/interface/display/composer",
1883d0407baSopenharmony_ci    "${root_path}/foundation/communication/ipc/interfaces/innerkits/ipc_core/include",
1893d0407baSopenharmony_ci    "${root_path}/device/soc/rockchip/rk3568/hardware/rga/include",
1903d0407baSopenharmony_ci    "${root_path}/drivers/interface/display/composer/hdifd_parcelable",
1913d0407baSopenharmony_ci  ]
1923d0407baSopenharmony_ci
1933d0407baSopenharmony_ci  deps = [
1943d0407baSopenharmony_ci    ":libdisplay_buffer_vdi_impl",
1953d0407baSopenharmony_ci    "${root_path}/device/soc/rockchip/rk3568/hardware/rga:librga",
1963d0407baSopenharmony_ci    "${root_path}/third_party/libdrm:libdrm",
1973d0407baSopenharmony_ci  ]
1983d0407baSopenharmony_ci  cflags_cc = [
1993d0407baSopenharmony_ci    "-Wno-error=unused-function",
2003d0407baSopenharmony_ci    "-Wno-error=missing-braces",
2013d0407baSopenharmony_ci    "-Wno-error=#warnings",
2023d0407baSopenharmony_ci  ]
2033d0407baSopenharmony_ci  external_deps = [
2043d0407baSopenharmony_ci    "c_utils:utils",
2053d0407baSopenharmony_ci    "drivers_interface_display:display_buffer_idl_headers",
2063d0407baSopenharmony_ci    "drivers_interface_display:display_composer_idl_headers",
2073d0407baSopenharmony_ci    "hdf_core:libhdf_utils",
2083d0407baSopenharmony_ci    "hilog:libhilog",
2093d0407baSopenharmony_ci    "hitrace:hitrace_meter",
2103d0407baSopenharmony_ci  ]
2113d0407baSopenharmony_ci  install_enable = true
2123d0407baSopenharmony_ci  install_images = [ chipset_base_dir ]
2133d0407baSopenharmony_ci  subsystem_name = "hdf"
2143d0407baSopenharmony_ci  part_name = "rockchip_products"
2153d0407baSopenharmony_ci}
2163d0407baSopenharmony_ci
2173d0407baSopenharmony_ciohos_shared_library("display_gfx") {
2183d0407baSopenharmony_ci  sources = [ "src/display_gfx/display_gfx.c" ]
2193d0407baSopenharmony_ci  include_dirs = [
2203d0407baSopenharmony_ci    "${root_path}/base/hiviewdfx/interfaces/innerkits/libhilog/include",
2213d0407baSopenharmony_ci    "${root_path}/commonlibrary/c_utils/base/include",
2223d0407baSopenharmony_ci    "${root_path}/device/soc/rockchip/rk3568/hardware/rga/include/",
2233d0407baSopenharmony_ci    "${root_path}/drivers/peripheral/display/interfaces/include",
2243d0407baSopenharmony_ci    "${root_path}/drivers/peripheral/display/utils/include",
2253d0407baSopenharmony_ci    "${root_path}/drivers/peripheral/base",
2263d0407baSopenharmony_ci    "${root_path}/foundation/graphic/standard/utils/include",
2273d0407baSopenharmony_ci  ]
2283d0407baSopenharmony_ci  output_name = "display_gfx"
2293d0407baSopenharmony_ci  cflags = [ "-Wno-macro-redefined" ]
2303d0407baSopenharmony_ci  deps = [ "${root_path}/device/soc/rockchip/rk3568/hardware/rga:librga" ]
2313d0407baSopenharmony_ci
2323d0407baSopenharmony_ci  external_deps = [
2333d0407baSopenharmony_ci    "c_utils:utils",
2343d0407baSopenharmony_ci    "hdf_core:libhdf_utils",
2353d0407baSopenharmony_ci    "hilog:libhilog",
2363d0407baSopenharmony_ci  ]
2373d0407baSopenharmony_ci
2383d0407baSopenharmony_ci  install_enable = true
2393d0407baSopenharmony_ci  install_images = [ chipset_base_dir ]
2403d0407baSopenharmony_ci  subsystem_name = "hdf"
2413d0407baSopenharmony_ci  part_name = "rockchip_products"
2423d0407baSopenharmony_ci}
243