• 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/graphic/graphic_2d/graphic_config.gni")
16
17ohos_executable("drawing_engine_sample") {
18  install_enable = true
19  cflags = [
20    "-Wall",
21    "-Werror",
22    "-Wno-unused-parameter",
23    "-Wno-missing-field-initializers",
24    "-Wno-unused-variable",
25    "-Werror,-Wreturn-type",
26    "-Wno-error=deprecated-declarations",
27  ]
28
29  sanitize = {
30    cfi = true
31    cfi_cross_dso = true
32    debug = false
33  }
34
35  sources = [
36    "drawing_engine_sample.cpp",
37    "main.cpp",
38  ]
39
40  sources += [
41    "drawing_engine/canvas_context.cpp",
42    "drawing_engine/drawing_proxy.cpp",
43    "drawing_engine/drawing_surface/surface_frame_ohos_raster.cpp",
44    "drawing_engine/drawing_surface/surface_ohos.cpp",
45    "drawing_engine/drawing_surface/surface_ohos_raster.cpp",
46    "drawing_engine/software_render_backend.cpp",
47  ]
48
49  if (rs_enable_gpu) {
50    if (graphic_2d_feature_enable_vulkan) {
51      sources += [
52        "drawing_engine/drawing_surface/surface_frame_ohos_vulkan.cpp",
53        "drawing_engine/drawing_surface/surface_ohos_vulkan.cpp",
54        "drawing_engine/vulkan_render_backend.cpp",
55      ]
56    }
57    if (graphic_2d_feature_enable_opengl) {
58      sources += [
59        "drawing_engine/drawing_surface/surface_frame_ohos_gl.cpp",
60        "drawing_engine/drawing_surface/surface_ohos_gl.cpp",
61        "drawing_engine/egl_manager.cpp",
62        "drawing_engine/gles_render_backend.cpp",
63      ]
64    }
65  }
66
67  include_dirs = [
68    "include",
69    "drawing_engine",
70    "drawing_engine/drawing_surface",
71    "foundation/communication/ipc/interfaces/innerkits/ipc_core/include",
72    "$graphic_2d_root/rosen/modules/composer/hdi_backend/include",
73    "$graphic_2d_root/interfaces/inner_api/common",
74    "$graphic_2d_root/rosen/include/common",
75    "$graphic_2d_root/rosen/modules/render_service_base/src/platform/ohos/backend",
76    "$graphic_2d_root/rosen/modules/render_service_base/src",
77    "$graphic_2d_root/rosen/modules/render_service_client/core",
78  ]
79
80  sources += [
81    "benchmarks/benchmark_config.cpp",
82    "benchmarks/benchmark_dcl/drawing_command.cpp",
83    "benchmarks/benchmark_dcl/drawing_playback.cpp",
84    "benchmarks/benchmark_dcl/skia_recording.cpp",
85    "benchmarks/benchmark_multithread/drawing_mutilthread.cpp",
86    "benchmarks/benchmark_singlethread/drawing_singlethread.cpp",
87  ]
88
89  include_dirs += [
90    "benchmarks",
91    "benchmarks/benchmark_singlethread",
92    "benchmarks/benchmark_multithread",
93    "benchmarks/benchmark_api",
94    "benchmarks/benchmark_dcl",
95  ]
96
97  deps = [ "$graphic_2d_root/rosen/modules/composer:libcomposer" ]
98
99  external_deps = [ "skia:skia_canvaskit" ]
100
101  public_deps = [
102    "$graphic_2d_root/frameworks/opengl_wrapper:EGL",
103    "$graphic_2d_root/frameworks/opengl_wrapper:GLESv3",
104  ]
105  defines = gpu_defines
106
107  if (defined(use_rosen_drawing) && use_rosen_drawing) {
108    defines += [ "USE_ROSEN_DRAWING" ]
109
110    deps += [ "$graphic_2d_root/rosen/modules/2d_graphics:2d_graphics" ]
111  }
112  public_deps += [
113    "$graphic_2d_root:libvulkan",
114    "$graphic_2d_root/rosen/modules/render_service_base:librender_service_base",
115  ]
116  public_external_deps = [ "openssl:libcrypto_shared" ]
117  external_deps += [
118    "c_utils:utils",
119    "eventhandler:libeventhandler",
120    "graphic_surface:sync_fence",
121    "hilog:libhilog",
122    "image_framework:image_native",
123    "init:libbegetutil",
124    "ipc:ipc_core",
125  ]
126
127  subsystem_name = "graphic"
128  part_name = "graphic_2d"
129}
130
131ohos_executable("drawing_sample_rs") {
132  install_enable = true
133
134  sources = [ "drawing_c_sample.cpp" ]
135
136  include_dirs = [
137    "$graphic_2d_root/rosen/modules/2d_graphics/include",
138    "$graphic_2d_root/rosen/modules/2d_graphics/src",
139    "$graphic_2d_root/rosen/modules/render_service_base/src",
140    "$graphic_2d_root/rosen/modules/render_service_base/include",
141    "$graphic_2d_root/rosen/modules/render_service_client",
142    "$graphic_2d_root/rosen/include/common",
143    "$window_base_path/interfaces/innerkits/wm",
144  ]
145
146  deps = [
147    "$graphic_2d_root/rosen/modules/2d_graphics:2d_graphics",
148    "$graphic_2d_root/rosen/modules/2d_graphics/drawing_ndk:native_drawing_ndk",
149    "$graphic_2d_root/rosen/modules/render_service_base:librender_service_base",
150    "$graphic_2d_root/rosen/modules/render_service_client:librender_service_client",
151  ]
152
153  external_deps = [
154    "c_utils:utils",
155    "hilog:libhilog",
156    "zlib:libz",
157  ]
158
159  part_name = "graphic_2d"
160  subsystem_name = "graphic"
161}
162
163ohos_executable("drawing_sample_replayer") {
164  install_enable = true
165  cflags = [
166    "-Wall",
167    "-Werror",
168    "-Wno-unused-parameter",
169    "-Wno-missing-field-initializers",
170    "-Wno-unused-variable",
171    "-Werror,-Wreturn-type",
172    "-Wno-error=deprecated-declarations",
173  ]
174
175  sources = [ "drawing_sample_replayer.cpp" ]
176
177  sanitize = {
178    cfi = true
179    cfi_cross_dso = true
180    debug = false
181  }
182
183  include_dirs = [
184    "include",
185    "$graphic_2d_root/rosen/include/common",
186    "$graphic_2d_root/rosen/modules/render_service_base/src/platform/ohos/backend",
187    "$graphic_2d_root/rosen/modules/render_service_base/src",
188    "foundation/communication/ipc/interfaces/innerkits/ipc_core/include",
189    "foundation/communication/ipc/interfaces/innerkits/dm",
190    "$graphic_2d_root/rosen/modules/render_service_client/core",
191  ]
192
193  deps = [ "$graphic_2d_root/rosen/modules/render_service_client:librender_service_client" ]
194
195  public_deps = [
196    "$graphic_2d_root/frameworks/opengl_wrapper:EGL",
197    "$graphic_2d_root/frameworks/opengl_wrapper:GLESv3",
198  ]
199  defines = gpu_defines
200
201  if (defined(use_rosen_drawing) && use_rosen_drawing) {
202    defines += [ "USE_ROSEN_DRAWING" ]
203
204    deps += [ "$graphic_2d_root/rosen/modules/2d_graphics:2d_graphics" ]
205  }
206
207  defines += [
208    "VK_USE_PLATFORM_OHOS",
209    "NDEBUG",
210  ]
211  include_dirs += [
212    "$graphic_2d_root/frameworks/surface/include",
213    "$graphic_2d_root/rosen/modules/2d_graphics/include",
214    "$graphic_2d_root/interfaces/inner_api/surface",
215  ]
216  public_deps += [
217    "$graphic_2d_root:libvulkan",
218    "$graphic_2d_root/rosen/modules/render_service_base:librender_service_base",
219  ]
220  external_deps = [
221    "c_utils:utils",
222    "graphic_surface:surface",
223    "ipc:ipc_core",
224    "window_manager:libdm",
225  ]
226
227  subsystem_name = "graphic"
228  part_name = "graphic_2d"
229}
230