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_ci
163d0407baSopenharmony_cigroup("display_group") {
173d0407baSopenharmony_ci  deps = [
183d0407baSopenharmony_ci    ":display_device",
193d0407baSopenharmony_ci    ":display_gfx",
203d0407baSopenharmony_ci    ":display_gralloc",
213d0407baSopenharmony_ci    ":higbm",
223d0407baSopenharmony_ci  ]
233d0407baSopenharmony_ci}
243d0407baSopenharmony_ci
253d0407baSopenharmony_ciohos_static_library("higbm") {
263d0407baSopenharmony_ci  sources = [ "src/display_gralloc/hi_gbm.c" ]
273d0407baSopenharmony_ci  include_dirs = [
283d0407baSopenharmony_ci    "include",
293d0407baSopenharmony_ci    "//commonlibrary/c_utils/base/include",
303d0407baSopenharmony_ci    "//base/hiviewdfx/interfaces/innerkits/libhilog/include",
313d0407baSopenharmony_ci  ]
323d0407baSopenharmony_ci  output_name = "higbm"
333d0407baSopenharmony_ci  cflags = [
343d0407baSopenharmony_ci    "-DGRALLOC_GBM_SUPPORT",
353d0407baSopenharmony_ci    "-Wno-macro-redefined",
363d0407baSopenharmony_ci  ]
373d0407baSopenharmony_ci  deps = [ "//third_party/libdrm:libdrm" ]
383d0407baSopenharmony_ci  external_deps = [
393d0407baSopenharmony_ci    "c_utils:utils",
403d0407baSopenharmony_ci    "hilog:libhilog",
413d0407baSopenharmony_ci  ]
423d0407baSopenharmony_ci}
433d0407baSopenharmony_ci
443d0407baSopenharmony_ciohos_shared_library("display_gralloc") {
453d0407baSopenharmony_ci  sources = [
463d0407baSopenharmony_ci    "src/display_gralloc/display_gralloc.c",
473d0407baSopenharmony_ci    "src/display_gralloc/display_gralloc_gbm.c",
483d0407baSopenharmony_ci  ]
493d0407baSopenharmony_ci  include_dirs = [
503d0407baSopenharmony_ci    "include",
513d0407baSopenharmony_ci    "//drivers/peripheral/display/interfaces/include",
523d0407baSopenharmony_ci    "//drivers/peripheral/base",
533d0407baSopenharmony_ci    "//commonlibrary/c_utils/base/include",
543d0407baSopenharmony_ci    "//foundation/graphic/standard/utils/include",
553d0407baSopenharmony_ci    "//foundation/graphic/standard/prebuilts/librarys/drm/include",
563d0407baSopenharmony_ci    "//base/hiviewdfx/interfaces/innerkits/libhilog/include",
573d0407baSopenharmony_ci  ]
583d0407baSopenharmony_ci  output_name = "display_gralloc"
593d0407baSopenharmony_ci  cflags = [
603d0407baSopenharmony_ci    "-DGRALLOC_GBM_SUPPORT",
613d0407baSopenharmony_ci    "-Wno-macro-redefined",
623d0407baSopenharmony_ci  ]
633d0407baSopenharmony_ci  deps = [
643d0407baSopenharmony_ci    ":higbm",
653d0407baSopenharmony_ci    "//third_party/libdrm:libdrm",
663d0407baSopenharmony_ci  ]
673d0407baSopenharmony_ci
683d0407baSopenharmony_ci  external_deps = [
693d0407baSopenharmony_ci    "c_utils:utils",
703d0407baSopenharmony_ci    "hdf_core:libhdf_utils",
713d0407baSopenharmony_ci    "hilog:libhilog",
723d0407baSopenharmony_ci  ]
733d0407baSopenharmony_ci
743d0407baSopenharmony_ci  install_enable = true
753d0407baSopenharmony_ci  install_images = [ system_base_dir ]
763d0407baSopenharmony_ci  relative_install_dir = "chipset-sdk"
773d0407baSopenharmony_ci  subsystem_name = "hdf"
783d0407baSopenharmony_ci  part_name = "drivers_peripheral_display"
793d0407baSopenharmony_ci}
803d0407baSopenharmony_ci
813d0407baSopenharmony_ciohos_shared_library("display_gfx") {
823d0407baSopenharmony_ci  sources = [ "src/display_gfx/display_gfx.c" ]
833d0407baSopenharmony_ci  include_dirs = [
843d0407baSopenharmony_ci    "include",
853d0407baSopenharmony_ci    "//drivers/peripheral/display/interfaces/include",
863d0407baSopenharmony_ci    "//drivers/peripheral/base",
873d0407baSopenharmony_ci    "//commonlibrary/c_utils/base/include",
883d0407baSopenharmony_ci    "//foundation/graphic/standard/utils/include",
893d0407baSopenharmony_ci    "//device/soc/rockchip/rk3568/hardware/rga/include/",
903d0407baSopenharmony_ci    "//base/hiviewdfx/interfaces/innerkits/libhilog/include",
913d0407baSopenharmony_ci  ]
923d0407baSopenharmony_ci  output_name = "display_gfx"
933d0407baSopenharmony_ci  cflags = [ "-Wno-macro-redefined" ]
943d0407baSopenharmony_ci  deps = [
953d0407baSopenharmony_ci    ":display_gralloc",
963d0407baSopenharmony_ci    "//device/soc/rockchip/rk3568/hardware/rga:librga",
973d0407baSopenharmony_ci  ]
983d0407baSopenharmony_ci
993d0407baSopenharmony_ci  external_deps = [
1003d0407baSopenharmony_ci    "c_utils:utils",
1013d0407baSopenharmony_ci    "hdf_core:libhdf_utils",
1023d0407baSopenharmony_ci    "hilog:libhilog",
1033d0407baSopenharmony_ci  ]
1043d0407baSopenharmony_ci
1053d0407baSopenharmony_ci  install_enable = true
1063d0407baSopenharmony_ci  install_images = [ system_base_dir ]
1073d0407baSopenharmony_ci  relative_install_dir = "chipset-sdk"
1083d0407baSopenharmony_ci  subsystem_name = "hdf"
1093d0407baSopenharmony_ci  part_name = "drivers_peripheral_display"
1103d0407baSopenharmony_ci}
1113d0407baSopenharmony_ci
1123d0407baSopenharmony_ciohos_shared_library("display_device") {
1133d0407baSopenharmony_ci  sources = [
1143d0407baSopenharmony_ci    "src/display_device/drm_connector.cpp",
1153d0407baSopenharmony_ci    "src/display_device/drm_crtc.cpp",
1163d0407baSopenharmony_ci    "src/display_device/drm_device.cpp",
1173d0407baSopenharmony_ci    "src/display_device/drm_display.cpp",
1183d0407baSopenharmony_ci    "src/display_device/drm_encoder.cpp",
1193d0407baSopenharmony_ci    "src/display_device/drm_plane.cpp",
1203d0407baSopenharmony_ci    "src/display_device/drm_vsync_worker.cpp",
1213d0407baSopenharmony_ci    "src/display_device/hdi_composer.cpp",
1223d0407baSopenharmony_ci    "src/display_device/hdi_device_interface.cpp",
1233d0407baSopenharmony_ci    "src/display_device/hdi_display.cpp",
1243d0407baSopenharmony_ci    "src/display_device/hdi_drm_composition.cpp",
1253d0407baSopenharmony_ci    "src/display_device/hdi_drm_layer.cpp",
1263d0407baSopenharmony_ci    "src/display_device/hdi_gfx_composition.cpp",
1273d0407baSopenharmony_ci    "src/display_device/hdi_layer.cpp",
1283d0407baSopenharmony_ci    "src/display_device/hdi_netlink_monitor.cpp",
1293d0407baSopenharmony_ci    "src/display_device/hdi_session.cpp",
1303d0407baSopenharmony_ci  ]
1313d0407baSopenharmony_ci  output_name = "display_device"
1323d0407baSopenharmony_ci  include_dirs = [
1333d0407baSopenharmony_ci    "src/display_device",
1343d0407baSopenharmony_ci    "include",
1353d0407baSopenharmony_ci    "//drivers/peripheral/display/interfaces/include",
1363d0407baSopenharmony_ci    "//drivers/peripheral/base",
1373d0407baSopenharmony_ci    "//commonlibrary/c_utils/base/include",
1383d0407baSopenharmony_ci    "//foundation/graphic/standard/utils/include",
1393d0407baSopenharmony_ci    "//foundation/graphic/standard/prebuilts/librarys/drm/include",
1403d0407baSopenharmony_ci    "//base/hiviewdfx/interfaces/innerkits/libhilog/include",
1413d0407baSopenharmony_ci  ]
1423d0407baSopenharmony_ci  deps = [
1433d0407baSopenharmony_ci    ":display_gfx",
1443d0407baSopenharmony_ci    ":display_gralloc",
1453d0407baSopenharmony_ci    "//third_party/libdrm:libdrm",
1463d0407baSopenharmony_ci  ]
1473d0407baSopenharmony_ci  cflags_cc = [
1483d0407baSopenharmony_ci    "-Wno-error=unused-function",
1493d0407baSopenharmony_ci    "-Wno-error=missing-braces",
1503d0407baSopenharmony_ci    "-Wno-error=#warnings",
1513d0407baSopenharmony_ci  ]
1523d0407baSopenharmony_ci  external_deps = [
1533d0407baSopenharmony_ci    "c_utils:utils",
1543d0407baSopenharmony_ci    "hdf_core:libhdf_utils",
1553d0407baSopenharmony_ci    "hilog:libhilog",
1563d0407baSopenharmony_ci  ]
1573d0407baSopenharmony_ci
1583d0407baSopenharmony_ci  install_enable = true
1593d0407baSopenharmony_ci  install_images = [ system_base_dir ]
1603d0407baSopenharmony_ci  relative_install_dir = "chipset-sdk"
1613d0407baSopenharmony_ci  subsystem_name = "hdf"
1623d0407baSopenharmony_ci  part_name = "drivers_peripheral_display"
1633d0407baSopenharmony_ci}
1643d0407baSopenharmony_ci
1653d0407baSopenharmony_cigroup("display_layer") {
1663d0407baSopenharmony_ci  deps = [
1673d0407baSopenharmony_ci    ":display_device",
1683d0407baSopenharmony_ci    ":display_gfx",
1693d0407baSopenharmony_ci    ":display_gralloc",
1703d0407baSopenharmony_ci    ":higbm",
1713d0407baSopenharmony_ci  ]
1723d0407baSopenharmony_ci}
173