diff --git a/build/configs/system_deps.toml b/build/configs/system_deps.toml index e77841517a6639ce4b0d24c450f58e7eac101446..32fbcaf6d6775df5e694cd396b6226fa60afab73 100755 --- a/build/configs/system_deps.toml +++ b/build/configs/system_deps.toml @@ -32,4 +32,5 @@ package_deps = [ "libdrm-devel", "systemd-devel", "mesa-libgbm-devel", + "libpng-devel", ] diff --git a/build/gn/BUILD.gn b/build/gn/BUILD.gn index f3a53d255ac34273b5fff077085fa1b0cc211350..bbf2b2d4e5d925044067656360635fc26557ca56 100644 --- a/build/gn/BUILD.gn +++ b/build/gn/BUILD.gn @@ -22,6 +22,7 @@ group("ft_engine") { "//display_server/drivers/hdi_service/gralloc/client:hdi_gralloc_client", "//display_server/rosen/modules/composer/ft_build:libcomposer", "//display_server/rosen/modules/render_service_client/ft_build:librender_service_client", + "//display_server/rosen/modules/render_service/ft_build:librender_service", "//window_manager/utils/ft_build:libwmutil", "//window_manager/dm/ft_build:libdm", diff --git a/build/gn/configs/system_libs/BUILD.gn b/build/gn/configs/system_libs/BUILD.gn index ba92fc828114d08cd5bc4422ab0f246a2b27508d..672a80f832378c0e04b4f3c0ef863d1d8f8f7cc9 100644 --- a/build/gn/configs/system_libs/BUILD.gn +++ b/build/gn/configs/system_libs/BUILD.gn @@ -40,6 +40,7 @@ config("skia_config") { include_dirs = [ "${sys_inc}/skia", "${sys_inc}/skia/include", + "${sys_inc}/skia/include/core" ] libs = [ "ace_skia_fangtian" ] } @@ -63,3 +64,8 @@ config("syspara_config") { include_dirs = [ "${sys_inc}/syspara" ] libs = [ "beget_proxy", "begetutil" ] } + +config("safwk_config") { + include_dirs = [ "${sys_inc}/safwk" ] + libs = [ "system_ability_fwk" ] +} \ No newline at end of file diff --git a/display_server/rosen/modules/render_service/core/pipeline/rs_base_render_util.cpp b/display_server/rosen/modules/render_service/core/pipeline/rs_base_render_util.cpp index 85c08cd2525d1b34674bae9c544abe3eaa841803..5986f5668537132e5b43ebdf9d7c1cd92e9f8098 100644 --- a/display_server/rosen/modules/render_service/core/pipeline/rs_base_render_util.cpp +++ b/display_server/rosen/modules/render_service/core/pipeline/rs_base_render_util.cpp @@ -94,16 +94,15 @@ struct TransferParameters { inline float RcpResponsePq(float x, const TransferParameters& p) { float tmp = powf(x, p.a); - return std::powf((p.c + p.d * tmp) / (1 + p.e * tmp), p.b); + return powf((p.c + p.d * tmp) / (1 + p.e * tmp), p.b); } inline float ResponsePq(float x, const TransferParameters& p) { float tmp = powf(x, 1.f / p.b); - return std::powf(std::max((tmp - p.c), p.f) / (p.d - p.e * tmp), 1.f / p.a); + return powf(std::max((tmp - p.c), p.f) / (p.d - p.e * tmp), 1.f / p.a); } - static constexpr float RcpResponse(float x, const TransferParameters& p) { return x >= p.d * p.c ? (std::pow(x, 1.0f / p.g) - p.b) / p.a : x / p.c; @@ -607,7 +606,7 @@ bool ConvertBufferColorGamut(std::vector& dstBuf, const sptr& metaDatas) { RS_TRACE_NAME("ConvertBufferColorGamut"); - + int32_t pixelFormat = srcBuf->GetFormat(); if (!IsSupportedFormatForGamutConversion(pixelFormat)) { RS_LOGE("ConvertBufferColorGamut: the buffer's format is not supported."); diff --git a/display_server/rosen/modules/render_service/core/pipeline/rs_main_thread.cpp b/display_server/rosen/modules/render_service/core/pipeline/rs_main_thread.cpp index 9f5d817fa60d9f7bffbaf319c95d38ce77eb0e8c..802201c351f2eb66a337e4d3b8e5fcc53e86e0ef 100644 --- a/display_server/rosen/modules/render_service/core/pipeline/rs_main_thread.cpp +++ b/display_server/rosen/modules/render_service/core/pipeline/rs_main_thread.cpp @@ -43,7 +43,9 @@ #include "screen_manager/rs_screen_manager.h" #include "socperf_client.h" #include "transaction/rs_transaction_proxy.h" +#if defined(ACCESSIBILITY_ENABLE) #include "accessibility_config.h" +#endif #include "rs_qos_thread.h" #include "xcollie/watchdog.h" @@ -52,7 +54,9 @@ using namespace FRAME_TRACE; static const std::string RS_INTERVAL_NAME = "renderservice"; +#if defined(ACCESSIBILITY_ENABLE) using namespace OHOS::AccessibilityConfig; +#endif namespace OHOS { namespace Rosen { namespace { @@ -90,6 +94,7 @@ void InsertToEnd(std::vector>& source, } } +#if defined(ACCESSIBILITY_ENABLE) class AccessibilityObserver : public AccessibilityConfigObserver { public: AccessibilityObserver() = default; @@ -124,6 +129,7 @@ public: } } }; +#endif RSMainThread* RSMainThread::Instance() { @@ -204,6 +210,7 @@ void RSMainThread::Init() RSInnovation::OpenInnovationSo(); Occlusion::Region::InitDynamicLibraryFunction(); +#if defined(ACCESSIBILITY_ENABLE) accessibilityObserver_ = std::make_shared(); auto &config = OHOS::AccessibilityConfig::AccessibilityConfig::GetInstance(); config.InitializeContext(); @@ -212,6 +219,7 @@ void RSMainThread::Init() if (isUniRender_) { config.SubscribeConfigObserver(CONFIG_ID::CONFIG_HIGH_CONTRAST_TEXT, accessibilityObserver_); } +#endif auto delegate = RSFunctionalDelegate::Create(); delegate->SetRepaintCallback([]() { RSMainThread::Instance()->RequestNextVSync(); }); @@ -859,7 +867,7 @@ void RSMainThread::Animate(uint64_t timestamp) doWindowAnimate_ = curWinAnim; RS_LOGD("RSMainThread::Animate end, %d animating nodes remains, has window animation: %d", context_->animatingNodeList_.size(), curWinAnim); - + if (needRequestNextVsync) { RequestNextVSync(); } diff --git a/display_server/rosen/modules/render_service/core/pipeline/rs_main_thread.h b/display_server/rosen/modules/render_service/core/pipeline/rs_main_thread.h index 58f64276e2909dab4e4dda3d9fd6890712dee656..4fd460c2bfabd6ed602eae1566c54d40df7c9ad4 100644 --- a/display_server/rosen/modules/render_service/core/pipeline/rs_main_thread.h +++ b/display_server/rosen/modules/render_service/core/pipeline/rs_main_thread.h @@ -41,7 +41,9 @@ #include "transaction/rs_transaction_data.h" namespace OHOS::Rosen { +#if defined(ACCESSIBILITY_ENABLE) class AccessibilityObserver; +#endif namespace Detail { template class ScheduledTask : public RefBase { @@ -233,7 +235,9 @@ private: std::shared_ptr uniRenderEngine_; std::shared_ptr rsCompositionTimeoutDetector_; RSEventManager rsEventManager_; +#if defined(ACCESSIBILITY_ENABLE) std::shared_ptr accessibilityObserver_; +#endif }; } // namespace OHOS::Rosen #endif // RS_MAIN_THREAD diff --git a/display_server/rosen/modules/render_service/core/pipeline/rs_qos_thread.h b/display_server/rosen/modules/render_service/core/pipeline/rs_qos_thread.h index 12f2c9a7098377b2897791c4596715df5df1c184..859811f9c584f8b19363b3c811a68b6e49a20736 100644 --- a/display_server/rosen/modules/render_service/core/pipeline/rs_qos_thread.h +++ b/display_server/rosen/modules/render_service/core/pipeline/rs_qos_thread.h @@ -17,6 +17,7 @@ #define RS_QOS_THREAD #include +#include #include "vsync_distributor.h" namespace OHOS::Rosen { 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 0a1e5b4b4fb5fd54df3abe66144bbc66d68d6fa3..c90b0b78e7490f98839ff49ab18066a38375a876 100644 --- a/display_server/rosen/modules/render_service/ft_build/BUILD.gn +++ b/display_server/rosen/modules/render_service/ft_build/BUILD.gn @@ -12,6 +12,84 @@ # limitations under the License. import("//build/gn/fangtian.gni") +import("//display_server/ft_configs/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 \ No newline at end of file +# Use sa_main.bin instead of render_service.bin + +ft_shared_library("librender_service") { + defines = [] + defines += gpu_defines + + if (use_musl) { + defines += [ "FRAME_AWARE_TRACE" ] + } + sources = [ + "../core/pipeline/rs_base_render_engine.cpp", + "../core/pipeline/rs_base_render_util.cpp", + "../core/pipeline/rs_cold_start_thread.cpp", + "../core/pipeline/rs_composer_adapter.cpp", + "../core/pipeline/rs_divided_render_util.cpp", + "../core/pipeline/rs_main_thread.cpp", + "../core/pipeline/rs_physical_screen_processor.cpp", + "../core/pipeline/rs_processor.cpp", + "../core/pipeline/rs_processor_factory.cpp", + "../core/pipeline/rs_qos_thread.cpp", + "../core/pipeline/rs_render_engine.cpp", + "../core/pipeline/rs_render_service.cpp", + "../core/pipeline/rs_render_service_connection.cpp", + "../core/pipeline/rs_render_service_listener.cpp", + "../core/pipeline/rs_render_service_visitor.cpp", + "../core/pipeline/rs_surface_capture_task.cpp", + "../core/pipeline/rs_uni_render_engine.cpp", + "../core/pipeline/rs_uni_render_judgement.cpp", + "../core/pipeline/rs_uni_render_listener.cpp", + "../core/pipeline/rs_uni_render_mirror_processor.cpp", + "../core/pipeline/rs_uni_render_processor.cpp", + "../core/pipeline/rs_uni_render_util.cpp", + "../core/pipeline/rs_uni_render_visitor.cpp", + "../core/pipeline/rs_unmarshal_thread.cpp", + "../core/pipeline/rs_virtual_screen_processor.cpp", + "../core/screen_manager/rs_screen.cpp", + "../core/screen_manager/rs_screen_manager.cpp", + "../core/transaction/rs_render_service_connection_stub.cpp", + "../core/transaction/rs_render_service_stub.cpp", + ] + + include_dirs = [ + "../core", + "$display_server_root/frameworks/surface/include", + "$display_server_root/rosen/include", + "$display_server_root/rosen/modules/composer/vsync/include", + "$display_server_root/rosen/modules/render_frame_trace/include", + "$display_server_root/rosen/modules/render_service_base/src", + "$display_server_root/rosen/modules/utils", + "$display_server_root/utils/log", + "$display_server_root/rosen/modules/render_service_base/src/platform/fangtian/include", + "$display_server_root/utils/socketpair/export", + ] + + configs = [ + "//build/gn/configs/system_libs:hilog_config", + "//build/gn/configs/system_libs:c_utils_config", + "//build/gn/configs/system_libs:hitrace_meter_config", + "//build/gn/configs/system_libs:skia_config", + "//build/gn/configs/system_libs:syspara_config", + "//build/gn/configs/system_libs:safwk_config", + "//build/gn/configs/system_libs:eventhandler_config", + "//build/gn/configs/system_libs:ipc_core_config", + "//build/gn/configs/system_libs:samgr_config", + "//build/gn/configs/system_libs:image_config", + ] + + deps = [ + "$display_server_root/frameworks/surface/ft_build:surface", + "$display_server_root/rosen/modules/composer/ft_build:libcomposer", + "$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", + ] + + libs = ["png"] + + cflags = [ "-Wno-c++11-narrowing" ] +} \ No newline at end of file diff --git a/display_server/rosen/modules/render_service_base/src/pipeline/rs_display_render_node.cpp b/display_server/rosen/modules/render_service_base/src/pipeline/rs_display_render_node.cpp index de31dd83bc4baf8a6604e2a57a50c117d9cd20c3..f657569b1325d41788b8e770e88c5fead09d434a 100644 --- a/display_server/rosen/modules/render_service_base/src/pipeline/rs_display_render_node.cpp +++ b/display_server/rosen/modules/render_service_base/src/pipeline/rs_display_render_node.cpp @@ -112,7 +112,7 @@ void RSDisplayRenderNode::SetIsMirrorDisplay(bool isMirror) IsMirrorDisplay() ? "true" : "false"); } -#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__gnu_linux__) +#ifndef ROSEN_CROSS_PLATFORM bool RSDisplayRenderNode::CreateSurface(sptr listener) { if (consumer_ != nullptr && surface_ != nullptr) { diff --git a/display_server/rosen/modules/render_service_base/src/pipeline/rs_root_render_node.cpp b/display_server/rosen/modules/render_service_base/src/pipeline/rs_root_render_node.cpp index 550aab2d613948d14c9bd39d03ed5ee367cc856f..e33f5b651ed69951eb75d3fc23f447790ca9bd6c 100644 --- a/display_server/rosen/modules/render_service_base/src/pipeline/rs_root_render_node.cpp +++ b/display_server/rosen/modules/render_service_base/src/pipeline/rs_root_render_node.cpp @@ -18,7 +18,7 @@ #include "platform/drawing/rs_surface.h" #include "transaction/rs_transaction_proxy.h" #include "visitor/rs_node_visitor.h" -#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__gnu_linux__) +#ifndef ROSEN_CROSS_PLATFORM #include #endif diff --git a/display_server/rosen/modules/render_service_base/src/pipeline/rs_surface_handler.cpp b/display_server/rosen/modules/render_service_base/src/pipeline/rs_surface_handler.cpp index 4767b4ccaf0d49f717ae56a048820cde3b556b75..c0fbe87067548881632dd6b8684d5894fd05171d 100644 --- a/display_server/rosen/modules/render_service_base/src/pipeline/rs_surface_handler.cpp +++ b/display_server/rosen/modules/render_service_base/src/pipeline/rs_surface_handler.cpp @@ -17,7 +17,7 @@ namespace OHOS { namespace Rosen { -#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__gnu_linux__) +#ifndef ROSEN_CROSS_PLATFORM void RSSurfaceHandler::SetConsumer(const sptr& consumer) { consumer_ = consumer; diff --git a/display_server/rosen/modules/render_service_base/src/pipeline/rs_surface_render_node.cpp b/display_server/rosen/modules/render_service_base/src/pipeline/rs_surface_render_node.cpp index 88c46d4e6fec1c6689d7b69863e442c8e3f61926..6a2bc852993c69e4ca4169315db79ed16469cd4d 100644 --- a/display_server/rosen/modules/render_service_base/src/pipeline/rs_surface_render_node.cpp +++ b/display_server/rosen/modules/render_service_base/src/pipeline/rs_surface_render_node.cpp @@ -47,7 +47,7 @@ RSSurfaceRenderNode::RSSurfaceRenderNode(NodeId id, std::weak_ptr con RSSurfaceRenderNode::~RSSurfaceRenderNode() {} -#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__gnu_linux__) +#ifndef ROSEN_CROSS_PLATFORM void RSSurfaceRenderNode::SetConsumer(const sptr& consumer) { consumer_ = consumer; @@ -140,7 +140,7 @@ void RSSurfaceRenderNode::CollectSurface( return; } -#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__gnu_linux__) +#ifndef ROSEN_CROSS_PLATFORM auto& consumer = GetConsumer(); if (consumer != nullptr && consumer->GetTunnelHandle() != nullptr) { return; @@ -153,7 +153,7 @@ void RSSurfaceRenderNode::CollectSurface( if (isUniRender && ShouldPaint()) { vec.emplace_back(shared_from_this()); } else { -#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__gnu_linux__) +#ifndef ROSEN_CROSS_PLATFORM if (GetBuffer() != nullptr && ShouldPaint()) { vec.emplace_back(shared_from_this()); } @@ -168,7 +168,7 @@ void RSSurfaceRenderNode::ClearChildrenCache(const std::shared_ptrGetConsumer(); if (consumer != nullptr) { consumer->GoBackground(); @@ -184,7 +184,7 @@ void RSSurfaceRenderNode::ResetParent() if (nodeType_ == RSSurfaceNodeType::LEASH_WINDOW_NODE) { ClearChildrenCache(shared_from_this()); } else { -#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__gnu_linux__) +#ifndef ROSEN_CROSS_PLATFORM auto& consumer = GetConsumer(); if (consumer != nullptr && (GetSurfaceNodeType() != RSSurfaceNodeType::SELF_DRAWING_NODE && @@ -313,14 +313,14 @@ ColorGamut RSSurfaceRenderNode::GetColorSpace() const void RSSurfaceRenderNode::UpdateSurfaceDefaultSize(float width, float height) { -#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__gnu_linux__) +#ifndef ROSEN_CROSS_PLATFORM if (consumer_ != nullptr) { consumer_->SetDefaultWidthAndHeight(width, height); } #endif } -#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__gnu_linux__) +#ifndef ROSEN_CROSS_PLATFORM GraphicBlendType RSSurfaceRenderNode::GetBlendType() { return blendType_; diff --git a/display_server/rosen/modules/render_service_base/src/platform/fangtian/include/socperf_client.h b/display_server/rosen/modules/render_service_base/src/platform/fangtian/include/socperf_client.h new file mode 100644 index 0000000000000000000000000000000000000000..d4c668c1a2262f36e8b7ca2138601d1b654a8d56 --- /dev/null +++ b/display_server/rosen/modules/render_service_base/src/platform/fangtian/include/socperf_client.h @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2022-2023 Huawei Device 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. + */ + +#ifndef SOC_PERF_INCLUDE_CLIENT_SOCPERF_CLIENT_MOCK_H +#define SOC_PERF_INCLUDE_CLIENT_SOCPERF_CLIENT_MOCK_H + +#include // for int32_t +#include // for string +#include // for vector + +namespace OHOS { +namespace SOCPERF { +class SocPerfClient { +public: + void PerfRequest(int32_t cmdId, const std::string& msg) { + + } + void PerfRequestEx(int32_t cmdId, bool onOffTag, const std::string& msg) { + + } + void PowerLimitBoost(bool onOffTag, const std::string& msg) { + + } + void ThermalLimitBoost(bool onOffTag, const std::string& msg) { + + } + void LimitRequest(int32_t clientId, + const std::vector& tags, const std::vector& configs, const std::string& msg) { + + } + static SocPerfClient& GetInstance() { + static SocPerfClient client; + return client; + } + void ResetClient() { + + } +}; +} // namespace SOCPERF +} // namespace OHOS + +#endif // SOC_PERF_INCLUDE_CLIENT_SOCPERF_CLIENT_MOCK_H \ No newline at end of file diff --git a/display_server/rosen/modules/render_service_base/src/platform/fangtian/include/xcollie/watchdog.h b/display_server/rosen/modules/render_service_base/src/platform/fangtian/include/xcollie/watchdog.h new file mode 100644 index 0000000000000000000000000000000000000000..b0a90daff2231ca9886ba7368e36e168ea215b3c --- /dev/null +++ b/display_server/rosen/modules/render_service_base/src/platform/fangtian/include/xcollie/watchdog.h @@ -0,0 +1,37 @@ +/* + * 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. + */ + +#ifndef RELIABILITY_WATCHDOG_FANTIAN_H +#define RELIABILITY_WATCHDOG_FANTIAN_H + +#include +#include "event_handler.h" + +namespace OHOS { +namespace HiviewDFX { +class Watchdog { +public: + static Watchdog& GetInstance() { + static Watchdog ins; + return ins; + } + + int AddThread(const std::string &name, std::shared_ptr handler) { + return 0; + } +}; +} // end of namespace HiviewDFX +} // end of namespace OHOS +#endif diff --git a/display_server/rosen/modules/render_service_client/core/pipeline/rs_render_thread.cpp b/display_server/rosen/modules/render_service_client/core/pipeline/rs_render_thread.cpp index 3213e30c0225aaf3e2613f3ea393b8f5e9a3bc9b..86276751f31b87f59fb5611097874a21898aab8c 100644 --- a/display_server/rosen/modules/render_service_client/core/pipeline/rs_render_thread.cpp +++ b/display_server/rosen/modules/render_service_client/core/pipeline/rs_render_thread.cpp @@ -122,7 +122,7 @@ RSRenderThread::~RSRenderThread() if (renderContext_ != nullptr) { ROSEN_LOGD("Destroy renderContext!!"); -#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__gnu_linux__) +#ifndef ROSEN_CROSS_PLATFORM delete renderContext_; renderContext_ = nullptr; #endif @@ -201,12 +201,12 @@ void RSRenderThread::CreateAndInitRenderContextIfNeed() { #ifdef ACE_ENABLE_GL if (needRender_ && renderContext_ == nullptr) { -#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__gnu_linux__) +#ifndef ROSEN_CROSS_PLATFORM renderContext_ = new RenderContext(); #endif ROSEN_LOGD("Create RenderContext, its pointer is %p", renderContext_); RS_TRACE_NAME("InitializeEglContext"); -#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__gnu_linux__) +#ifndef ROSEN_CROSS_PLATFORM renderContext_->InitializeEglContext(); // init egl context on RT if (!cacheDir_.empty()) { renderContext_->SetCacheDir(cacheDir_); diff --git a/display_server/rosen/modules/render_service_client/core/pipeline/rs_render_thread_visitor.cpp b/display_server/rosen/modules/render_service_client/core/pipeline/rs_render_thread_visitor.cpp index e7f14882bf1ac6287379bc5b199dccf8572ac49d..116f6ecf22ab72c41e90caebfccdff0434d216a0 100644 --- a/display_server/rosen/modules/render_service_client/core/pipeline/rs_render_thread_visitor.cpp +++ b/display_server/rosen/modules/render_service_client/core/pipeline/rs_render_thread_visitor.cpp @@ -300,7 +300,7 @@ void RSRenderThreadVisitor::ProcessRootRenderNode(RSRootRenderNode& node) curDirtyManager_ = node.GetDirtyManager(); -#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__gnu_linux__) +#ifndef ROSEN_CROSS_PLATFORM auto surfaceNodeColorSpace = ptr->GetColorSpace(); #endif std::shared_ptr rsSurface = RSSurfaceExtractor::ExtractRSSurface(ptr); @@ -311,7 +311,7 @@ void RSRenderThreadVisitor::ProcessRootRenderNode(RSRootRenderNode& node) // Update queue size for each process loop in case it dynamically changes queueSize_ = rsSurface->GetQueueSize(); -#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__gnu_linux__) +#ifndef ROSEN_CROSS_PLATFORM auto rsSurfaceColorSpace = rsSurface->GetColorSpace(); if (surfaceNodeColorSpace != rsSurfaceColorSpace) { ROSEN_LOGD("Set new colorspace %d to rsSurface", surfaceNodeColorSpace); diff --git a/display_server/rosen/modules/render_service_client/core/ui/rs_ui_director.cpp b/display_server/rosen/modules/render_service_client/core/ui/rs_ui_director.cpp index 0a1c20ead72cf0109df552b3f0e509e6b45ee887..8e713b8490934bcd9830f7b48de4314c27fa1e45 100644 --- a/display_server/rosen/modules/render_service_client/core/ui/rs_ui_director.cpp +++ b/display_server/rosen/modules/render_service_client/core/ui/rs_ui_director.cpp @@ -118,7 +118,7 @@ void RSUIDirector::GoBackground() RSRenderThread::Instance().PostTask([this]() { auto renderContext = RSRenderThread::Instance().GetRenderContext(); if (renderContext != nullptr) { -#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__gnu_linux__) +#ifndef ROSEN_CROSS_PLATFORM renderContext->ClearRedundantResources(); #endif }