From a80f8f257f05480a3a91e9da14715cb160ed2e0a Mon Sep 17 00:00:00 2001 From: Vaxry <43317083+vaxerski@users.noreply.github.com> Date: Fri, 24 Mar 2023 19:23:16 +0000 Subject: Feat: Introduce render_ahead_of_time (#1863) --- src/render/Renderer.hpp | 50 +++++++++++++++++++++++++------------------------ 1 file changed, 26 insertions(+), 24 deletions(-) (limited to 'src/render/Renderer.hpp') diff --git a/src/render/Renderer.hpp b/src/render/Renderer.hpp index 9f2456f8..4ce0f6dc 100644 --- a/src/render/Renderer.hpp +++ b/src/render/Renderer.hpp @@ -31,33 +31,35 @@ struct SSessionLockSurface; class CHyprRenderer { public: - void renderAllClientsForMonitor(const int&, timespec*); - void outputMgrApplyTest(wlr_output_configuration_v1*, bool); - void arrangeLayersForMonitor(const int&); - void damageSurface(wlr_surface*, double, double); - void damageWindow(CWindow*); - void damageBox(wlr_box*); - void damageBox(const int& x, const int& y, const int& w, const int& h); - void damageRegion(pixman_region32_t*); - void damageMonitor(CMonitor*); - void damageMirrorsWith(CMonitor*, pixman_region32_t*); - bool applyMonitorRule(CMonitor*, SMonitorRule*, bool force = false); - bool shouldRenderWindow(CWindow*, CMonitor*); - bool shouldRenderWindow(CWindow*); - void ensureCursorRenderingMode(); - bool shouldRenderCursor(); - void calculateUVForSurface(CWindow*, wlr_surface*, bool main = false); + void renderMonitor(CMonitor* pMonitor); + void renderAllClientsForMonitor(const int&, timespec*); + void outputMgrApplyTest(wlr_output_configuration_v1*, bool); + void arrangeLayersForMonitor(const int&); + void damageSurface(wlr_surface*, double, double); + void damageWindow(CWindow*); + void damageBox(wlr_box*); + void damageBox(const int& x, const int& y, const int& w, const int& h); + void damageRegion(pixman_region32_t*); + void damageMonitor(CMonitor*); + void damageMirrorsWith(CMonitor*, pixman_region32_t*); + bool applyMonitorRule(CMonitor*, SMonitorRule*, bool force = false); + bool shouldRenderWindow(CWindow*, CMonitor*); + bool shouldRenderWindow(CWindow*); + void ensureCursorRenderingMode(); + bool shouldRenderCursor(); + void calculateUVForSurface(CWindow*, wlr_surface*, bool main = false); + std::tuple getRenderTimes(CMonitor* pMonitor); // avg max min - bool m_bWindowRequestedCursorHide = false; - bool m_bBlockSurfaceFeedback = false; - bool m_bRenderingSnapshot = false; - CWindow* m_pLastScanout = nullptr; - CMonitor* m_pMostHzMonitor = nullptr; + bool m_bWindowRequestedCursorHide = false; + bool m_bBlockSurfaceFeedback = false; + bool m_bRenderingSnapshot = false; + CWindow* m_pLastScanout = nullptr; + CMonitor* m_pMostHzMonitor = nullptr; - DAMAGETRACKINGMODES damageTrackingModeFromStr(const std::string&); + DAMAGETRACKINGMODES damageTrackingModeFromStr(const std::string&); - bool attemptDirectScanout(CMonitor*); - void setWindowScanoutMode(CWindow*); + bool attemptDirectScanout(CMonitor*); + void setWindowScanoutMode(CWindow*); private: void arrangeLayerArray(CMonitor*, const std::vector>&, bool, wlr_box*); -- cgit v1.2.3