From 8c3613632a6ccebf9fb797ec756ecfce99514eec Mon Sep 17 00:00:00 2001 From: Vaxry Date: Fri, 23 Feb 2024 01:02:32 +0000 Subject: renderer: nuke lastFrameDamage and rework finalDamage this fucking SUCKED --- src/render/OpenGL.hpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/render/OpenGL.hpp') diff --git a/src/render/OpenGL.hpp b/src/render/OpenGL.hpp index fc5eed41..1e43333b 100644 --- a/src/render/OpenGL.hpp +++ b/src/render/OpenGL.hpp @@ -101,6 +101,7 @@ struct SCurrentRenderData { CFramebuffer* outFB = nullptr; // out to render to (if offloaded, etc) CRegion damage; + CRegion finalDamage; // damage used for funal off -> main SRenderModifData renderModif; float mouseZoomFactor = 1.f; @@ -123,7 +124,7 @@ class CHyprOpenGLImpl { public: CHyprOpenGLImpl(); - void begin(CMonitor*, CRegion*, CFramebuffer* fb = nullptr /* if provided, it's not a real frame */); + void begin(CMonitor*, const CRegion& damage, CFramebuffer* fb = nullptr, std::optional finalDamage = {}); void end(); void renderRect(CBox*, const CColor&, int round = 0); @@ -174,6 +175,8 @@ class CHyprOpenGLImpl { void renderOffToMain(CFramebuffer* off); void bindBackOnMain(); + void setDamage(const CRegion& damage, std::optional finalDamage = {}); + uint32_t getPreferredReadFormat(CMonitor* pMonitor); const SGLPixelFormat* getPixelFormatFromDRM(uint32_t drmFormat); -- cgit v1.2.3