--- Comment #23 from Vlad Zagorodniy <> ---
(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
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
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.


> [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.


> The changes look pretty good otherwise!

Thanks, but I posted that code as a proof-of-concept to stimulate work on
this bug.

I could continue work on fixing this bug, but only under supervision(I'm not so
at OpenGL).

Also, it has issues with the Background contrast and blur effect.
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
to the GLRenderTarget class.

You are receiving this mail because:
You are watching all bug changes.

Reply via email to