wayland: Rewrite Cairo rendering
authorBenjamin Otte <otte@redhat.com>
Tue, 17 Apr 2018 21:05:41 +0000 (23:05 +0200)
committerBenjamin Otte <otte@redhat.com>
Tue, 24 Apr 2018 21:16:58 +0000 (23:16 +0200)
commit4aac0760b32ad122e9b9c2a31f05e9cb642e900e
tree9989c3762699f6add4346c5caccdf6523c2ea2a7
parent03e6cefe73e4a3865a41e853f28e0e700d37a948
wayland: Rewrite Cairo rendering

Also, split it into its own file - which was the original reason for
looking at this code, the rewrite was an unintentional side effect.

This changes the context to create surfaces on demand.
So whenever the compositor holds onto a surface while GDK wants to
render, it just creates a new surface. If the compositor releases
surfaces, we will retain one for the next frame to be rendered, but free
all extra ones.
This way, we should get to a stage where we have exactly as many
surfaces as needed and never allocate/free any.
gdk/wayland/gdkcairocontext-wayland.c
gdk/wayland/gdkcairocontext-wayland.h
gdk/wayland/gdkprivate-wayland.h
gdk/wayland/gdksurface-wayland.c