Rémi Bernon (@rbernon) commented about dlls/winewayland.drv/opengl.c:
+ /* It's fine to destroy the wayland surface, the client surface + * can safely outlive it. */ + wayland_surface_destroy(wayland_surface); + } + if (!gl->client) goto err; + + gl->wl_egl_window = wl_egl_window_create(gl->client->wl_surface, + client_width, client_height); + if (!gl->wl_egl_window) + { + ERR("Failed to create wl_egl_window\n"); + goto err; + } + + gl->surface = p_eglCreateWindowSurface(egl_display, egl_configs[format - 1], + (EGLNativeWindowType)gl->wl_egl_window, NULL); Do we even need to care about the actual surface pixel format? Same question for the contexts, can we leverage `EGL_KHR_no_config_context` to make things simpler?
This is an open question, I have no good understanding of what it actually implies but reading that extension description (and as far as I could see it seems to be available for Mesa and NVidia drivers), it looks like it could reduce the dependency on the host? -- https://gitlab.winehq.org/wine/wine/-/merge_requests/5177#note_62901