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}