gtk/gsk
Benjamin Otte e38bd27d58 gdk: Redo GL drawing
Reenable GL drawing, but do it without Cairo.

Now, the context passed to gdk_window_begin_draw_frame() decides how
drawing is going to happen. If it is NULL, Cairo is used like before.

If a context is passed, Cairo may not be used for drawing and
gdk_drawing_context_get_cairo_context() is going to return NULL.
Instead, the GL renderer must draw to the GL backbuffer and
end_draw_frame() is then swapping that to the front.

The GskGLRenderer has lost the texture it used to render to and adapted
to render directly to the backbuffer instead.

The only thing missing is for GtkGLArea to gain back a performant way to
render. But it didn't have one since the introduction of GSK, this
patchset doesn't change anything about it.

The new rendering avoids two indirections (the GSK renderer's texture
and the GDK double buffering surface).
It improves icon count in the fishbowl demo by 30%.
2016-12-05 15:02:47 +01:00
..
resources/glsl Use the projection to flip around the content 2016-10-18 11:49:10 +01:00
gsk.h gsk: Add GskTexture 2016-11-08 20:31:34 +01:00
gskcairorenderer.c gskrenderer: Add GError argument to gsk_renderer_realize() 2016-11-30 15:58:07 +01:00
gskcairorendererprivate.h cairorenderer: Remove nonexisting function from header 2016-11-30 15:15:08 +01:00
gskdebug.c Some debug help 2016-10-18 11:49:12 +01:00
gskdebugprivate.h Some debug help 2016-10-18 11:49:12 +01:00
gskenums.h gsk: Bump up all version annotations 2016-10-18 11:49:16 +01:00
gskenumtypes.c.template Initial implementation of GSK rendering pipeline 2016-10-18 11:29:34 +01:00
gskenumtypes.h.template Initial implementation of GSK rendering pipeline 2016-10-18 11:29:34 +01:00
gskgldriver.c gsk: Allow 0 for gsk_gl_driver_begin_frame() 2016-12-05 15:02:47 +01:00
gskgldriverprivate.h gsktexture: Allow attaching render data to textures 2016-11-16 17:36:33 +01:00
gskglprofiler.c gsk: Bind GL context to the GL profiler 2016-10-18 11:49:10 +01:00
gskglprofilerprivate.h gsk: Bind GL context to the GL profiler 2016-10-18 11:49:10 +01:00
gskglrenderer.c gdk: Redo GL drawing 2016-12-05 15:02:47 +01:00
gskglrendererprivate.h Initial implementation of GSK rendering pipeline 2016-10-18 11:29:34 +01:00
gskprivate.c Initial implementation of GSK rendering pipeline 2016-10-18 11:29:34 +01:00
gskprivate.h Initial implementation of GSK rendering pipeline 2016-10-18 11:29:34 +01:00
gskprofiler.c gsk: Add profiler object 2016-10-18 11:49:10 +01:00
gskprofilerprivate.h gsk: Add profiler object 2016-10-18 11:49:10 +01:00
gskrenderer.c gskrenderer: Store the GL context 2016-12-05 15:02:47 +01:00
gskrenderer.h gskrenderer: Store the GL context 2016-12-05 15:02:47 +01:00
gskrendererprivate.h gskrenderer: Store the GL context 2016-12-05 15:02:47 +01:00
gskrendernode.c gsk: Allow creating cairo contexts for 0x0 nodes 2016-11-15 17:49:19 +01:00
gskrendernode.h gsk: Add GskTexture 2016-11-08 20:31:34 +01:00
gskrendernodeiter.c gsk: Bump up all version annotations 2016-10-18 11:49:16 +01:00
gskrendernodeiter.h gsk: Bump up all version annotations 2016-10-18 11:49:16 +01:00
gskrendernodeprivate.h gsk: Add GskTexture 2016-11-08 20:31:34 +01:00
gskshaderbuilder.c Fix a few memory leaks 2016-10-21 06:45:22 +02:00
gskshaderbuilderprivate.h gsk: Consolidate program creation and storage 2016-10-18 11:49:07 +01:00
gsktexture.c gsktexture: Allow attaching render data to textures 2016-11-16 17:36:33 +01:00
gsktexture.h gsk: Rework GskTexture 2016-11-16 17:36:33 +01:00
gsktextureprivate.h gsktexture: Allow attaching render data to textures 2016-11-16 17:36:33 +01:00
gsktypes.h gsk: Add GskTexture 2016-11-08 20:31:34 +01:00
Makefile.am gsk: ensure libgsk-4.la before running g-ir-scanner 2016-11-30 10:30:17 -05:00