Fix egl workaround; Test with weston

This commit is contained in:
nyorain 2017-06-20 18:44:11 +02:00
parent 50ce35e9da
commit 500e9184f1
2 changed files with 7 additions and 7 deletions

View File

@ -68,7 +68,7 @@ static bool egl_exts() {
return true; return true;
} }
static bool egl_get_config(EGLDisplay disp, EGLConfig *out) { static bool egl_get_config(EGLDisplay disp, EGLConfig *out, EGLenum platform) {
EGLint count = 0, matched = 0, ret; EGLint count = 0, matched = 0, ret;
ret = eglGetConfigs(disp, NULL, 0, &count); ret = eglGetConfigs(disp, NULL, 0, &count);
@ -88,11 +88,10 @@ static bool egl_get_config(EGLDisplay disp, EGLConfig *out) {
for (int i = 0; i < matched; ++i) { for (int i = 0; i < matched; ++i) {
EGLint gbm_format; EGLint gbm_format;
// TODO, see below if(platform == EGL_PLATFORM_WAYLAND_EXT) {
// best would probably be to propagate parameter or config
// choose callback
*out = configs[i]; *out = configs[i];
return true; return true;
}
if (!eglGetConfigAttrib(disp, if (!eglGetConfigAttrib(disp,
configs[i], configs[i],
@ -136,7 +135,7 @@ bool wlr_egl_init(struct wlr_egl *egl, EGLenum platform, void *display) {
goto error; goto error;
} }
if (!egl_get_config(egl->display, &egl->config)) { if (!egl_get_config(egl->display, &egl->config, platform)) {
wlr_log(L_ERROR, "Failed to get EGL config"); wlr_log(L_ERROR, "Failed to get EGL config");
goto error; goto error;
} }

View File

@ -166,6 +166,7 @@ struct wlr_output *wlr_wl_output_create(struct wlr_backend_state* backend,
wl_shell_surface_set_class(ostate->shell_surface, "sway"); wl_shell_surface_set_class(ostate->shell_surface, "sway");
wl_shell_surface_set_title(ostate->shell_surface, "sway-wl"); wl_shell_surface_set_title(ostate->shell_surface, "sway-wl");
wl_shell_surface_add_listener(ostate->shell_surface, &shell_surface_listener, ostate); wl_shell_surface_add_listener(ostate->shell_surface, &shell_surface_listener, ostate);
wl_shell_surface_set_toplevel(ostate->shell_surface);
ostate->egl_window = wl_egl_window_create(ostate->surface, width, height); ostate->egl_window = wl_egl_window_create(ostate->surface, width, height);
ostate->egl_surface = wlr_egl_create_surface(&backend->egl, ostate->egl_window); ostate->egl_surface = wlr_egl_create_surface(&backend->egl, ostate->egl_window);