diff options
author | vaxerski <[email protected]> | 2022-12-18 12:41:13 +0000 |
---|---|---|
committer | vaxerski <[email protected]> | 2022-12-18 12:41:19 +0000 |
commit | a163ca92377a56c196222a48c0a5676a7bb4ac3b (patch) | |
tree | c24b3bee0c4a1f12f7867250208c8b7db13842ec /src/render/OpenGL.hpp | |
parent | 27b8561d25e86d7f1e50082c71cea99969edddde (diff) | |
download | Hyprland-a163ca92377a56c196222a48c0a5676a7bb4ac3b.tar.gz Hyprland-a163ca92377a56c196222a48c0a5676a7bb4ac3b.zip |
fix blur damage spam on no blurred windows
Diffstat (limited to 'src/render/OpenGL.hpp')
-rw-r--r-- | src/render/OpenGL.hpp | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/src/render/OpenGL.hpp b/src/render/OpenGL.hpp index d550ca0a..c716590a 100644 --- a/src/render/OpenGL.hpp +++ b/src/render/OpenGL.hpp @@ -32,20 +32,21 @@ struct SMonitorRenderData { CTexture stencilTex; CFramebuffer blurFB; - bool blurFBDirty = true; + bool blurFBDirty = true; + bool blurFBShouldRender = false; wlr_box backgroundTexBox; // Shaders - bool m_bShadersInitialized = false; - CShader m_shQUAD; - CShader m_shRGBA; - CShader m_shRGBX; - CShader m_shEXT; - CShader m_shBLUR1; - CShader m_shBLUR2; - CShader m_shSHADOW; - CShader m_shBORDER1; + bool m_bShadersInitialized = false; + CShader m_shQUAD; + CShader m_shRGBA; + CShader m_shRGBX; + CShader m_shEXT; + CShader m_shBLUR1; + CShader m_shBLUR2; + CShader m_shSHADOW; + CShader m_shBORDER1; // }; @@ -142,13 +143,13 @@ class CHyprOpenGLImpl { void initShaders(); // returns the out FB, can be either Mirror or MirrorSwap - CFramebuffer* blurMainFramebufferWithDamage(float a, wlr_box* pBox, pixman_region32_t* damage); + CFramebuffer* blurMainFramebufferWithDamage(float a, wlr_box* pBox, pixman_region32_t* damage); - void renderTextureInternalWithDamage(const CTexture&, wlr_box* pBox, float a, pixman_region32_t* damage, int round = 0, bool discardOpaque = false, bool noAA = false, - bool allowCustomUV = false, bool allowDim = false); - void renderSplash(cairo_t* const, cairo_surface_t* const, double); + void renderTextureInternalWithDamage(const CTexture&, wlr_box* pBox, float a, pixman_region32_t* damage, int round = 0, bool discardOpaque = false, bool noAA = false, + bool allowCustomUV = false, bool allowDim = false); + void renderSplash(cairo_t* const, cairo_surface_t* const, double); - void preBlurForCurrentMonitor(); + void preBlurForCurrentMonitor(); friend class CHyprRenderer; }; |