anemeth added inline comments. Restricted Application edited projects, added Plasma; removed KWin.
INLINE COMMENTS > fredrik wrote in blur.cpp:145 > Okay, I see what you mean. I think this is a trade-off between two > undesirable effects though, because the clamping causes abrupt changes near > the edges of the blurred region when a window is moved. You can see this > effect pretty clearly in the video you attached when the blur strength is set > to strong. It really comes down to what you think is worse though. > > But my concern here is that a fullscreen texture consumes at least 8 MB of > VRAM with an HD monitor, and 32 MB with a 4K monitor. > > I think it would be better to copy the framebuffer to m_renderTexture[0], and > apply the clamping as a post-processing effect, using m_renderTexture[0] as > both the source and destination, and targeting only the region outside the > red rectangle for rendering. Using the same texture as both the source and > destination is allowed in OpenGL when GL_ARB_texture_barrier or > GL_NV_texture_barrier is supported, but unfortunately not in OpenGL ES. > > The taskbar (and other panels) can be identified by calling > EffectWindow::isDock(). I checked if I have these extensions. Just to make sure it works I included another extension I know my card supports. qCDebug(KWINEFFECTS) << "NV_texture_barrier:" << hasGLExtension("NV_texture_barrier"); qCDebug(KWINEFFECTS) << "ARB_texture_barrier:" << hasGLExtension("ARB_texture_barrier"); qCDebug(KWINEFFECTS) << "GL_NV_texgen_reflection:" << hasGLExtension("GL_NV_texgen_reflection"); And the output: kwineffects: NV_texture_barrier: false kwineffects: ARB_texture_barrier: false kwineffects: GL_NV_texgen_reflection: true If this works so unreliably I don't think we should use this. REPOSITORY R108 KWin REVISION DETAIL https://phabricator.kde.org/D9848 To: anemeth, #plasma, #kwin Cc: luebking, broulik, romangg, zzag, anthonyfieroni, mart, davidedmundson, fredrik, ngraham, plasma-devel, kwin, #kwin, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol