aboutsummaryrefslogtreecommitdiff
path: root/include/wlr/render
diff options
context:
space:
mode:
authorSimon Ser <contact@emersion.fr>2021-11-27 18:33:04 +0100
committerSimon Zeni <simon@bl4ckb0ne.ca>2021-12-02 14:21:51 +0000
commit1bf9676e8781c281265267d71ad7c911516be023 (patch)
tree71fb4500270d7ad0d180fd59827f01aba7f86986 /include/wlr/render
parentde0bc7831954a5e4baa367b01bb02b755b53e5d0 (diff)
render/egl: improve modifier support detection
Support for EXT_image_dma_buf_import_modifiers doesn't necessarily indicate support for modifiers. For instance, Mesa will advertise EXT_image_dma_buf_import_modifiers for all drivers. This is a trick to allow EGL clients to enumerate supported formats (something EXT_image_dma_buf_import is missing). For more information, see [1]. Add a new wlr_egl.has_modifiers flag which indicates whether modifiers are supported. It's set to true if any eglQueryDmaBufModifiersEXT query returned a non-empty list. Use that flag to figure out whether the buffer modifier should be passed to the EGL implementation on import. [1]: https://github.com/KhronosGroup/EGL-Registry/issues/142
Diffstat (limited to 'include/wlr/render')
-rw-r--r--include/wlr/render/egl.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/wlr/render/egl.h b/include/wlr/render/egl.h
index 2af073ca..0d84958b 100644
--- a/include/wlr/render/egl.h
+++ b/include/wlr/render/egl.h
@@ -65,6 +65,7 @@ struct wlr_egl {
PFNEGLQUERYDEVICESEXTPROC eglQueryDevicesEXT;
} procs;
+ bool has_modifiers;
struct wlr_drm_format_set dmabuf_texture_formats;
struct wlr_drm_format_set dmabuf_render_formats;
};