mutter/cogl/cogl
Jonas Ådahl 5e45dc15b6 cogl/renderer: Add API to bind the right EGL API
We need to call eglBindAPI() with GLES before we setup the secondary
GPU blit. We've been lucky not really needing this, as it has been
GLES default, which is what the secondary blit uses, in order to not
depend on the default, or if we want to create the secondary blit
objects after initializing cogl, we must make sure to bind the right API
at the right time.

As we need to bind the GLES API when setting up the secondary blit, we
need to make sure that cogl gets the right API bound when that's done,
so Cogl can continue working. For this, add a "bind_api()" method on the
CoglRenderer object, that will know what API is correct to bind.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1828>
2021-07-07 21:03:26 +02:00
..
deprecated cogl: Stop using GSlice 2021-02-22 13:51:30 +01:00
driver cogl/clip-stack-gl: Set glStencilMask correctly for clip regions 2021-06-01 15:44:01 +08:00
gl-prototypes cogl: GLES3 has sync objects 2020-02-19 17:55:46 +00:00
winsys cogl/renderer: Add API to bind the right EGL API 2021-07-07 21:03:26 +02:00
cogl1-context.h cogl: Mark exported cogl symbols using COGL_EXPORT 2020-03-26 09:05:38 +01:00
cogl-atlas-texture-private.h cogl: Mark exported cogl symbols using COGL_EXPORT 2020-03-26 09:05:38 +01:00
cogl-atlas-texture.c *: Fix spelling mistakes found by codespell 2020-08-29 09:10:31 +00:00
cogl-atlas-texture.h cogl: Mark exported cogl symbols using COGL_EXPORT 2020-03-26 09:05:38 +01:00
cogl-atlas.c cogl: Remove unneeded driver/ includes from the core 2019-10-21 16:32:46 -04:00
cogl-atlas.h cogl: Mark exported cogl symbols using COGL_EXPORT 2020-03-26 09:05:38 +01:00
cogl-attribute-buffer-private.h
cogl-attribute-buffer.c cogl: Stop using GSlice 2021-02-22 13:51:30 +01:00
cogl-attribute-buffer.h cogl: Mark exported cogl symbols using COGL_EXPORT 2020-03-26 09:05:38 +01:00
cogl-attribute-private.h cogl: Remove the framebuffer and source stacks 2019-12-03 19:02:14 +00:00
cogl-attribute.c cogl: Stop using GSlice 2021-02-22 13:51:30 +01:00
cogl-attribute.h *: Fix spelling mistakes found by codespell 2020-08-29 09:10:31 +00:00
cogl-bitmap-conversion.c cogl: Add 64 bit half-point pixel RGBA formats 2020-08-07 09:02:48 +00:00
cogl-bitmap-packing.h cogl: Add 64 bit half-point pixel RGBA formats 2020-08-07 09:02:48 +00:00
cogl-bitmap-pixbuf.c *: Fix spelling mistakes found by codespell 2020-08-29 09:10:31 +00:00
cogl-bitmap-private.h cogl: Move _cogl_bitmap_gl_{,un}bind into the GL driver 2019-10-21 16:32:46 -04:00
cogl-bitmap.c cogl: Stop using GSlice 2021-02-22 13:51:30 +01:00
cogl-bitmap.h cogl: Mark exported cogl symbols using COGL_EXPORT 2020-03-26 09:05:38 +01:00
cogl-bitmask.c *: Fix spelling mistakes found by codespell 2020-08-29 09:10:31 +00:00
cogl-bitmask.h
cogl-blend-string.c Use G_GNUC_FALLTHROUGH instead of comments 2020-01-09 17:58:29 +01:00
cogl-blend-string.h
cogl-blit.c cogl: Turn CoglFramebuffer, CoglOffscreen and CoglOnscreen into GObjects 2020-10-16 16:17:38 +00:00
cogl-blit.h
cogl-boxed-value.c Change all g_memdup() to g_memdup2() 2021-02-04 19:16:28 +01:00
cogl-boxed-value.h
cogl-buffer-private.h cogl: Mark exported cogl symbols using COGL_EXPORT 2020-03-26 09:05:38 +01:00
cogl-buffer.c *: Fix spelling mistakes found by codespell 2020-08-29 09:10:31 +00:00
cogl-buffer.h cogl: Mark exported cogl symbols using COGL_EXPORT 2020-03-26 09:05:38 +01:00
cogl-clip-stack.c cogl: Stop using GSlice 2021-02-22 13:51:30 +01:00
cogl-clip-stack.h Remove CoglMatrix 2020-10-06 15:34:48 +00:00
cogl-closure-list-private.h cogl: Mark exported cogl symbols using COGL_EXPORT 2020-03-26 09:05:38 +01:00
cogl-closure-list.c cogl: Stop using GSlice 2021-02-22 13:51:30 +01:00
cogl-color-private.h
cogl-color.c cogl: Stop using GSlice 2021-02-22 13:51:30 +01:00
cogl-color.h cogl: Mark exported cogl symbols using COGL_EXPORT 2020-03-26 09:05:38 +01:00
cogl-context-private.h cogl/offscreen: Move CoglOffscreen code to its own file 2021-01-30 09:11:45 +00:00
cogl-context.c cogl: Remove cogl_get_clock_time() 2021-03-08 09:48:11 +00:00
cogl-context.h cogl: Remove cogl_get_clock_time() 2021-03-08 09:48:11 +00:00
cogl-debug-options.h cogl: Add new option COGL_DEBUG=stencilling to disable optimizations 2021-06-01 15:42:52 +08:00
cogl-debug.c cogl: Add new option COGL_DEBUG=stencilling to disable optimizations 2021-06-01 15:42:52 +08:00
cogl-debug.h cogl: Add new option COGL_DEBUG=stencilling to disable optimizations 2021-06-01 15:42:52 +08:00
cogl-defines.h.in
cogl-defines.h.meson cogl: Install cogl-trace.h and include from cogl.h 2020-03-26 09:05:38 +01:00
cogl-depth-state-private.h
cogl-depth-state.c
cogl-depth-state.h cogl: Mark exported cogl symbols using COGL_EXPORT 2020-03-26 09:05:38 +01:00
cogl-display-private.h cogl: Remove ability to bind Wayland EGL display 2021-05-18 14:03:22 +00:00
cogl-display.c cogl: Remove ability to bind Wayland EGL display 2021-05-18 14:03:22 +00:00
cogl-display.h cogl: Mark exported cogl symbols using COGL_EXPORT 2020-03-26 09:05:38 +01:00
cogl-dma-buf-handle.c cogl: Turn CoglFramebuffer, CoglOffscreen and CoglOnscreen into GObjects 2020-10-16 16:17:38 +00:00
cogl-dma-buf-handle.h cogl/dma-buf: Add mmap/munmap helpers 2020-05-26 13:54:28 +00:00
cogl-driver.h cogl/framebuffer: Move read_pixels_into_bitmap() to driver class 2021-01-30 09:11:46 +00:00
cogl-egl-defines.h.in
cogl-egl-private.h
cogl-egl.h cogl: Mark exported cogl symbols using COGL_EXPORT 2020-03-26 09:05:38 +01:00
cogl-feature-private.c cogl: Remove unused CoglFeatureFlags 2019-10-21 21:43:08 +00:00
cogl-feature-private.h cogl: Remove unused CoglFeatureFlags 2019-10-21 21:43:08 +00:00
cogl-fence-private.h
cogl-fence.c cogl: Stop using GSlice 2021-02-22 13:51:30 +01:00
cogl-fence.h cogl: Mark exported cogl symbols using COGL_EXPORT 2020-03-26 09:05:38 +01:00
cogl-flags.h
cogl-frame-info-private.h cogl/frame-info: Add VSYNC flag 2021-03-08 09:48:11 +00:00
cogl-frame-info.c cogl/frame-info: Add VSYNC flag 2021-03-08 09:48:11 +00:00
cogl-frame-info.h cogl/frame-info: Add VSYNC flag 2021-03-08 09:48:11 +00:00
cogl-framebuffer-driver.c cogl/framebuffer: Move read_pixels_into_bitmap() to driver class 2021-01-30 09:11:46 +00:00
cogl-framebuffer-driver.h cogl/framebuffer: Move read_pixels_into_bitmap() to driver class 2021-01-30 09:11:46 +00:00
cogl-framebuffer-private.h cogl/journal: Don't sometimes hold a ref on the framebuffer 2021-02-18 16:59:00 +00:00
cogl-framebuffer.c cogl/journal: Don't sometimes hold a ref on the framebuffer 2021-02-18 16:59:00 +00:00
cogl-framebuffer.h cogl: Init framebuffer driver up front 2021-01-30 09:11:46 +00:00
cogl-gl-header.h.in
cogl-glib-source.c
cogl-glib-source.h cogl: Mark exported cogl symbols using COGL_EXPORT 2020-03-26 09:05:38 +01:00
cogl-glsl-shader-boilerplate.h
cogl-graphene.c cogl/graphene: Fix license header 2021-01-28 20:33:01 +00:00
cogl-graphene.h cogl/graphene: Fix license header 2021-01-28 20:33:01 +00:00
cogl-gtype-private.h cogl: Drop "volatile" from static GTypes in manual registration 2021-03-22 10:47:51 +00:00
cogl-gtype.c
cogl-i18n-private.h
cogl-index-buffer-private.h
cogl-index-buffer.c cogl: Stop using GSlice 2021-02-22 13:51:30 +01:00
cogl-index-buffer.h cogl: Mark exported cogl symbols using COGL_EXPORT 2020-03-26 09:05:38 +01:00
cogl-indices-private.h
cogl-indices.c cogl: Stop using GSlice 2021-02-22 13:51:30 +01:00
cogl-indices.h *: Fix spelling mistakes found by codespell 2020-08-29 09:10:31 +00:00
cogl-journal-private.h cogl/journal: Track dither 2019-10-16 16:25:08 +02:00
cogl-journal.c cogl: Stop using GSlice 2021-02-22 13:51:30 +01:00
cogl-list.c
cogl-list.h
cogl-macros.h cogl: Mark exported cogl symbols using COGL_EXPORT 2020-03-26 09:05:38 +01:00
cogl-magazine-private.h
cogl-magazine.c
cogl-matrix-stack-private.h cogl/matrix-stack: Embed graphene matrices in entry structs 2020-10-06 15:34:48 +00:00
cogl-matrix-stack.c cogl: Stop using GSlice 2021-02-22 13:51:30 +01:00
cogl-matrix-stack.h Remove CoglMatrix 2020-10-06 15:34:48 +00:00
cogl-memory-stack-private.h
cogl-memory-stack.c cogl: Stop using GSlice 2021-02-22 13:51:30 +01:00
cogl-meta-texture.c Remove CoglMatrix 2020-10-06 15:34:48 +00:00
cogl-meta-texture.h cogl: Mark exported cogl symbols using COGL_EXPORT 2020-03-26 09:05:38 +01:00
cogl-mutter.h cogl: Add CoglX11Onscreen interface 2021-01-30 09:11:46 +00:00
cogl-node-private.h *: Fix spelling mistakes found by codespell 2020-08-29 09:10:31 +00:00
cogl-node.c
cogl-object-private.h *: Fix spelling mistakes found by codespell 2020-08-29 09:10:31 +00:00
cogl-object.c *: Fix spelling mistakes found by codespell 2020-08-29 09:10:31 +00:00
cogl-object.h *: Fix spelling mistakes found by codespell 2020-08-29 09:10:31 +00:00
cogl-offscreen-private.h cogl/offscreen: Move struct to C file 2021-01-30 09:11:46 +00:00
cogl-offscreen.c cogl/gl-framebuffer: Split up into FBO and back drivers 2021-01-30 09:11:46 +00:00
cogl-offscreen.h cogl: Turn CoglFramebuffer, CoglOffscreen and CoglOnscreen into GObjects 2020-10-16 16:17:38 +00:00
cogl-onscreen-private.h cogl/onscreen: Remove explicit 'resizable':ness 2021-01-30 09:11:46 +00:00
cogl-onscreen-template-private.h
cogl-onscreen-template.c cogl: Stop using GSlice 2021-02-22 13:51:30 +01:00
cogl-onscreen-template.h cogl: Mark exported cogl symbols using COGL_EXPORT 2020-03-26 09:05:38 +01:00
cogl-onscreen.c cogl/frame-info: Add ZERO_COPY flag 2021-03-08 09:48:11 +00:00
cogl-onscreen.h cogl/onscreen: Move buffer age getter vfunc to class 2021-01-30 09:11:46 +00:00
cogl-output-private.h
cogl-output.c cogl: Stop using GSlice 2021-02-22 13:51:30 +01:00
cogl-output.h cogl: Mark exported cogl symbols using COGL_EXPORT 2020-03-26 09:05:38 +01:00
cogl-pipeline-cache.c cogl: Use autopointers to free structs on return 2020-04-12 21:40:20 +00:00
cogl-pipeline-cache.h
cogl-pipeline-debug.c cogl: Remove unused explicit blend-enable controls 2019-12-18 15:58:52 +00:00
cogl-pipeline-hash-table.c cogl: Stop using GSlice 2021-02-22 13:51:30 +01:00
cogl-pipeline-hash-table.h
cogl-pipeline-layer-private.h Remove CoglMatrix 2020-10-06 15:34:48 +00:00
cogl-pipeline-layer-state-private.h
cogl-pipeline-layer-state.c Remove CoglMatrix 2020-10-06 15:34:48 +00:00
cogl-pipeline-layer-state.h Remove CoglMatrix 2020-10-06 15:34:48 +00:00
cogl-pipeline-layer.c cogl: Stop using GSlice 2021-02-22 13:51:30 +01:00
cogl-pipeline-private.h cogl: Stop using GSlice 2021-02-22 13:51:30 +01:00
cogl-pipeline-snippet-private.h
cogl-pipeline-snippet.c
cogl-pipeline-state-private.h cogl: Remove unused explicit blend-enable controls 2019-12-18 15:58:52 +00:00
cogl-pipeline-state.c cogl: Remove unused explicit blend-enable controls 2019-12-18 15:58:52 +00:00
cogl-pipeline-state.h cogl: Use graphene APIs 2020-10-06 15:34:48 +00:00
cogl-pipeline.c cogl: Stop using GSlice 2021-02-22 13:51:30 +01:00
cogl-pipeline.h *: Fix spelling mistakes found by codespell 2020-08-29 09:10:31 +00:00
cogl-pixel-buffer-private.h
cogl-pixel-buffer.c cogl: Stop using GSlice 2021-02-22 13:51:30 +01:00
cogl-pixel-buffer.h cogl: Mark exported cogl symbols using COGL_EXPORT 2020-03-26 09:05:38 +01:00
cogl-pixel-format.c *: Fix spelling mistakes found by codespell 2020-08-29 09:10:31 +00:00
cogl-pixel-format.h cogl: Add 64 bit half-point pixel RGBA formats 2020-08-07 09:02:48 +00:00
cogl-point-in-poly-private.h
cogl-point-in-poly.c
cogl-poll-private.h cogl: Mark exported cogl symbols using COGL_EXPORT 2020-03-26 09:05:38 +01:00
cogl-poll.c cogl: Stop using GSlice 2021-02-22 13:51:30 +01:00
cogl-poll.h cogl: Mark exported cogl symbols using COGL_EXPORT 2020-03-26 09:05:38 +01:00
cogl-primitive-private.h cogl: Mark exported cogl symbols using COGL_EXPORT 2020-03-26 09:05:38 +01:00
cogl-primitive-texture.c
cogl-primitive-texture.h cogl: Mark exported cogl symbols using COGL_EXPORT 2020-03-26 09:05:38 +01:00
cogl-primitive.c cogl: Stop using GSlice 2021-02-22 13:51:30 +01:00
cogl-primitive.h cogl: Mark exported cogl symbols using COGL_EXPORT 2020-03-26 09:05:38 +01:00
cogl-primitives-private.h cogl: Add function cogl_2d_primitives_immediate 2019-12-18 11:46:54 +08:00
cogl-primitives.c cogl/framebuffer: Move public struct fields to private struct 2020-10-16 16:17:38 +00:00
cogl-private.h Replace the CoglMatrix type by graphene_matrix_t 2020-10-06 15:34:47 +00:00
cogl-profile.c
cogl-profile.h cogl: Mark exported cogl symbols using COGL_EXPORT 2020-03-26 09:05:38 +01:00
cogl-rectangle-map.c cogl: Stop using GSlice 2021-02-22 13:51:30 +01:00
cogl-rectangle-map.h
cogl-renderer-private.h cogl: Remove unneeded X11 includes from various headers 2019-12-18 16:06:35 +00:00
cogl-renderer.c cogl/renderer: Add API to bind the right EGL API 2021-07-07 21:03:26 +02:00
cogl-renderer.h cogl/renderer: Add API to bind the right EGL API 2021-07-07 21:03:26 +02:00
cogl-sampler-cache-private.h cogl: Remove unused p-axis texture wrap mode 2020-01-31 17:26:25 +00:00
cogl-sampler-cache.c cogl: Stop using GSlice 2021-02-22 13:51:30 +01:00
cogl-scanout.c cogl: Fix license header in cogl-scanout and cogl-trace 2021-01-28 20:33:01 +00:00
cogl-scanout.h cogl: Fix license header in cogl-scanout and cogl-trace 2021-01-28 20:33:01 +00:00
cogl-snippet-private.h
cogl-snippet.c cogl: Stop using GSlice 2021-02-22 13:51:30 +01:00
cogl-snippet.h *: Fix spelling mistakes found by codespell 2020-08-29 09:10:31 +00:00
cogl-spans.c
cogl-spans.h
cogl-sub-texture-private.h
cogl-sub-texture.c cogl: Remove unused p-axis texture wrap mode 2020-01-31 17:26:25 +00:00
cogl-sub-texture.h cogl: Mark exported cogl symbols using COGL_EXPORT 2020-03-26 09:05:38 +01:00
cogl-swap-chain-private.h clutter: Remove support for transparent windows 2020-08-13 14:45:10 +02:00
cogl-swap-chain.c cogl: Stop using GSlice 2021-02-22 13:51:30 +01:00
cogl-swap-chain.h cogl: Mark exported cogl symbols using COGL_EXPORT 2020-03-26 09:05:38 +01:00
cogl-texture-2d-private.h cogl: Remove cogl_texture_2d_gl_new_from_foreign 2019-11-07 12:47:23 +00:00
cogl-texture-2d-sliced-private.h cogl: Remove cogl_texture_2d_gl_new_from_foreign 2019-11-07 12:47:23 +00:00
cogl-texture-2d-sliced.c cogl/texture-2d-sliced: Don't double-free slice array when alloc failed 2020-12-18 16:19:05 +00:00
cogl-texture-2d-sliced.h *: Fix spelling mistakes found by codespell 2020-08-29 09:10:31 +00:00
cogl-texture-2d.c cogl-texture-2d: Flush the journal before mipmapping 2020-07-07 16:15:24 +08:00
cogl-texture-2d.h cogl: Mark exported cogl symbols using COGL_EXPORT 2020-03-26 09:05:38 +01:00
cogl-texture-driver.h cogl: Add API to check whether a format is supported by the driver 2020-08-07 09:02:49 +00:00
cogl-texture-private.h cogl: Add new function cogl_pipeline_set_layer_max_mipmap_level() 2020-05-13 09:37:31 +00:00
cogl-texture.c cogl: Stop using GSlice 2021-02-22 13:51:30 +01:00
cogl-texture.h cogl: Mark exported cogl symbols using COGL_EXPORT 2020-03-26 09:05:38 +01:00
cogl-trace.c cogl: Fix license header in cogl-scanout and cogl-trace 2021-01-28 20:33:01 +00:00
cogl-trace.h cogl: Fix license header in cogl-scanout and cogl-trace 2021-01-28 20:33:01 +00:00
cogl-types.h cogl: Export cogl_blend_string_error_quark 2021-07-05 23:01:37 +01:00
cogl-util.c cogl: Mark exported cogl symbols using COGL_EXPORT 2020-03-26 09:05:38 +01:00
cogl-util.h
cogl-version.h
cogl-wayland-server.h cogl: Mark exported cogl symbols using COGL_EXPORT 2020-03-26 09:05:38 +01:00
cogl-x11-onscreen.c cogl: Add CoglX11Onscreen interface 2021-01-30 09:11:46 +00:00
cogl-x11-onscreen.h cogl: Add CoglX11Onscreen interface 2021-01-30 09:11:46 +00:00
cogl-x11-renderer-private.h
cogl-xlib-private.h cogl: Move _cogl_xlib_get_damage_base near its only consumer 2019-10-24 16:52:46 -04:00
cogl-xlib-renderer-private.h cogl: Remove unused _cogl_xlib_renderer_get_dispatch_timeout 2019-10-24 16:52:53 -04:00
cogl-xlib-renderer.c cogl: Stop using GSlice 2021-02-22 13:51:30 +01:00
cogl-xlib-renderer.h cogl: Mark exported cogl symbols using COGL_EXPORT 2020-03-26 09:05:38 +01:00
cogl-xlib.h cogl: Remove unused cogl_xlib_renderer_get_visual_info 2019-10-24 16:52:47 -04:00
cogl.c Remove CoglMatrix 2020-10-06 15:34:48 +00:00
cogl.h Remove CoglMatrix 2020-10-06 15:34:48 +00:00
meson.build cogl/framebuffer: Move read_pixels_into_bitmap() to driver class 2021-01-30 09:11:46 +00:00
mutter-cogl.pc.in