• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2024 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.
13import("//build/ohos.gni")
14import("//foundation/graphic/graphic_3d/lume/lume_config.gni")
15
16declare_args() {
17  RENDER_LOG_ENABLED = true
18  RENDER_VALIDATION_ENABLED = false
19  RENDER_BUILD_GLES = true
20  RENDER_BUILD_VULKAN = true
21  RENDER_ROFS = "rofsRndr"
22}
23
24config("lume_render_api") {
25  configs =[
26    "${LUME_CORE_PATH}:lume_base_api",
27    "${LUME_CORE_PATH}:lume_engine_api"
28  ]
29  include_dirs = [
30    "api",
31  ]
32
33  defines = []
34
35  if (RENDER_BUILD_GLES) {
36    defines += [
37      "RENDER_HAS_GLES_BACKEND=1"
38    ]
39  }
40
41  if (RENDER_BUILD_VULKAN) {
42    defines += [
43      "RENDER_HAS_VULKAN_BACKEND=1"
44    ]
45  }
46}
47
48config("lume_render_config") {
49  configs = [
50    "${LUME_CORE_PATH}:lume_default",
51    ":lume_render_api"
52    ]
53
54  include_dirs = [
55    "src/",
56  ]
57
58  defines = [
59    "RENDER_PUBLIC=__attribute__((visibility(\"default\")))",
60    "RENDER_OPTIMIZE_FOR_INTEGRATED_GPU=1",
61    "RENDER_DEV_ENABLED=0",
62    "RENDER_PERF_ENABLED=0",
63    "RENDER_TESTS_ENABLED=0",
64    "RENDER_LOG_TO_CONSOLE=1",
65    "RENDER_LOG_TO_FILE",
66    "RENDER_LOG_TO_DEBUG_OUTPUT=0",
67    "RENDER_DEBUG_GPU_RESOURCE_IDS=0",
68    "RENDER_DEBUG_MARKERS_ENABLED=0",
69    "RENDER_DEBUG_COMMAND_MARKERS_ENABLED=0",
70    "RENDER_GL_FLIP_Y_SWAPCHAIN=0",
71    "RENDER_GPU_TIMESTAMP_QUERIES_ENABLED=0",
72    "RENDER_VULKAN_RT_ENABLED=0",
73    "RENDER_BUILDTYPE=${BUILDTYPE}",
74    "RENDER_EMBEDDED_ASSETS_ENABLED=1",
75    "CORE_USE_COMPILER_GENERATED_STATIC_LIST=1",
76    "CORE_STATIC_PLUGIN_HEADER=${CORE_STATIC_PLUGIN_HEADER}"
77  ]
78
79  if (RENDER_LOG_ENABLED) {
80    defines += [
81      "PLUGIN_LOG_DISABLED=0",
82      "PLUGIN_LOG_DEBUG=1",
83    ]
84  } else {
85    defines += [
86      "PLUGIN_LOG_DISABLED=1",
87      "PLUGIN_LOG_DEBUG=0",
88    ]
89  }
90
91  if (LUME_OHOS_BUILD) {
92    defines += [
93      "__OHOS_PLATFORM__",
94    ]
95  }
96
97  if (RENDER_VALIDATION_ENABLED) {
98    defines += [
99      "RENDER_VALIDATION_ENABLED=1",
100      "RENDER_VULKAN_VALIDATION_ENABLED=0",
101      "RENDER_GL_DEBUG=1"
102    ]
103  }
104  if (RENDER_BUILD_VULKAN) {
105    defines += [
106      "VMA_STATS_STRING_ENABLED=0",
107      "VMA_STATIC_VULKAN_FUNCTIONS=0",
108    ]
109
110    if (LUME_OHOS_BUILD) {
111      defines += [
112        "RENDER_VULKAN_VALIDATION_ENABLE_WARNINGS=0"
113      ]
114      include_dirs += [
115        "src/vulkan/ohos",
116      ]
117    }
118  }
119
120
121  ldflags = [
122    "-Wl,--undefined=AGPRender_StaticPlugin"
123  ]
124
125  cflags = [
126    "-Wno-nullability-completeness",
127    "-Wno-ignored-qualifiers",
128    "-Wno-switch"
129  ]
130}
131
132ohos_source_set("lume_render_src") {
133  public_configs = [
134    ":lume_render_config",
135  ]
136  deps = []
137  external_deps = []
138
139  sources = [
140    "src/plugin/static_plugin.cpp",
141    "version.cpp",
142    "src/datastore/render_data_store_default_acceleration_structure_staging.cpp",
143    "src/datastore/render_data_store_default_acceleration_structure_staging.h",
144    "src/datastore/render_data_store_default_gpu_resource_data_copy.cpp",
145    "src/datastore/render_data_store_default_gpu_resource_data_copy.h",
146    "src/datastore/render_data_store_default_staging.cpp",
147    "src/datastore/render_data_store_default_staging.h",
148    "src/datastore/render_data_store_manager.cpp",
149    "src/datastore/render_data_store_manager.h",
150    "src/datastore/render_data_store_pod.cpp",
151    "src/datastore/render_data_store_pod.h",
152    "src/datastore/render_data_store_post_process.cpp",
153    "src/datastore/render_data_store_post_process.h",
154    "src/datastore/render_data_store_render_post_processes.cpp",
155    "src/datastore/render_data_store_render_post_processes.h",
156    "src/datastore/render_data_store_shader_passes.cpp",
157    "src/datastore/render_data_store_shader_passes.h",
158    "src/default_engine_constants.h",
159    "src/device/device.cpp",
160    "src/device/device.h",
161    "src/device/gpu_buffer.h",
162    "src/device/gpu_image.h",
163    "src/device/gpu_program.h",
164    "src/device/gpu_program_util.cpp",
165    "src/device/gpu_program_util.h",
166    "src/device/gpu_resource_cache.cpp",
167    "src/device/gpu_resource_cache.h",
168    "src/device/gpu_resource_desc_flag_validation.h",
169    "src/device/gpu_resource_handle_util.cpp",
170    "src/device/gpu_resource_handle_util.h",
171    "src/device/gpu_resource_manager.cpp",
172    "src/device/gpu_resource_manager.h",
173    "src/device/gpu_resource_manager_base.h",
174    "src/device/gpu_resource_util.cpp",
175    "src/device/gpu_resource_util.h",
176    "src/device/gpu_sampler.h",
177    "src/device/gpu_semaphore.h",
178    "src/device/pipeline_state_object.h",
179    "src/device/render_frame_sync.h",
180    "src/device/shader_manager.cpp",
181    "src/device/shader_manager.h",
182    "src/device/shader_module.h",
183    "src/device/shader_pipeline_binder.cpp",
184    "src/device/shader_pipeline_binder.h",
185    "src/device/shader_reflection_data.cpp",
186    "src/device/shader_reflection_data.h",
187    "src/device/swapchain.h",
188    "src/loader/json_format_serialization.h",
189    "src/loader/json_util.h",
190    "src/loader/pipeline_layout_loader.cpp",
191    "src/loader/pipeline_layout_loader.h",
192    "src/loader/render_data_configuration_loader.cpp",
193    "src/loader/render_data_configuration_loader.h",
194    "src/loader/render_data_loader.cpp",
195    "src/loader/render_data_loader.h",
196    "src/loader/render_node_graph_loader.cpp",
197    "src/loader/render_node_graph_loader.h",
198    "src/loader/shader_data_loader.cpp",
199    "src/loader/shader_data_loader.h",
200    "src/loader/shader_loader.cpp",
201    "src/loader/shader_loader.h",
202    "src/loader/shader_state_loader.cpp",
203    "src/loader/shader_state_loader.h",
204    "src/loader/shader_state_loader_util.cpp",
205    "src/loader/shader_state_loader_util.h",
206    "src/loader/vertex_input_declaration_loader.cpp",
207    "src/loader/vertex_input_declaration_loader.h",
208    "src/node/core_render_node_factory.cpp",
209    "src/node/core_render_node_factory.h",
210    "src/node/render_node_back_buffer.cpp",
211    "src/node/render_node_back_buffer.h",
212    "src/node/render_node_bloom.cpp",
213    "src/node/render_node_bloom.h",
214    "src/node/render_node_combined_post_process.cpp",
215    "src/node/render_node_combined_post_process.h",
216    "src/node/render_node_compute_generic.cpp",
217    "src/node/render_node_compute_generic.h",
218    "src/node/render_node_create_gpu_buffers.cpp",
219    "src/node/render_node_create_gpu_buffers.h",
220    "src/node/render_node_create_gpu_images.cpp",
221    "src/node/render_node_create_gpu_images.h",
222    "src/node/render_node_default_acceleration_structure_staging.cpp",
223    "src/node/render_node_default_acceleration_structure_staging.h",
224    "src/node/render_node_end_frame_staging.cpp",
225    "src/node/render_node_end_frame_staging.h",
226    "src/node/render_node_fullscreen_generic.cpp",
227    "src/node/render_node_fullscreen_generic.h",
228    "src/node/render_node_mip_chain_post_process.cpp",
229    "src/node/render_node_mip_chain_post_process.h",
230    "src/node/render_node_render_post_processes_generic.cpp",
231    "src/node/render_node_render_post_processes_generic.h",
232    "src/node/render_node_shader_passes_generic.cpp",
233    "src/node/render_node_shader_passes_generic.h",
234    "src/node/render_node_single_post_process.cpp",
235    "src/node/render_node_single_post_process.h",
236    "src/node/render_node_staging.cpp",
237    "src/node/render_node_staging.h",
238    "src/node/render_staging.cpp",
239    "src/node/render_staging.h",
240    "src/nodecontext/node_context_descriptor_set_manager.cpp",
241    "src/nodecontext/node_context_descriptor_set_manager.h",
242    "src/nodecontext/node_context_pool_manager.h",
243    "src/nodecontext/node_context_pso_manager.cpp",
244    "src/nodecontext/node_context_pso_manager.h",
245    "src/nodecontext/pipeline_descriptor_set_binder.cpp",
246    "src/nodecontext/pipeline_descriptor_set_binder.h",
247    "src/nodecontext/render_barrier_list.cpp",
248    "src/nodecontext/render_barrier_list.h",
249    "src/nodecontext/render_command_list.cpp",
250    "src/nodecontext/render_command_list.h",
251    "src/nodecontext/render_node_context_manager.cpp",
252    "src/nodecontext/render_node_context_manager.h",
253    "src/nodecontext/render_node_copy_util.cpp",
254    "src/nodecontext/render_node_copy_util.h",
255    "src/nodecontext/render_node_graph_manager.cpp",
256    "src/nodecontext/render_node_graph_manager.h",
257    "src/nodecontext/render_node_graph_node_store.h",
258    "src/nodecontext/render_node_graph_share_manager.cpp",
259    "src/nodecontext/render_node_graph_share_manager.h",
260    "src/nodecontext/render_node_manager.cpp",
261    "src/nodecontext/render_node_manager.h",
262    "src/nodecontext/render_node_parser_util.cpp",
263    "src/nodecontext/render_node_parser_util.h",
264    "src/nodecontext/render_node_post_process_util.cpp",
265    "src/nodecontext/render_node_post_process_util.h",
266    "src/nodecontext/render_node_util.cpp",
267    "src/nodecontext/render_node_util.h",
268    "src/perf/cpu_perf_scope.h",
269    "src/perf/cpu_timer.cpp",
270    "src/perf/cpu_timer.h",
271    "src/perf/gpu_query.h",
272    "src/perf/gpu_query_manager.cpp",
273    "src/perf/gpu_query_manager.h",
274    "src/postprocesses/render_post_process_bloom.cpp",
275    "src/postprocesses/render_post_process_bloom.h",
276    "src/postprocesses/render_post_process_bloom_node.cpp",
277    "src/postprocesses/render_post_process_bloom_node.h",
278    "src/postprocesses/render_post_process_blur.cpp",
279    "src/postprocesses/render_post_process_blur.h",
280    "src/postprocesses/render_post_process_blur_node.cpp",
281    "src/postprocesses/render_post_process_blur_node.h",
282    "src/postprocesses/render_post_process_combined.cpp",
283    "src/postprocesses/render_post_process_combined.h",
284    "src/postprocesses/render_post_process_combined_node.cpp",
285    "src/postprocesses/render_post_process_combined_node.h",
286    "src/postprocesses/render_post_process_dof.cpp",
287    "src/postprocesses/render_post_process_dof.h",
288    "src/postprocesses/render_post_process_dof_node.cpp",
289    "src/postprocesses/render_post_process_dof_node.h",
290    "src/postprocesses/render_post_process_flare.cpp",
291    "src/postprocesses/render_post_process_flare.h",
292    "src/postprocesses/render_post_process_flare_node.cpp",
293    "src/postprocesses/render_post_process_flare_node.h",
294    "src/postprocesses/render_post_process_fxaa.cpp",
295    "src/postprocesses/render_post_process_fxaa.h",
296    "src/postprocesses/render_post_process_fxaa_node.cpp",
297    "src/postprocesses/render_post_process_fxaa_node.h",
298    "src/postprocesses/render_post_process_motion_blur.cpp",
299    "src/postprocesses/render_post_process_motion_blur.h",
300    "src/postprocesses/render_post_process_motion_blur_node.cpp",
301    "src/postprocesses/render_post_process_motion_blur_node.h",
302    "src/postprocesses/render_post_process_taa.cpp",
303    "src/postprocesses/render_post_process_taa.h",
304    "src/postprocesses/render_post_process_taa_node.cpp",
305    "src/postprocesses/render_post_process_taa_node.h",
306    "src/postprocesses/render_post_process_upscale.cpp",
307    "src/postprocesses/render_post_process_upscale.h",
308    "src/postprocesses/render_post_process_upscale_node.cpp",
309    "src/postprocesses/render_post_process_upscale_node.h",
310    "src/renderer.cpp",
311    "src/renderer.h",
312    "src/render_backend.h",
313    "src/render_context.cpp",
314    "src/render_context.h",
315    "src/render_graph.cpp",
316    "src/render_graph.h",
317    "src/resource_handle_impl.cpp",
318    "src/resource_handle_impl.h",
319    "src/util/json.cpp",
320    "src/util/json_util.h",
321    "src/util/linear_allocator.h",
322    "src/util/log.h",
323    "src/util/property_util.cpp",
324    "src/util/property_util.h",
325    "src/util/render_frame_util.cpp",
326    "src/util/render_frame_util.h",
327    "src/util/render_util.cpp",
328    "src/util/render_util.h",
329    "src/util/shader_saver.cpp",
330    "src/util/shader_saver.h",
331    "src/util/string_util.h",
332    "${LUME_CORE_PATH}/api/core/property_tools/property_data.cpp",
333  ]
334
335  if (RENDER_BUILD_GLES) {
336    sources += [
337      "src/gles/device_gles.cpp",
338      "src/gles/device_gles.h",
339      "src/gles/egl_functions.h",
340      "src/gles/egl_state.cpp",
341      "src/gles/egl_state.h",
342      "src/gles/gl_functions.h",
343      "src/gles/gpu_buffer_gles.cpp",
344      "src/gles/gpu_buffer_gles.h",
345      "src/gles/gpu_image_gles.cpp",
346      "src/gles/gpu_image_gles.h",
347      "src/gles/gpu_program_gles.cpp",
348      "src/gles/gpu_program_gles.h",
349      "src/gles/gpu_query_gles.cpp",
350      "src/gles/gpu_query_gles.h",
351      "src/gles/gpu_resource_util_gles.cpp",
352      "src/gles/gpu_resource_util_gles.h",
353      "src/gles/gpu_sampler_gles.cpp",
354      "src/gles/gpu_sampler_gles.h",
355      "src/gles/gpu_semaphore_gles.cpp",
356      "src/gles/gpu_semaphore_gles.h",
357      "src/gles/node_context_descriptor_set_manager_gles.cpp",
358      "src/gles/node_context_descriptor_set_manager_gles.h",
359      "src/gles/node_context_pool_manager_gles.cpp",
360      "src/gles/node_context_pool_manager_gles.h",
361      "src/gles/pipeline_state_object_gles.cpp",
362      "src/gles/pipeline_state_object_gles.h",
363      "src/gles/render_backend_gles.cpp",
364      "src/gles/render_backend_gles.h",
365      "src/gles/render_frame_sync_gles.cpp",
366      "src/gles/render_frame_sync_gles.h",
367      "src/gles/shader_module_gles.cpp",
368      "src/gles/shader_module_gles.h",
369      "src/gles/spirv_cross_helpers_gles.cpp",
370      "src/gles/spirv_cross_helpers_gles.h",
371      "src/gles/spirv_cross_helper_structs_gles.h",
372      "src/gles/surface_information.h",
373      "src/gles/swapchain_gles.cpp",
374      "src/gles/swapchain_gles.h",
375    ]
376
377    external_deps += [
378      "graphic_2d:EGL",
379      "graphic_2d:GLESv3"
380    ]
381  }
382  if (RENDER_BUILD_VULKAN) {
383    sources += [
384      "src/vulkan/create_functions_vk.cpp",
385      "src/vulkan/create_functions_vk.h",
386      "src/vulkan/device_vk.cpp",
387      "src/vulkan/device_vk.h",
388      "src/vulkan/gpu_buffer_vk.cpp",
389      "src/vulkan/gpu_buffer_vk.h",
390      "src/vulkan/gpu_image_vk.cpp",
391      "src/vulkan/gpu_image_vk.h",
392      "src/vulkan/gpu_memory_allocator_vk.cpp",
393      "src/vulkan/gpu_memory_allocator_vk.h",
394      "src/vulkan/gpu_program_vk.cpp",
395      "src/vulkan/gpu_program_vk.h",
396      "src/vulkan/gpu_query_vk.cpp",
397      "src/vulkan/gpu_query_vk.h",
398      "src/vulkan/gpu_resource_util_vk.cpp",
399      "src/vulkan/gpu_resource_util_vk.h",
400      "src/vulkan/gpu_sampler_vk.cpp",
401      "src/vulkan/gpu_sampler_vk.h",
402      "src/vulkan/gpu_semaphore_vk.cpp",
403      "src/vulkan/gpu_semaphore_vk.h",
404      "src/vulkan/node_context_descriptor_set_manager_vk.cpp",
405      "src/vulkan/node_context_descriptor_set_manager_vk.h",
406      "src/vulkan/node_context_pool_manager_vk.cpp",
407      "src/vulkan/node_context_pool_manager_vk.h",
408      "src/vulkan/pipeline_create_functions_vk.cpp",
409      "src/vulkan/pipeline_create_functions_vk.h",
410      "src/vulkan/pipeline_state_object_vk.cpp",
411      "src/vulkan/pipeline_state_object_vk.h",
412      "src/vulkan/platform_hardware_buffer_util_vk.cpp",
413      "src/vulkan/platform_hardware_buffer_util_vk.h",
414      "src/vulkan/render_backend_vk.cpp",
415      "src/vulkan/render_backend_vk.h",
416      "src/vulkan/render_frame_sync_vk.cpp",
417      "src/vulkan/render_frame_sync_vk.h",
418      "src/vulkan/shader_module_vk.cpp",
419      "src/vulkan/shader_module_vk.h",
420      "src/vulkan/swapchain_vk.cpp",
421      "src/vulkan/swapchain_vk.h",
422      "src/vulkan/validate_vk.h",
423    ]
424    external_deps += [
425      "vulkan-headers:vulkan_headers",
426      "vulkan-loader:vulkan_loader",
427    ]
428  }
429
430  if (LUME_OHOS_BUILD) {
431    # platform source
432    sources += [
433      "src/device/ohos/platform_hardware_buffer.cpp",
434    ]
435    if (RENDER_BUILD_GLES) {
436      sources += [
437        "src/gles/ohos/platform_device_gles.cpp",
438      ]
439    }
440    if (RENDER_BUILD_VULKAN) {
441      # platform source
442      sources += [
443        "src/vulkan/ohos/platform_create_functions_vk.cpp",
444        "src/vulkan/ohos/platform_device_vk.cpp",
445        "src/vulkan/ohos/platform_gpu_buffer_vk.cpp",
446        "src/vulkan/ohos/platform_gpu_image_vk.cpp",
447        "src/vulkan/ohos/platform_hardware_buffer_util.cpp",
448        "src/vulkan/ohos/platform_vk.cpp",
449        "src/vulkan/ohos/platform_vk.h",
450      ]
451    }
452  }
453  external_deps += [
454    "c_utils:utils",
455    "graphic_surface:surface",
456    "skia:skia_canvaskit",
457  ]
458
459  part_name = "graphic_3d"
460  subsystem_name = "graphic"
461}
462
463lume_compile_shader("lume_render_compile_shader")
464{
465  script = "${LUME_CORE_PATH}/tools/CompilerShader.sh"
466  outputs = [ "$target_gen_dir" ]
467  tool_path = "$target_gen_dir/../LumeBinaryCompile/LumeShaderCompiler"
468  dest_gen_path = "$target_gen_dir/assets"
469  asset_path = rebase_path("./assets/render", root_build_dir)
470  shader_path = "${dest_gen_path}/shaders"
471  include_path = rebase_path("api", root_build_dir)
472  compileShader_deps=["${LUME_BINARY_PATH}/LumeShaderCompiler:lume_binary_shader_compile"]
473  if (ohos_indep_compiler_enable) {
474    tool_path = "//prebuilts/graphics_3d/AGPBinaryCompile"
475    compileShader_deps -= [
476      "${LUME_BINARY_PATH}/LumeShaderCompiler:lume_binary_shader_compile",
477    ]
478  }
479}
480
481lume_rofs("lume_render_rofs")
482{
483  output_obj= ""
484  if (target_cpu == "arm") {
485    output_obj = "${RENDER_ROFS}_32.o"
486  }
487
488  if (target_cpu == "arm64") {
489    output_obj = "${RENDER_ROFS}_64.o"
490  }
491
492  if (target_cpu == "x86") {
493    output_obj = "${RENDER_ROFS}_x32.o"
494  }
495
496  if (target_cpu == "x64") {
497    output_obj = "${RENDER_ROFS}_x64.o"
498  }
499
500  outputs = "${target_gen_dir}/assets/${output_obj}"
501
502  tool_path = "$target_gen_dir/../LumeBinaryCompile/lumeassetcompiler"
503  root = "/"
504  bin_name = "BINARYDATAFORRENDER"
505  size_name = "SIZEOFDATAFORRENDER"
506  base_name = RENDER_ROFS
507  script = "${LUME_CORE_PATH}/tools/CompilerAsset.sh"
508  copy_path = "$target_gen_dir/assets"
509  compileShader_deps = [
510    ":lume_render_compile_shader",
511    "${LUME_BINARY_PATH}/lumeassetcompiler:lume_binary_assets_compile"
512  ]
513  if (ohos_indep_compiler_enable) {
514    tool_path = "//prebuilts/graphics_3d/AGPBinaryCompile/"
515    compileShader_deps -= [
516      "${LUME_BINARY_PATH}/lumeassetcompiler:lume_binary_assets_compile",
517    ]
518  }
519  file_extension = "\".spv;.json;.lsb;.shader;.shadergs;.shadervid;.shaderpl;.rng;.gl;.gles\""
520}
521
522source_set("lume_render_rofs_obj") {
523  output_obj = ""
524  if (target_cpu == "arm") {
525    output_obj = "${RENDER_ROFS}_32.o"
526  }
527
528  if (target_cpu == "arm64") {
529    output_obj = "${RENDER_ROFS}_64.o"
530  }
531
532  if (target_cpu == "x86") {
533    output_obj = "${RENDER_ROFS}_x32.o"
534  }
535
536  if (target_cpu == "x64") {
537    output_obj = "${RENDER_ROFS}_x64.o"
538  }
539
540  sources = [
541    "${target_gen_dir}/assets/${output_obj}"
542  ]
543  deps = [
544    ":lume_render_rofs"
545  ]
546}
547
548ohos_source_set("lume_render_src_plugin") {
549  defines = [
550    "CORE_PLUGIN=1"
551  ]
552  sources = [
553    "src/plugin/dynamic_plugin.cpp",
554    "src/plugin/dynamic_registry.cpp",
555  ]
556
557  configs = [
558    ":lume_render_config"
559  ]
560}
561
562ohos_shared_library(LIB_RENDER) {
563  deps = [
564    ":lume_render_src",
565    ":lume_render_src_plugin",
566    ":lume_render_rofs_obj"
567  ]
568  relative_install_dir = "graphics3d"
569  part_name = "graphic_3d"
570  subsystem_name = "graphic"
571}
572
573ohos_shared_library("AGPRenderApi") {
574  public_configs = [
575    ":lume_render_api",
576  ]
577
578  part_name = "graphic_3d"
579  subsystem_name = "graphic"
580}