1# Copyright (c) 2022 Unionman Technology Co., Ltd. 2# Licensed under the Apache License, Version 2.0 (the "License"); 3# you may not use this file except in compliance with the License. 4# You may obtain a copy of the License at 5# 6# http://www.apache.org/licenses/LICENSE-2.0 7# 8# Unless required by applicable law or agreed to in writing, software 9# distributed under the License is distributed on an "AS IS" BASIS, 10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11# See the License for the specific language governing permissions and 12# limitations under the License. 13 14import("//build/ohos.gni") 15import("//drivers/hdf_core/adapter/uhdf2/uhdf.gni") 16 17group("display_buffer_model") { 18 deps = [ 19 ":libdisplay_buffer_vdi_impl", 20 ":libdisplay_buffer_vendor", 21 ] 22} 23 24config("libdisplay_buffer_vdi_impl_config") { 25 include_dirs = [ "./src/display_gralloc" ] 26} 27 28ohos_shared_library("libdisplay_buffer_vdi_impl") { 29 sources = [ "src/display_gralloc/display_buffer_vdi_impl.cpp" ] 30 31 public_configs = [ ":libdisplay_buffer_vdi_impl_config" ] 32 33 include_dirs = [ 34 "./src/display_gralloc", 35 "//drivers/peripheral/base", 36 "//drivers/interface/display/composer/hdifd_parcelable", 37 "//drivers/interface/display/buffer", 38 "//drivers/peripheral/display/utils/include", 39 "//drivers/peripheral/display/buffer/hdi_service/include", 40 ] 41 42 output_name = "libdisplay_buffer_vdi_impl" 43 cflags = [ 44 "-DGRALLOC_GBM_SUPPORT", 45 "-Wno-macro-redefined", 46 ] 47 48 deps = [ ":libdisplay_buffer_vendor" ] 49 50 external_deps = [ 51 "c_utils:utils", 52 "drivers_interface_display:display_buffer_idl_headers", 53 "drivers_interface_display:display_composer_idl_headers", 54 "hdf_core:libhdf_utils", 55 "hilog:libhilog", 56 "ipc:ipc_single", 57 ] 58 59 install_enable = true 60 install_images = [ chipset_base_dir ] 61 innerapi_tags = [ "chipsetsdk" ] 62 subsystem_name = "hdf" 63 part_name = "unionman_products" 64} 65 66ohos_shared_library("libdisplay_buffer_vendor") { 67 sources = [ "src/display_gralloc/display_gralloc_gbm.cpp" ] 68 69 include_dirs = [ 70 "include", 71 "./src/display_gralloc", 72 "//drivers/peripheral/base", 73 "//drivers/interface/display/composer/hdifd_parcelable", 74 "//drivers/peripheral/display/utils/include", 75 "//foundation/communication/ipc/interfaces/innerkits/ipc_core/include", 76 ] 77 78 output_name = "libdisplay_buffer_vendor" 79 cflags = [ 80 "-DGRALLOC_GBM_SUPPORT", 81 "-Wno-macro-redefined", 82 ] 83 84 deps = [ 85 ":libhigbm_vendor", 86 "//third_party/libdrm:libdrm", 87 ] 88 89 external_deps = [ 90 "c_utils:utils", 91 "drivers_interface_display:display_buffer_idl_headers", 92 "drivers_interface_display:display_composer_idl_headers", 93 "hdf_core:libhdf_utils", 94 "hilog:libhilog", 95 ] 96 97 install_enable = true 98 install_images = [ chipset_base_dir ] 99 innerapi_tags = [ "chipsetsdk" ] 100 subsystem_name = "hdf" 101 part_name = "unionman_products" 102} 103 104ohos_static_library("libhigbm_vendor") { 105 sources = [ "src/display_gralloc/hi_gbm.cpp" ] 106 include_dirs = [ 107 "./src/display_gralloc", 108 "//drivers/peripheral/display/utils/include", 109 "//foundation/communication/ipc/interfaces/innerkits/ipc_core/include", 110 ] 111 output_name = "libhigbm_vendor" 112 cflags = [ 113 "-DGRALLOC_GBM_SUPPORT", 114 "-Wno-macro-redefined", 115 ] 116 deps = [ "//third_party/libdrm:libdrm" ] 117 118 external_deps = [ 119 "c_utils:utils", 120 "hilog:libhilog", 121 ] 122} 123 124ohos_shared_library("libdisplay_composer_vdi_impl") { 125 sources = [ "src/display_device/display_composer_vdi_impl.cpp" ] 126 127 include_dirs = [ 128 "include", 129 "src/display_device", 130 "//drivers/peripheral/display/utils/include", 131 "//drivers/interface/display/composer", 132 "//drivers/peripheral/display/interfaces/include", 133 "//drivers/peripheral/display/composer/hdi_service/include", 134 "//drivers/interface/display/composer/hdifd_parcelable", 135 ] 136 137 deps = [ ":display_composer_vendor" ] 138 139 external_deps = [ 140 "c_utils:utils", 141 "drivers_interface_display:display_composer_idl_headers", 142 "graphic_chipsetsdk:buffer_handle", 143 "hilog:libhilog", 144 "ipc:ipc_single", 145 ] 146 147 install_enable = true 148 install_images = [ chipset_base_dir ] 149 subsystem_name = "hdf" 150 part_name = "unionman_products" 151} 152 153ohos_shared_library("display_composer_vendor") { 154 sources = [ 155 "src/display_device/drm_connector.cpp", 156 "src/display_device/drm_crtc.cpp", 157 "src/display_device/drm_device.cpp", 158 "src/display_device/drm_display.cpp", 159 "src/display_device/drm_encoder.cpp", 160 "src/display_device/drm_plane.cpp", 161 "src/display_device/drm_vsync_worker.cpp", 162 "src/display_device/hdi_composer.cpp", 163 "src/display_device/hdi_device_interface.cpp", 164 "src/display_device/hdi_display.cpp", 165 "src/display_device/hdi_drm_composition.cpp", 166 "src/display_device/hdi_drm_layer.cpp", 167 "src/display_device/hdi_gfx_composition.cpp", 168 "src/display_device/hdi_layer.cpp", 169 "src/display_device/hdi_session.cpp", 170 ] 171 output_name = "display_composer_vendor" 172 include_dirs = [ 173 "include", 174 "src/utils", 175 "src/display_gralloc", 176 "src/display_device", 177 "//drivers/peripheral/display/buffer/hdi_service/include", 178 "//drivers/peripheral/display/utils/include", 179 "//drivers/peripheral/base", 180 "//drivers/interface/display/composer", 181 "//foundation/communication/ipc/interfaces/innerkits/ipc_core/include", 182 "//device/soc/amlogic/a311d/hardware/ge2d/include", 183 "//drivers/interface/display/composer/hdifd_parcelable", 184 ] 185 186 deps = [ 187 ":libdisplay_buffer_vdi_impl", 188 "//device/soc/amlogic/a311d/hardware/ge2d:libge2d", 189 "//third_party/libdrm:libdrm", 190 ] 191 192 cflags_cc = [ 193 "-Wno-error=unused-function", 194 "-Wno-error=missing-braces", 195 "-Wno-error=#warnings", 196 "-Wno-error=unused-const-variable", 197 ] 198 199 external_deps = [ 200 "c_utils:utils", 201 "drivers_interface_display:display_buffer_idl_headers", 202 "drivers_interface_display:display_composer_idl_headers", 203 "hdf_core:libhdf_utils", 204 "hilog:libhilog", 205 "hitrace:hitrace_meter", 206 ] 207 install_enable = true 208 install_images = [ chipset_base_dir ] 209 subsystem_name = "hdf" 210 part_name = "unionman_products" 211} 212 213ohos_shared_library("display_gfx") { 214 sources = [ "src/display_gfx/display_gfx.c" ] 215 include_dirs = [ 216 "include", 217 "src/utils", 218 "//base/hiviewdfx/interfaces/innerkits/libhilog/include", 219 "//commonlibrary/c_utils/base/include", 220 "//device/soc/amlogic/a311d/hardware/ge2d/include/", 221 "//drivers/peripheral/display/interfaces/include", 222 "//drivers/peripheral/display/utils/include", 223 "//drivers/peripheral/base", 224 "//foundation/graphic/standard/utils/include", 225 ] 226 227 output_name = "display_gfx" 228 cflags = [ "-Wno-macro-redefined" ] 229 deps = [ "//device/soc/amlogic/a311d/hardware/ge2d:libge2d" ] 230 231 external_deps = [ 232 "c_utils:utils", 233 "hdf_core:libhdf_utils", 234 "hilog:libhilog", 235 ] 236 237 install_enable = true 238 install_images = [ chipset_base_dir ] 239 subsystem_name = "hdf" 240 part_name = "unionman_products" 241} 242 243group("display_composer_model") { 244 deps = [ 245 ":display_composer_vendor", 246 ":display_gfx", 247 ":libdisplay_composer_vdi_impl", 248 ] 249} 250