mutter/cogl
Daniel van Vugt f0a9ec0519 cogl/journal: Invalidate framebuffer mipmaps on each journal insertion
Because the framebuffer itself might be backed by a texture, which might
have mipmapping enabled. If so then rendering to the framebuffer will make
those mipmaps out of date.

Technically we are flagging the framebuffer's mipmaps as dirty *before*
they are, because the journal hasn't been flushed yet. But we need to do
it early because ideally the next flush will both write the offscreen
framebuffer contents and then read them for use in rendering to an onscreen
framebuffer. And the `mipmaps_dirty` flag needs to be set before the read,
so therefore we need to do it before the next journal flush.

Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3146
where the offscreen framebuffer in question is meta-background's
`monitor->fbo`.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1664>
2021-01-08 15:51:09 +08:00
..
cogl cogl/journal: Invalidate framebuffer mipmaps on each journal insertion 2021-01-08 15:51:09 +08:00
cogl-pango cogl/framebuffer: Move public struct fields to private struct 2020-10-16 16:17:38 +00:00
test-fixtures cogl: Turn CoglFramebuffer, CoglOffscreen and CoglOnscreen into GObjects 2020-10-16 16:17:38 +00:00
tests tests: Use ClutterStage "after-paint" instead of ClutterActor "paint" 2020-10-23 22:06:58 +02:00
.gitignore
cogl-config.h.meson *: Fix spelling mistakes found by codespell 2020-08-29 09:10:31 +00:00
cogl-mutter-config.h.in
config-custom.h
meson.build