mutter/cogl/cogl
Michel Dänzer e1f795ff79 onscreen/native: Add and use choose_onscreen_egl_config helper
If the EGL_KHR_no_config_context extension is supported, use it to
choose a format per onscreen which is compatible with the scanout CRTC
and the GL rendering API used.

Suggested by Jonas Ådahl.

v2:
* Drop code which checked for GLES3 renderability. Makes no sense for
  various reasons, in particular that EGLconfigs are about EGLSurfaces,
  whereas secondary GPU contexts use an FBO for blitting.
* Use error parameter directly for meta_renderer_native_choose_gbm_format
  call (Jonas Ådahl)

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3139>
2023-11-23 20:11:31 +00:00
..
deprecated build: One config file to rule them all 2023-11-15 12:00:19 +00:00
driver build: One config file to rule them all 2023-11-15 12:00:19 +00:00
gl-prototypes cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
winsys onscreen/native: Add and use choose_onscreen_egl_config helper 2023-11-23 20:11:31 +00:00
cogl1-context.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-atlas-texture-private.h cogl: Port Texture* away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-atlas-texture.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-atlas-texture.h cogl: Port Texture* away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-atlas.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-atlas.h cogl: Port Atlas away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-attribute-buffer-private.h cogl: Port Buffer* away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-attribute-buffer.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-attribute-buffer.h cogl: Port Buffer* away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-attribute-private.h cogl: Port Attribute away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-attribute.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-attribute.h cogl: Port Attribute away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-bitmap-conversion.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-bitmap-packing.h cogl: Rename COGL_PIXEL_FORMAT_G_16 with COGL_PIXEL_FORMAT_R_16 2023-11-04 00:11:52 +00:00
cogl-bitmap-private.h cogl: Port Bitmap away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-bitmap.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-bitmap.h cogl: Port Bitmap away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-bitmask.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-bitmask.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-blend-string.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-blend-string.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
cogl-blit.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-blit.h cogl: Port Primitive away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-boxed-value.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-boxed-value.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-buffer-private.h cogl/cleanup: Use construct-only properties for CoglBuffer 2023-10-29 21:16:24 +00:00
cogl-buffer.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-buffer.h cogl: Port Buffer* away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-clip-stack.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-clip-stack.h Port to MtkRegion 2023-11-03 11:27:52 +00:00
cogl-closure-list-private.h cogl: Port Primitive away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-closure-list.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-color-private.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-color.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-color.h cogl: Port Color to GBoxed 2023-10-29 21:16:24 +00:00
cogl-context-private.h cogl: Port Texture* away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-context.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-context.h build: One config file to rule them all 2023-11-15 12:00:19 +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 build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-debug.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-depth-state-private.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
cogl-depth-state.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-depth-state.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
cogl-display-private.h onscreen/native: Add and use choose_onscreen_egl_config helper 2023-11-23 20:11:31 +00:00
cogl-display.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-display.h cogl: Port Display away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-dma-buf-handle.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-dma-buf-handle.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-driver.h cogl/driver: Remove pixel_format_from_gl_internal 2023-10-27 16:13:37 +00:00
cogl-egl-private.h cogl: Don't use a separate file for egl defines 2023-11-17 11:24:23 +00:00
cogl-egl.h cogl: Don't use a separate file for egl defines 2023-11-17 11:24:23 +00:00
cogl-feature-private.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-feature-private.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-fence-private.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-fence.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-fence.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-flags.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-frame-info-private.h cogl: Port FrameInfo away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-frame-info.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-frame-info.h cogl: Port FrameInfo away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-framebuffer-driver.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-framebuffer-driver.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-framebuffer-private.h cogl: Port Primitive away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-framebuffer.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-framebuffer.h Port to MtkRegion 2023-11-03 11:27:52 +00:00
cogl-gl-header.h cogl: Stop auto generating gl/egl headers 2023-11-17 11:24:23 +00:00
cogl-glib-source.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-glib-source.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-glsl-shader-boilerplate.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
cogl-graphene.c cogl/graphene: Fix license header 2021-01-28 20:33:01 +00:00
cogl-graphene.h build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-i18n-private.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
cogl-index-buffer-private.h cogl: Port Buffer* away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-index-buffer.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-index-buffer.h cogl: Port Buffer* away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-indices-private.h cogl: Port Indices away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-indices.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-indices.h cogl: Port Indices away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-journal-private.h cogl: Port Journal away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-journal.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-list.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-list.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
cogl-macros.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
cogl-magazine-private.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-magazine.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-matrix-stack-private.h cogl: Port MatrixStack away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-matrix-stack.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-matrix-stack.h cogl: Port MatrixEntry from Cogl boxed type 2023-10-29 21:16:24 +00:00
cogl-memory-stack-private.h Remove unused _cogl_memory_stack_rewind 2023-10-26 09:49:29 +00:00
cogl-memory-stack.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-meta-texture.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-meta-texture.h cogl: Port Texture* away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-mutter.h build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-node-private.h cogl: Port Node/Pipeline/PipelineLayer away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-node.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-offscreen-private.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-offscreen.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-offscreen.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-onscreen-private.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-onscreen-template-private.h cogl: Port OnscreenTemplate away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-onscreen-template.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-onscreen-template.h cogl: Port OnscreenTemplate away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-onscreen.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-onscreen.h cogl: Port Primitive away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-output-private.h cogl: Port Output away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-output.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-output.h cogl: Port Output away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-pipeline-cache-private.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
cogl-pipeline-cache.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-pipeline-cache.h cogl: Reduce the usage of _COGL_GET_CONTEXT 2023-11-02 15:17:49 +00:00
cogl-pipeline-debug.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-pipeline-hash-table.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-pipeline-hash-table.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-pipeline-layer-private.h cogl: Reduce the usage of _COGL_GET_CONTEXT 2023-11-02 15:17:49 +00:00
cogl-pipeline-layer-state-private.h Remove unused _cogl_pipeline_get_layer_min/mag_filter 2023-10-26 09:49:29 +00:00
cogl-pipeline-layer-state.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-pipeline-layer-state.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-pipeline-layer.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-pipeline-private.h cogl: Remove duplicated build options check 2023-11-17 11:24:23 +00:00
cogl-pipeline-snippet-private.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-pipeline-snippet.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-pipeline-state-private.h cogl: Port Program away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-pipeline-state.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-pipeline-state.h cogl: Port Program away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-pipeline.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-pipeline.h cogl: Port Node/Pipeline/PipelineLayer away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-pixel-buffer-private.h cogl: Port Primitive away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-pixel-buffer.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-pixel-buffer.h cogl: Port Buffer* away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-pixel-format.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-pixel-format.h build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-point-in-poly-private.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
cogl-point-in-poly.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-poll-private.h cogl/cleanup: Replace CoglUserDataDestroyCallback with GDestroyNotify 2023-10-29 21:16:24 +00:00
cogl-poll.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-poll.h build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-primitive-private.h cogl: Port Primitive away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-primitive-texture.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-primitive-texture.h cogl: Port Texture* away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-primitive.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-primitive.h cogl: Port Primitive away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-primitives-private.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
cogl-primitives.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-private.h cogl: Port Primitive away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-profile.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-profile.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
cogl-rectangle-map.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-rectangle-map.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-renderer-private.h build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-renderer.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-renderer.h cogl: Port Renderer away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-sampler-cache-private.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-sampler-cache.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-scanout.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-scanout.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
cogl-snippet-private.h cogl: Port Snippet away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-snippet.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-snippet.h cogl: Port Snippet away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-spans.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-spans.h cogl: Port Primitive away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-sub-texture-private.h cogl: Port Texture* away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-sub-texture.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-sub-texture.h cogl: Port Texture* away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-swap-chain-private.h cogl: Port SwapChain away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-swap-chain.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-swap-chain.h cogl: Port SwapChain away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-texture-2d-private.h cogl: Port Texture* away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-texture-2d-sliced-private.h cogl: Port Texture* away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-texture-2d-sliced.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-texture-2d-sliced.h cogl: Port Texture* away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-texture-2d.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-texture-2d.h cogl: Don't use a separate file for egl defines 2023-11-17 11:24:23 +00:00
cogl-texture-driver.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
cogl-texture-private.h cogl: Don't use a separate file for egl defines 2023-11-17 11:24:23 +00:00
cogl-texture.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-texture.h build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-trace.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-trace.h cogl/trace: Remove unused cogl_is_tracing () declaration 2023-11-20 12:29:37 +00:00
cogl-types.h build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-util.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-util.h build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-x11-onscreen.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-x11-onscreen.h Update license access method 2023-08-30 08:48:23 +02:00
cogl-x11-renderer-private.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
cogl-xlib-renderer-private.h cogl: Port Primitive away from CoglObject 2023-10-29 21:16:24 +00:00
cogl-xlib-renderer.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl-xlib-renderer.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl-xlib.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
cogl.c build: One config file to rule them all 2023-11-15 12:00:19 +00:00
cogl.h build: One config file to rule them all 2023-11-15 12:00:19 +00:00
meson.build cogl: Don't use a separate file for egl defines 2023-11-17 11:24:23 +00:00