From 35f25882e027fd3c466edd44db1fc1c5bec75bde Mon Sep 17 00:00:00 2001 From: Narr the Reg Date: Thu, 28 Sep 2023 23:45:49 -0600 Subject: service: nvnflinger: Implement shared buffer Co-authored-by: Liam --- src/core/hle/service/nvnflinger/nvnflinger.h | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/core/hle/service/nvnflinger/nvnflinger.h') diff --git a/src/core/hle/service/nvnflinger/nvnflinger.h b/src/core/hle/service/nvnflinger/nvnflinger.h index f478c2bc6..14c783582 100644 --- a/src/core/hle/service/nvnflinger/nvnflinger.h +++ b/src/core/hle/service/nvnflinger/nvnflinger.h @@ -45,6 +45,9 @@ class BufferQueueProducer; namespace Service::Nvnflinger { +class FbShareBufferManager; +class HosBinderDriverServer; + class Nvnflinger final { public: explicit Nvnflinger(Core::System& system_, HosBinderDriverServer& hos_binder_driver_server_); @@ -90,12 +93,16 @@ public: [[nodiscard]] s64 GetNextTicks() const; + FbShareBufferManager& GetSystemBufferManager(); + private: struct Layer { std::unique_ptr core; std::unique_ptr producer; }; + friend class FbShareBufferManager; + private: [[nodiscard]] std::unique_lock Lock() const { return std::unique_lock{*guard}; @@ -140,6 +147,8 @@ private: std::shared_ptr multi_composition_event; std::shared_ptr single_composition_event; + std::unique_ptr system_buffer_manager; + std::shared_ptr guard; Core::System& system; -- cgit v1.2.3