backend: reset EGL surface after buffer swap
This prevents GL commands to affect a previously current EGL surface after a buffer swap.
This commit is contained in:
parent
6977f3a843
commit
d3bd5f2a7b
|
@ -569,6 +569,8 @@ static bool drm_connector_commit(struct wlr_output *output) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wlr_egl_make_current(&drm->renderer.egl, EGL_NO_SURFACE, NULL);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -71,6 +71,9 @@ static bool output_test(struct wlr_output *wlr_output) {
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool output_commit(struct wlr_output *wlr_output) {
|
static bool output_commit(struct wlr_output *wlr_output) {
|
||||||
|
struct wlr_headless_output *output =
|
||||||
|
headless_output_from_output(wlr_output);
|
||||||
|
|
||||||
if (!output_test(wlr_output)) {
|
if (!output_test(wlr_output)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -89,6 +92,8 @@ static bool output_commit(struct wlr_output *wlr_output) {
|
||||||
wlr_output_send_present(wlr_output, NULL);
|
wlr_output_send_present(wlr_output, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wlr_egl_make_current(&output->backend->egl, EGL_NO_SURFACE, NULL);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -297,6 +297,8 @@ static bool output_commit(struct wlr_output *wlr_output) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wlr_egl_make_current(&output->backend->egl, EGL_NO_SURFACE, NULL);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -157,6 +157,8 @@ static bool output_commit(struct wlr_output *wlr_output) {
|
||||||
wlr_output_send_present(wlr_output, NULL);
|
wlr_output_send_present(wlr_output, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wlr_egl_make_current(&x11->egl, EGL_NO_SURFACE, NULL);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue