From 4fd48655c39f44e040f9f62d493269d3ef4ed2e9 Mon Sep 17 00:00:00 2001 From: yanansong Date: Wed, 21 Jun 2023 16:24:26 +0800 Subject: [PATCH 1/2] enable composer --- build/gn/BUILD.gn | 2 + .../display_device/hdi_session.cpp | 8 +- display_server/ft_configs/ds_config.gni | 2 +- .../rosen/modules/composer/ft_build/BUILD.gn | 85 +++++++++++++++++++ .../composer/hdi_backend/include/hdi_layer.h | 1 + .../render_frame_trace/ft_build/BUILD.gn | 20 +++++ 6 files changed, 113 insertions(+), 5 deletions(-) create mode 100644 display_server/rosen/modules/composer/ft_build/BUILD.gn create mode 100644 display_server/rosen/modules/render_frame_trace/ft_build/BUILD.gn diff --git a/build/gn/BUILD.gn b/build/gn/BUILD.gn index f9fbd9b..1b2c417 100644 --- a/build/gn/BUILD.gn +++ b/build/gn/BUILD.gn @@ -19,6 +19,8 @@ group("ft_engine") { "//display_server/utils/sync_fence/ft_build:sync_fence", "//display_server/frameworks/surface/ft_build:surface", "//display_server/rosen/modules/render_service_base/ft_build:librender_service_base", + "//display_server/drivers/hdi_service/gralloc/client:hdi_gralloc_client", + "//display_server/rosen/modules/composer/ft_build:libcomposer", "//window_manager/utils/ft_build:libwmutil", "//window_manager/dm/ft_build:libdm", diff --git a/display_server/drivers/hal/drm_backend/display_device/hdi_session.cpp b/display_server/drivers/hal/drm_backend/display_device/hdi_session.cpp index 613ecb6..a839a5d 100644 --- a/display_server/drivers/hal/drm_backend/display_device/hdi_session.cpp +++ b/display_server/drivers/hal/drm_backend/display_device/hdi_session.cpp @@ -549,10 +549,10 @@ int32_t DeviceInitialize(DeviceFuncs **funcs) return DISPLAY_SUCCESS; } -int32_t DeviceUnInitialize(DeviceFuncs *funcs) +int32_t DeviceUninitialize(DeviceFuncs *funcs) { if (funcs == nullptr) { - LOG_ERROR("DeviceUnInitialize: param funcs is nullptr."); + LOG_ERROR("DeviceUninitialize: param funcs is nullptr."); return DISPLAY_PARAM_ERR; } @@ -596,10 +596,10 @@ int32_t LayerInitialize(LayerFuncs **funcs) return DISPLAY_SUCCESS; } -int32_t LayerUnInitialize(LayerFuncs *funcs) +int32_t LayerUninitialize(LayerFuncs *funcs) { if (funcs == nullptr) { - LOG_ERROR("LayerUnInitialize: param funcs is nullptr."); + LOG_ERROR("LayerUninitialize: param funcs is nullptr."); return DISPLAY_PARAM_ERR; } diff --git a/display_server/ft_configs/ds_config.gni b/display_server/ft_configs/ds_config.gni index 1f7e7da..da6dfdc 100644 --- a/display_server/ft_configs/ds_config.gni +++ b/display_server/ft_configs/ds_config.gni @@ -15,4 +15,4 @@ display_server_root = "//display_server" rosen_root = "//display_server/rosen" rs_enable_gpu = false ace_enable_gpu = false -gpu_defines = [] +gpu_defines = [] \ No newline at end of file diff --git a/display_server/rosen/modules/composer/ft_build/BUILD.gn b/display_server/rosen/modules/composer/ft_build/BUILD.gn new file mode 100644 index 0000000..5e29a2c --- /dev/null +++ b/display_server/rosen/modules/composer/ft_build/BUILD.gn @@ -0,0 +1,85 @@ +# Copyright (c) 2023 Huawei Technologies Co., Ltd. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import("//build/gn/fangtian.gni") +import("//display_server/ft_configs/ds_config.gni") + +config("composer_config") { + visibility = [ ":*" ] + + cflags = [ + "-Wall", + "-Werror", + "-g3", + "-Wno-c++11-narrowing" + ] +} + +config("composer_public_config") { + include_dirs = [ + "//display_server/rosen/include/common", + "//display_server/drivers/interfaces", + "//display_server/interfaces/inner_api/common", + "//display_server/interfaces/inner_api/surface", + "//display_server/rosen/modules/composer/hdi_backend/include", + "//display_server/rosen/modules/composer/vsync/include", + "//display_server/interfaces/inner_api/composer", + "//display_server/rosen/modules/render_service_base/include" + ] +} + +ft_shared_library("libcomposer") { + sources = [ + "../hdi_backend/src/hdi_backend.cpp", + "../hdi_backend/src/hdi_device.cpp", + "../hdi_backend/src/hdi_framebuffer_surface.cpp", + "../hdi_backend/src/hdi_layer.cpp", + "../hdi_backend/src/hdi_output.cpp", + "../hdi_backend/src/hdi_screen.cpp", + ] + + include_dirs = [ + "//display_server/rosen/modules/render_frame_trace/include", + "//display_server/rosen/modules/render_service_base/src", + "//display_server/utils/log", + ] + + configs = [ + ":composer_config", + "//build/gn/configs/system_libs:hilog_config", + "//build/gn/configs/system_libs:ipc_core_config", + "//build/gn/configs/system_libs:c_utils_config", + ] + + defines = [] + defines += gpu_defines + + public_configs = [ + ":composer_public_config", + ] + + deps = [ + "//display_server/frameworks/surface/ft_build:surface", + "//display_server/rosen/modules/render_frame_trace/ft_build:render_frame_trace", + "//display_server/rosen/modules/render_service_base/ft_build:librender_service_base", + ] + + public_deps = [ + "../vsync/ft_build:libvsync", + "//display_server/utils/buffer_handle/ft_build:buffer_handle", + "//display_server/utils/scoped_bytrace/ft_build:scoped_bytrace", + "//display_server/utils/sync_fence/ft_build:sync_fence", + "//display_server/drivers/hal/drm_backend/display_device:display_device", + "//display_server/drivers/hal/drm_backend/display_gralloc:display_gralloc", + ] +} \ No newline at end of file diff --git a/display_server/rosen/modules/composer/hdi_backend/include/hdi_layer.h b/display_server/rosen/modules/composer/hdi_backend/include/hdi_layer.h index 03634de..aa51bad 100644 --- a/display_server/rosen/modules/composer/hdi_backend/include/hdi_layer.h +++ b/display_server/rosen/modules/composer/hdi_backend/include/hdi_layer.h @@ -16,6 +16,7 @@ #ifndef HDI_BACKEND_HDI_LAYER_H #define HDI_BACKEND_HDI_LAYER_H +#include #include #include #include diff --git a/display_server/rosen/modules/render_frame_trace/ft_build/BUILD.gn b/display_server/rosen/modules/render_frame_trace/ft_build/BUILD.gn new file mode 100644 index 0000000..f93cb9a --- /dev/null +++ b/display_server/rosen/modules/render_frame_trace/ft_build/BUILD.gn @@ -0,0 +1,20 @@ +# Copyright (c) 2023 Huawei Technologies Co., Ltd. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import("//build/gn/fangtian.gni") + +ft_source_set("render_frame_trace") { + include_dirs = [ "../include" ] + sources = [ "../src/render_frame_trace.cpp" ] + cflags = [ "-fstack-protector-all" ] +} \ No newline at end of file -- Gitee From 8c8a7a5f3cea6b3fcdc424d510f3f8fb94759e5a Mon Sep 17 00:00:00 2001 From: yanansong Date: Wed, 21 Jun 2023 16:42:27 +0800 Subject: [PATCH 2/2] change "//display_service/" to "$display_server_root/" --- .../rosen/modules/composer/ft_build/BUILD.gn | 38 +++++++++---------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/display_server/rosen/modules/composer/ft_build/BUILD.gn b/display_server/rosen/modules/composer/ft_build/BUILD.gn index 5e29a2c..13804e5 100644 --- a/display_server/rosen/modules/composer/ft_build/BUILD.gn +++ b/display_server/rosen/modules/composer/ft_build/BUILD.gn @@ -27,14 +27,14 @@ config("composer_config") { config("composer_public_config") { include_dirs = [ - "//display_server/rosen/include/common", - "//display_server/drivers/interfaces", - "//display_server/interfaces/inner_api/common", - "//display_server/interfaces/inner_api/surface", - "//display_server/rosen/modules/composer/hdi_backend/include", - "//display_server/rosen/modules/composer/vsync/include", - "//display_server/interfaces/inner_api/composer", - "//display_server/rosen/modules/render_service_base/include" + "$display_server_root/rosen/include/common", + "$display_server_root/drivers/interfaces", + "$display_server_root/interfaces/inner_api/common", + "$display_server_root/interfaces/inner_api/surface", + "$display_server_root/rosen/modules/composer/hdi_backend/include", + "$display_server_root/rosen/modules/composer/vsync/include", + "$display_server_root/interfaces/inner_api/composer", + "$display_server_root/rosen/modules/render_service_base/include" ] } @@ -49,9 +49,9 @@ ft_shared_library("libcomposer") { ] include_dirs = [ - "//display_server/rosen/modules/render_frame_trace/include", - "//display_server/rosen/modules/render_service_base/src", - "//display_server/utils/log", + "$display_server_root/rosen/modules/render_frame_trace/include", + "$display_server_root/rosen/modules/render_service_base/src", + "$display_server_root/utils/log", ] configs = [ @@ -69,17 +69,17 @@ ft_shared_library("libcomposer") { ] deps = [ - "//display_server/frameworks/surface/ft_build:surface", - "//display_server/rosen/modules/render_frame_trace/ft_build:render_frame_trace", - "//display_server/rosen/modules/render_service_base/ft_build:librender_service_base", + "$display_server_root/frameworks/surface/ft_build:surface", + "$display_server_root/rosen/modules/render_frame_trace/ft_build:render_frame_trace", + "$display_server_root/rosen/modules/render_service_base/ft_build:librender_service_base", ] public_deps = [ "../vsync/ft_build:libvsync", - "//display_server/utils/buffer_handle/ft_build:buffer_handle", - "//display_server/utils/scoped_bytrace/ft_build:scoped_bytrace", - "//display_server/utils/sync_fence/ft_build:sync_fence", - "//display_server/drivers/hal/drm_backend/display_device:display_device", - "//display_server/drivers/hal/drm_backend/display_gralloc:display_gralloc", + "$display_server_root/utils/buffer_handle/ft_build:buffer_handle", + "$display_server_root/utils/scoped_bytrace/ft_build:scoped_bytrace", + "$display_server_root/utils/sync_fence/ft_build:sync_fence", + "$display_server_root/drivers/hal/drm_backend/display_device:display_device", + "$display_server_root/drivers/hal/drm_backend/display_gralloc:display_gralloc", ] } \ No newline at end of file -- Gitee