aboutsummaryrefslogtreecommitdiff
path: root/render/egl.c
diff options
context:
space:
mode:
Diffstat (limited to 'render/egl.c')
-rw-r--r--render/egl.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/render/egl.c b/render/egl.c
index 2ba57a92..e3839c7d 100644
--- a/render/egl.c
+++ b/render/egl.c
@@ -107,6 +107,11 @@ static void log_modifier(uint64_t modifier, bool external_only) {
}
static void init_dmabuf_formats(struct wlr_egl *egl) {
+ bool no_modifiers = env_parse_bool("WLR_EGL_NO_MODIFIERS");
+ if (no_modifiers) {
+ wlr_log(WLR_INFO, "WLR_EGL_NO_MODIFIERS set, disabling modifiers for EGL");
+ }
+
int *formats;
int formats_len = get_egl_dmabuf_formats(egl, &formats);
if (formats_len < 0) {
@@ -121,8 +126,10 @@ static void init_dmabuf_formats(struct wlr_egl *egl) {
uint64_t *modifiers;
EGLBoolean *external_only;
- int modifiers_len =
- get_egl_dmabuf_modifiers(egl, fmt, &modifiers, &external_only);
+ int modifiers_len = 0;
+ if (!no_modifiers) {
+ modifiers_len = get_egl_dmabuf_modifiers(egl, fmt, &modifiers, &external_only);
+ }
if (modifiers_len < 0) {
continue;
}
@@ -174,8 +181,10 @@ static void init_dmabuf_formats(struct wlr_egl *egl) {
free(formats);
egl->has_modifiers = has_modifiers;
- wlr_log(WLR_DEBUG, "EGL DMA-BUF format modifiers %s",
- has_modifiers ? "supported" : "unsupported");
+ if (!no_modifiers) {
+ wlr_log(WLR_DEBUG, "EGL DMA-BUF format modifiers %s",
+ has_modifiers ? "supported" : "unsupported");
+ }
}
static struct wlr_egl *egl_create(void) {