mutter/cogl
Georges Basile Stavracas Neto 038a3170bf cogl/framebuffer: Add cogl_framebuffer_flush
In future patches, we'll create additional CoglFramebuffers that
will be shared via DMA-Buf with PipeWire. When recording frames,
we'll blit the current onscreen framebuffer into the shared one.

However, that presents a problem: cogl_framebuffer_blit() mimics
glBlitFramebuffer() semantics, and doesn't do an implicit flush
of the GPU command stream. As a consequence, clients may receive
unblitted or incomplete framebuffers.

We could use cogl_framebuffer_finish() to ensure the commands were
submitted to the GPU, but it is too harsh -- it blocks the CPU
completely until the commands are finished!

Add cogl_framebuffer_flush(), which ensures the command stream is
submitted to the GPU without blocking the CPU. Even though we don't
use the framebuffer specifically, it may be useful in the future
for e.g. a potential Vulkan backend to have access to the framebuffer.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/1086
2020-02-28 10:52:34 -03:00
..
cogl cogl/framebuffer: Add cogl_framebuffer_flush 2020-02-28 10:52:34 -03:00
cogl-pango cogl/pango: Remove deprecated API using implicit fb stack 2019-12-03 19:02:14 +00:00
cogl-path cogl/path: Remove API using deprecated Cogl API 2019-12-03 19:02:14 +00:00
test-fixtures
tests cogl: Remove no-op cogl_shader_compile and cogl_shader_get_info_log 2020-02-12 21:55:44 +00:00
.gitignore
cogl-config.h.meson
cogl-mutter-config.h.in
config-custom.h
meson.build