From 7f9fb29737f4646f66ca218bb83073d2350247ff Mon Sep 17 00:00:00 2001 From: ShaoboFeng Date: Wed, 28 Jun 2023 10:32:53 +0800 Subject: [PATCH] add rs_demo --- build/builder/commands/build.py | 2 +- build/gn/BUILD.gn | 1 + config.gni | 2 +- display_server/ft_build/ds_config.gni | 3 +- .../core/pipeline/rs_render_service.h | 9 ----- .../modules/render_service/ft_build/BUILD.gn | 36 ++++--------------- .../test/ft_build/BUILD.gn | 34 ++++++++++++++++-- .../test/render_service_client_rs_demo.cpp | 4 ++- window_manager/dm/ft_build/BUILD.gn | 6 ++-- window_manager/dmserver/ft_build/BUILD.gn | 10 +++--- window_manager/utils/ft_build/BUILD.gn | 12 +++---- window_manager/wm/ft_build/BUILD.gn | 10 +++--- window_manager/wmserver/ft_build/BUILD.gn | 14 ++++---- 13 files changed, 70 insertions(+), 73 deletions(-) diff --git a/build/builder/commands/build.py b/build/builder/commands/build.py index e8240f3..9209e8c 100755 --- a/build/builder/commands/build.py +++ b/build/builder/commands/build.py @@ -57,7 +57,7 @@ class Builder: librarys = os.listdir(os.path.join(self.build_output_dir, 'common/common/')) for lib in librarys: if '.so' in lib: - exec_sys_command(['cp', '-rf', os.path.join(self.build_output_dir, 'common/common/', lib), "/usr/lib64/"])[0] + exec_sys_command(['sudo', 'cp', '-rf', os.path.join(self.build_output_dir, 'common/common/', lib), "/usr/lib64/"])[0] return True def launch_gn(self) -> bool: diff --git a/build/gn/BUILD.gn b/build/gn/BUILD.gn index c948791..0da0214 100644 --- a/build/gn/BUILD.gn +++ b/build/gn/BUILD.gn @@ -33,6 +33,7 @@ group("ft_test") { "//display_server/frameworks/surface/test/ft_build:test", "//display_server/rosen/samples/composer/ft_build:hello_composer", "//display_server/rosen/modules/render_service_client/test/ft_build:render_service_client_rs_demo", + "//display_server/rosen/modules/render_service_client/test/ft_build:render_service_client_gravity_demo", "//display_server/drivers/hal/test:gpu_backend_test", ] diff --git a/config.gni b/config.gni index 95a2459..1b830b7 100644 --- a/config.gni +++ b/config.gni @@ -12,6 +12,6 @@ # limitations under the License declare_args() { - display_server_path = "//display_server" + display_server_root = "//display_server" window_manager_path = "//window_manager" } diff --git a/display_server/ft_build/ds_config.gni b/display_server/ft_build/ds_config.gni index 60dc3dc..53c47d0 100644 --- a/display_server/ft_build/ds_config.gni +++ b/display_server/ft_build/ds_config.gni @@ -10,13 +10,13 @@ # 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("//config.gni") declare_args() { graphic_standard_feature_ace_enable_gpu = false graphic_standard_feature_rs_enable_eglimage = false graphic_standard_feature_rs_enable_uni_render = false graphic_standard_feature_enable_afbc = false - rs_main_executable = false } if (graphic_standard_feature_ace_enable_gpu) { @@ -49,5 +49,4 @@ if (graphic_standard_feature_enable_afbc) { gpu_defines += [ "RS_ENABLE_AFBC" ] } -display_server_root = "//display_server" rosen_root = "//display_server/rosen" diff --git a/display_server/rosen/modules/render_service/core/pipeline/rs_render_service.h b/display_server/rosen/modules/render_service/core/pipeline/rs_render_service.h index 9b2f3bc..18fe54c 100644 --- a/display_server/rosen/modules/render_service/core/pipeline/rs_render_service.h +++ b/display_server/rosen/modules/render_service/core/pipeline/rs_render_service.h @@ -33,18 +33,9 @@ class RSSyncTask; class RSRenderServiceConnection; class RSRenderService : public SystemAbility, public RSRenderServiceStub { -#ifndef RS_MAIN_EXECUTABLE DECLARE_DELAYED_SINGLETON(RSRenderService); -#endif // RS_MAIN_EXECUTABLE DECLARE_SYSTEM_ABILITY(RSRenderService); public: -#ifdef RS_MAIN_EXECUTABLE - RSRenderService(); - ~RSRenderService() noexcept; - - RSRenderService(const RSRenderService&) = delete; - RSRenderService& operator=(const RSRenderService&) = delete; -#endif // RS_MAIN_EXECUTABLE bool Init(); void Run(); diff --git a/display_server/rosen/modules/render_service/ft_build/BUILD.gn b/display_server/rosen/modules/render_service/ft_build/BUILD.gn index 9b26976..cac0046 100644 --- a/display_server/rosen/modules/render_service/ft_build/BUILD.gn +++ b/display_server/rosen/modules/render_service/ft_build/BUILD.gn @@ -17,19 +17,8 @@ import("//display_server/ft_build/ds_config.gni") # On the openEuler platform, display_server and window_manager are in the same process # Use sa_main.bin instead of render_service.bin -config("render_service_config") { - if (rs_main_executable) { - defines += [ "RS_MAIN_EXECUTABLE" ] - } -} - group("render_service_group") { deps = [ ":librender_service" ] - - if (rs_main_executable) { - print("[GN INFO] Enable RS exec building.") - deps += [ ":render_service" ] - } } ft_shared_library("librender_service") { @@ -72,6 +61,10 @@ ft_shared_library("librender_service") { "../core/transaction/rs_render_service_stub.cpp", ] + if (rs_enable_eglimage) { + sources += [ "../core/pipeline/rs_egl_image_manager.cpp" ] + } + include_dirs = [ "../core", "$display_server_root/frameworks/surface/include", @@ -83,6 +76,7 @@ ft_shared_library("librender_service") { "$display_server_root/utils/log", "$display_server_root/rosen/modules/render_service_base/src/platform/fangtian/include", "$display_server_root/utils/socketpair/export", + "$rosen_root/modules/2d_graphics/src", ] deps = [ @@ -102,23 +96,5 @@ ft_shared_library("librender_service") { "//build/gn/configs/system_libs:image", ] - public_configs = [ ":render_service_config" ] - - libs = ["png"] -} - -if (rs_main_executable) { - ft_executable("render_service") { - sources = [ "../core/main.cpp" ] - - include_dirs = [ "../core" ] - - deps = [ - ":librender_service", - "//display_server/rosen/modules/composer/ft_build:libcomposer", - "//display_server/rosen/modules/render_service_base/ft_build:librender_service_base", - ] - - configs = [ ":render_service_config" ] - } + libs = ["png", "EGL", "GLESv2" ] } diff --git a/display_server/rosen/modules/render_service_client/test/ft_build/BUILD.gn b/display_server/rosen/modules/render_service_client/test/ft_build/BUILD.gn index f364f5e..daf48fd 100644 --- a/display_server/rosen/modules/render_service_client/test/ft_build/BUILD.gn +++ b/display_server/rosen/modules/render_service_client/test/ft_build/BUILD.gn @@ -12,14 +12,15 @@ # limitations under the License. import("//build/gn/fangtian.gni") +import("//display_server/ft_build/ds_config.gni") ft_executable("render_service_client_rs_demo") { sources = [ "../render_service_client_rs_demo.cpp" ] include_dirs = [ - "//display_server/rosen/modules/render_service_base/src", - "//display_server/rosen/include", - "//display_server/drivers/interfaces", + "$display_server_root/rosen/modules/render_service_base/src", + "$display_server_root/rosen/include", + "$display_server_root/drivers/interfaces", ] deps = [ @@ -31,3 +32,30 @@ ft_executable("render_service_client_rs_demo") { "//build/gn/configs/system_libs:image", ] } + +ft_executable("render_service_client_gravity_demo") { + sources = [ "../render_service_client_gravity_demo.cpp" ] + + cflags = [ "-Wno-c++11-narrowing" ] + + include_dirs = [ + "$window_manager_path/interfaces/innerkits", + "//display_server/rosen/modules/2d_graphics/src", + ] + + deps = [ + "$rosen_root/modules/render_service_base/ft_build:librender_service_base", + "$rosen_root/modules/render_service_client/ft_build:librender_service_client", + "$rosen_root/modules/animation/window_animation/ft_build:window_animation", + "$display_server_root/utils/buffer_handle/ft_build:buffer_handle", + "$window_manager_path/wm/ft_build:libwm", + "$window_manager_path/utils/ft_build:libwmutil", + "$window_manager_path/wmserver/ft_build:libwms", + "$window_manager_path/dmserver/ft_build:libdms", + "$window_manager_path/dm/ft_build:libdm", + "//build/gn/configs/system_libs:skia", + "//build/gn/configs/system_libs:c_utils", + "//build/gn/configs/system_libs:ipc_core", + ] + libs = [ "EGL", "GLESv2" ] +} diff --git a/display_server/rosen/modules/render_service_client/test/render_service_client_rs_demo.cpp b/display_server/rosen/modules/render_service_client/test/render_service_client_rs_demo.cpp index 77aceae..c7189aa 100644 --- a/display_server/rosen/modules/render_service_client/test/render_service_client_rs_demo.cpp +++ b/display_server/rosen/modules/render_service_client/test/render_service_client_rs_demo.cpp @@ -282,7 +282,7 @@ public: isGPU_ = false; #endif - DisplayId id = DmsMock::GetInstance().GetDefaultDisplayId(); + id = DmsMock::GetInstance().GetDefaultDisplayId(); std::cout << "RS default screen id is " << id << ".\n"; auto activeModeInfo = DmsMock::GetInstance().GetDisplayActiveMode(id); if (activeModeInfo) { @@ -334,6 +334,7 @@ public: RSDisplayNodeConfig config; RSDisplayNode::SharedPtr displayNode = RSDisplayNode::Create(config); + displayNode->SetScreenId(id); displayNode->SetBounds(0, 0, screenWidth_, screenheight_); displayNode->AddChild(surfaceNode1, -1); displayNode->AddChild(surfaceNode2, -1); @@ -373,6 +374,7 @@ private: int screenWidth_ = 0; int screenheight_ = 0; int screenRefreshRate_ = 0; + DisplayId id; }; // class RSDemoTestCase } // namespace OHOS::Rosen diff --git a/window_manager/dm/ft_build/BUILD.gn b/window_manager/dm/ft_build/BUILD.gn index 0324c3b..946224d 100644 --- a/window_manager/dm/ft_build/BUILD.gn +++ b/window_manager/dm/ft_build/BUILD.gn @@ -21,8 +21,8 @@ config("libdm_private_config") { "$window_manager_path/dm/include", "$window_manager_path/dmserver/include", "$window_manager_path/ft_adapter", - "$display_server_path/utils/buffer_handle/export", - "$display_server_path/rosen/modules/composer/vsync/include", + "$display_server_root/utils/buffer_handle/export", + "$display_server_root/rosen/modules/composer/vsync/include", ] } @@ -53,7 +53,7 @@ ft_shared_library("libdm") { public_configs = [ ":libdm_public_config" ] deps = [ - "$display_server_path/rosen/modules/render_service_client/ft_build:librender_service_client", + "$display_server_root/rosen/modules/render_service_client/ft_build:librender_service_client", "$window_manager_path/utils/ft_build:libwmutil", "//build/gn/configs/system_libs:image", diff --git a/window_manager/dmserver/ft_build/BUILD.gn b/window_manager/dmserver/ft_build/BUILD.gn index 6694899..951e759 100644 --- a/window_manager/dmserver/ft_build/BUILD.gn +++ b/window_manager/dmserver/ft_build/BUILD.gn @@ -21,8 +21,8 @@ config("libdms_private_config") { "$window_manager_path/dm/include", "$window_manager_path/interfaces/innerkits/dm", "$window_manager_path/ft_adapter", - "$display_server_path/utils/buffer_handle/export", - "$display_server_path/rosen/modules/composer/vsync/include", + "$display_server_root/utils/buffer_handle/export", + "$display_server_root/rosen/modules/composer/vsync/include", "/usr/include/libxml2", ] } @@ -62,9 +62,9 @@ ft_shared_library("libdms") { libs = [ "xml2" ] deps = [ - "$display_server_path/frameworks/surface/ft_build:surface", - "$display_server_path/rosen/modules/render_service_base/ft_build:librender_service_base", - "$display_server_path/rosen/modules/render_service_client/ft_build:librender_service_client", + "$display_server_root/frameworks/surface/ft_build:surface", + "$display_server_root/rosen/modules/render_service_base/ft_build:librender_service_base", + "$display_server_root/rosen/modules/render_service_client/ft_build:librender_service_client", "$window_manager_path/utils/ft_build:libwmutil", "//build/gn/configs/system_libs:hitrace_meter", diff --git a/window_manager/utils/ft_build/BUILD.gn b/window_manager/utils/ft_build/BUILD.gn index a82d52b..d1eb192 100644 --- a/window_manager/utils/ft_build/BUILD.gn +++ b/window_manager/utils/ft_build/BUILD.gn @@ -22,10 +22,10 @@ config("libwmutil_private_config") { "$window_manager_path/interfaces/innerkits/dm", "$window_manager_path/interfaces/innerkits/wm", "$window_manager_path/ft_adapter", - "$display_server_path/rosen/modules/composer/vsync/include", - "$display_server_path/utils/buffer_handle/export", - "$display_server_path/rosen/modules/2d_graphics/include", - "$display_server_path/rosen/modules/2d_graphics/src", + "$display_server_root/rosen/modules/composer/vsync/include", + "$display_server_root/utils/buffer_handle/export", + "$display_server_root/rosen/modules/2d_graphics/include", + "$display_server_root/rosen/modules/2d_graphics/src", ] } @@ -64,8 +64,8 @@ ft_shared_library("libwmutil") { public_configs = [ ":libwmutil_public_config" ] deps = [ - "$display_server_path/frameworks/surface/ft_build:surface", - "$display_server_path/rosen/modules/render_service_client/ft_build:librender_service_client", + "$display_server_root/frameworks/surface/ft_build:surface", + "$display_server_root/rosen/modules/render_service_client/ft_build:librender_service_client", "//build/gn/configs/system_libs:samgr", "//build/gn/configs/system_libs:eventhandler", diff --git a/window_manager/wm/ft_build/BUILD.gn b/window_manager/wm/ft_build/BUILD.gn index 5663801..c17d74b 100644 --- a/window_manager/wm/ft_build/BUILD.gn +++ b/window_manager/wm/ft_build/BUILD.gn @@ -24,8 +24,8 @@ config("libwm_private_config") { "$window_manager_path/wmserver/include", "$window_manager_path/interfaces/innerkits/dm", "$window_manager_path/ft_adapter", - "$display_server_path/utils/buffer_handle/export", - "$display_server_path/rosen/modules/composer/vsync/include", + "$display_server_root/utils/buffer_handle/export", + "$display_server_root/rosen/modules/composer/vsync/include", ] } @@ -64,9 +64,9 @@ ft_shared_library("libwm") { public_configs = [ ":libwm_public_config" ] deps = [ - "$display_server_path/rosen/modules/animation/window_animation/ft_build:window_animation", - "$display_server_path/rosen/modules/render_service_base/ft_build:librender_service_base", - "$display_server_path/rosen/modules/render_service_client/ft_build:librender_service_client", + "$display_server_root/rosen/modules/animation/window_animation/ft_build:window_animation", + "$display_server_root/rosen/modules/render_service_base/ft_build:librender_service_base", + "$display_server_root/rosen/modules/render_service_client/ft_build:librender_service_client", "$window_manager_path/dm/ft_build:libdm", "$window_manager_path/utils/ft_build:libwmutil", diff --git a/window_manager/wmserver/ft_build/BUILD.gn b/window_manager/wmserver/ft_build/BUILD.gn index e9fc17a..5eed6d5 100644 --- a/window_manager/wmserver/ft_build/BUILD.gn +++ b/window_manager/wmserver/ft_build/BUILD.gn @@ -28,10 +28,10 @@ config("libwms_config") { "$window_manager_path/wm/include", "$window_manager_path/utils/include", "$window_manager_path/dm/include", - "$display_server_path/utils/buffer_handle/export", - "$display_server_path/rosen/modules/composer/vsync/include", - "$display_server_path/rosen/modules/2d_graphics/include", - "$display_server_path/rosen/modules/2d_graphics/src", + "$display_server_root/utils/buffer_handle/export", + "$display_server_root/rosen/modules/composer/vsync/include", + "$display_server_root/rosen/modules/2d_graphics/include", + "$display_server_root/rosen/modules/2d_graphics/src", "/usr/include/libxml2", ] } @@ -86,9 +86,9 @@ ft_shared_library("libwms") { libs = [ "xml2" ] deps = [ - "$display_server_path/rosen/modules/animation/window_animation/ft_build:window_animation", - "$display_server_path/rosen/modules/render_service_base/ft_build:librender_service_base", - "$display_server_path/rosen/modules/render_service_client/ft_build:librender_service_client", + "$display_server_root/rosen/modules/animation/window_animation/ft_build:window_animation", + "$display_server_root/rosen/modules/render_service_base/ft_build:librender_service_base", + "$display_server_root/rosen/modules/render_service_client/ft_build:librender_service_client", "$window_manager_path/dmserver/ft_build:libdms", "$window_manager_path/utils/ft_build:libwmutil", "$window_manager_path/wm/ft_build:libwm", -- Gitee