• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2021-2023 Huawei Device 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("//foundation/arkui/ace_engine/ace_config.gni")
16import("//foundation/graphic/graphic_2d/graphic_config.gni")
17
18ohos_executable("drawing_engine_sample") {
19  install_enable = true
20  cflags = [
21    "-Wall",
22    "-Werror",
23    "-Wno-unused-parameter",
24    "-Wno-missing-field-initializers",
25    "-Wno-unused-variable",
26    "-Werror,-Wreturn-type",
27  ]
28
29  sources = [
30    "drawing_engine_sample.cpp",
31    "main.cpp",
32  ]
33
34  sources += [
35    "drawing_engine/canvas_context.cpp",
36    "drawing_engine/drawing_proxy.cpp",
37    "drawing_engine/drawing_surface/surface_frame_ohos_raster.cpp",
38    "drawing_engine/drawing_surface/surface_ohos.cpp",
39    "drawing_engine/drawing_surface/surface_ohos_raster.cpp",
40    "drawing_engine/software_render_backend.cpp",
41  ]
42
43  if (ace_enable_gpu) {
44    if (graphic_2d_feature_enable_vulkan) {
45      sources += [
46        "drawing_engine/drawing_surface/surface_frame_ohos_vulkan.cpp",
47        "drawing_engine/drawing_surface/surface_ohos_vulkan.cpp",
48        "drawing_engine/vulkan_render_backend.cpp",
49      ]
50    } else {
51      sources += [
52        "drawing_engine/drawing_surface/surface_frame_ohos_gl.cpp",
53        "drawing_engine/drawing_surface/surface_ohos_gl.cpp",
54        "drawing_engine/egl_manager.cpp",
55        "drawing_engine/gles_render_backend.cpp",
56      ]
57    }
58  }
59
60  configs = []
61
62  include_dirs = [
63    "include",
64    "drawing_engine",
65    "drawing_engine/drawing_surface",
66    "$graphic_2d_root/rosen/modules/composer/hdi_backend/include",
67    "$graphic_2d_root/utils/sync_fence/export",
68    "$graphic_2d_root/rosen/include/common",
69    "//foundation/communication/ipc/interfaces/innerkits/ipc_core/include",
70  ]
71
72  sources += [
73    "benchmarks/benchmark_config.cpp",
74    "benchmarks/benchmark_dcl/drawing_command.cpp",
75    "benchmarks/benchmark_dcl/drawing_playback.cpp",
76    "benchmarks/benchmark_dcl/skia_recording.cpp",
77    "benchmarks/benchmark_multithread/drawing_mutilthread.cpp",
78    "benchmarks/benchmark_singlethread/drawing_singlethread.cpp",
79  ]
80
81  include_dirs += [
82    "benchmarks",
83    "benchmarks/benchmark_singlethread",
84    "benchmarks/benchmark_multithread",
85    "benchmarks/benchmark_api",
86    "benchmarks/benchmark_dcl",
87  ]
88
89  deps = [
90    "$graphic_2d_root:libsurface",
91    "$graphic_2d_root/rosen/modules/composer:libcomposer",
92    "$graphic_2d_root/utils:sync_fence",
93  ]
94
95  if (defined(use_new_skia) && use_new_skia) {
96    deps += [ "//third_party/skia:skia_ohos" ]
97  } else {
98    deps += [ "//third_party/flutter/build/skia:ace_skia_ohos" ]
99  }
100
101  public_deps = libgl
102  defines = gpu_defines
103
104  #defines = [ "USE_CANVASKIT0310_SKIA" ]
105  #defines += gpu_defines
106  deps += [
107    #"//third_party/skia:skia",
108  ]
109  if (graphic_2d_feature_enable_vulkan) {
110    include_dirs += [ "//third_party/flutter/engine/flutter/vulkan" ]
111  }
112  public_deps += [
113    "$graphic_2d_root:libvulkan",
114    "$graphic_2d_root/rosen/modules/render_service_base:librender_service_base",
115    "//third_party/openssl:libcrypto_shared",
116  ]
117  external_deps = [
118    "c_utils:utils",
119    "eventhandler:libeventhandler",
120    "hilog:libhilog",
121    "image_framework:image_native",
122    "init:libbegetutil",
123    "ipc:ipc_core",
124  ]
125
126  subsystem_name = "graphic"
127  part_name = "graphic_2d"
128}
129
130ohos_executable("drawing_sample_rs") {
131  install_enable = true
132
133  sources = [ "drawing_c_sample.cpp" ]
134
135  include_dirs = [
136    "$graphic_2d_root/rosen/modules/2d_graphics/include",
137    "$graphic_2d_root/rosen/modules/2d_graphics/src",
138    "$graphic_2d_root/rosen/modules/render_service_base/src",
139    "$graphic_2d_root/rosen/modules/render_service_base/include",
140    "$graphic_2d_root/rosen/modules/render_service_client",
141    "$graphic_2d_root/rosen/include/common",
142    "//foundation/window/window_manager/interfaces/innerkits/wm",
143  ]
144
145  deps = [
146    "$graphic_2d_root/rosen/modules/2d_graphics:2d_graphics",
147    "$graphic_2d_root/rosen/modules/render_service_base:librender_service_base",
148    "$graphic_2d_root/rosen/modules/render_service_client:librender_service_client",
149    "//third_party/zlib:libz",
150  ]
151
152  external_deps = [
153    "c_utils:utils",
154    "hilog:libhilog",
155  ]
156
157  part_name = "graphic_2d"
158  subsystem_name = "graphic"
159}
160
161ohos_executable("drawing_sample_canvaskit0310") {
162  install_enable = true
163
164  sources = [ "drawing_sample_canvaskit0310.cpp" ]
165
166  include_dirs = [
167    "$graphic_2d_root/rosen/modules/composer/hdi_backend/include",
168    "$graphic_2d_root/rosen/include/common",
169    "$graphic_2d_root/interfaces/inner_api/common",
170    "$graphic_2d_root/rosen/modules/composer/vsync/include",
171    "$graphic_2d_root/rosen/modules/2d_graphics/include",
172    "$graphic_2d_root/rosen/modules/2d_graphics/src",
173  ]
174
175  deps = [
176    "$graphic_2d_root:libsurface",
177    "$graphic_2d_root/rosen/modules/2d_graphics:2d_graphics_canvaskit0310",
178    "$graphic_2d_root/rosen/modules/composer:libcomposer",
179    "$graphic_2d_root/utils:libgraphic_utils",
180    "$graphic_2d_root/utils:sync_fence",
181  ]
182
183  external_deps = [
184    "hilog:libhilog",
185    "ipc:ipc_core",
186  ]
187
188  part_name = "graphic_2d"
189  subsystem_name = "graphic"
190}
191