diff options
Diffstat (limited to 'src/core/hle/service/vi/system_display_service.h')
-rw-r--r-- | src/core/hle/service/vi/system_display_service.h | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/src/core/hle/service/vi/system_display_service.h b/src/core/hle/service/vi/system_display_service.h index cfcb196fd..7228d826e 100644 --- a/src/core/hle/service/vi/system_display_service.h +++ b/src/core/hle/service/vi/system_display_service.h @@ -5,27 +5,28 @@ #include "core/hle/service/cmif_types.h" #include "core/hle/service/nvnflinger/ui/fence.h" #include "core/hle/service/service.h" - -namespace Service::Nvnflinger { -struct SharedMemoryPoolLayout; -} +#include "core/hle/service/vi/shared_buffer_manager.h" namespace Service::VI { +struct DisplayMode; + +class Container; class ISystemDisplayService final : public ServiceFramework<ISystemDisplayService> { public: - explicit ISystemDisplayService(Core::System& system_, Nvnflinger::Nvnflinger& nvnflinger); + explicit ISystemDisplayService(Core::System& system_, std::shared_ptr<Container> container); ~ISystemDisplayService() override; private: Result SetLayerZ(u32 z_value, u64 layer_id); Result SetLayerVisibility(bool visible, u64 layer_id); - Result GetDisplayMode(Out<u32> out_width, Out<u32> out_height, Out<f32> out_refresh_rate, - Out<u32> out_unknown); + Result ListDisplayModes(Out<u64> out_count, u64 display_id, + OutArray<DisplayMode, BufferAttr_HipcMapAlias> out_display_modes); + Result GetDisplayMode(Out<DisplayMode> out_display_mode, u64 display_id); Result GetSharedBufferMemoryHandleId( Out<s32> out_nvmap_handle, Out<u64> out_size, - OutLargeData<Nvnflinger::SharedMemoryPoolLayout, BufferAttr_HipcMapAlias> out_pool_layout, + OutLargeData<SharedMemoryPoolLayout, BufferAttr_HipcMapAlias> out_pool_layout, u64 buffer_id, ClientAppletResourceUserId aruid); Result OpenSharedLayer(u64 layer_id); Result ConnectSharedLayer(u64 layer_id); @@ -37,9 +38,10 @@ private: Result PresentSharedFrameBuffer(android::Fence fence, Common::Rectangle<s32> crop_region, u32 window_transform, s32 swap_interval, u64 layer_id, s64 surface_id); + Result CancelSharedFrameBuffer(u64 layer_id, s64 slot); private: - Nvnflinger::Nvnflinger& m_nvnflinger; + const std::shared_ptr<Container> m_container; }; } // namespace Service::VI |