https://bugs.kde.org/show_bug.cgi?id=390698
--- Comment #23 from Vlad Zagorodniy <vladz...@gmail.com> --- (In reply to Fredrik Höglund from comment #22) > Any transformation that does not just translate and/or scale the window. > Although scaling can also benefit from this, so I guess any transformation > that does not just translate the window. I think it makes sense to render a window in an offscreen texture if only affine transformations were applied on it. Like, there is no point to render a window in an offscreen texture if the Fall apart effect was applied on it. Or, there should be another flag, like PAINT_WINDOW_SMOOTH. So, when opengl scene sees that flag, it renders a window into an offscreen texture, then maps the offscreen texture onto the window's grid. Or, there should be some heuristic so opengl scene knows when to render a window into an offscreen texture. But, it's mostly unrelated to the multisampling stuff, right? > There is no need to call unbind() before deleting an object - deleting an > object also unbinds it from any bind points it is bound to in the current > context. Done. > [libkwineffects] simplify GLRenderTarget: > > Please split this commit so each change is done as a separate commit. It > makes the changes easier to review. Done. I've splitted it into ac394bdb60201b49636e31dfabf591420578d79b and 0161f0ec73eedc0c5047107fd579defb7afc2c21. Please note that I deleted the part which marks textures as dirty. It's not used anywhere and makes only harder to do changes. Do you know what purpose was of GLTexture::setDirty(), and GLTexture::isDirty()? > I think finalPrePaintScreen() should create the render buffer and render > target on-demand, and also destroy them when PAINT_SCREEN_MULTISAMPLE is not > set. They consume a lot of memory, so we don't want to keep them around when > they are not being used. In other words, keep a multisampled render buffer till finalPrePaintScreen is being called with the PAINT_SCREEN_MULTISAMPLE flag, right? > I would rename m_multisamplingCtx to m_multisampling. Ctx suggests that it's > a GL context. Done. > The changes look pretty good otherwise! Thanks, but I posted that code as a proof-of-concept to stimulate work on fixing this bug. I could continue work on fixing this bug, but only under supervision(I'm not so good at OpenGL). Also, it has issues with the Background contrast and blur effect. https://www.youtube.com/watch?v=aniol9Hcr2U IIRC, they copy data from a framebuffer. Is it a good idea to use render buffers in this case? I think we could blit from a current framebuffer(the one with multisampling) to a texture and then do blur or change contrast. This would require adding another method, like blitTo, to the GLRenderTarget class. -- You are receiving this mail because: You are watching all bug changes.