mirror of
https://github.com/labwc/labwc.git
synced 2025-10-31 22:25:34 -04:00
backend/drm: Implement support for renderer loss recovery
This implementation is nearly identical to Sway's, except that
it also reloads the configuration, to spur on reloading the
server-side decorations.
v2: Fix style.
v3: Add a reset to the magnifier.
v4: Oops, restructure reset handler a bit.
v5: Commit the magnifier reset immediately, before freeing the
lost allocator and renderer.
v6: Also check for failed render pass, which may return NULL.
v7: Add a second NULL test, just in case.
This commit is contained in:
parent
e934c7a417
commit
3879f1f080
4 changed files with 76 additions and 4 deletions
|
|
@ -318,6 +318,8 @@ struct server {
|
|||
*/
|
||||
int pending_output_layout_change;
|
||||
|
||||
struct wl_listener renderer_lost;
|
||||
|
||||
struct wlr_gamma_control_manager_v1 *gamma_control_manager_v1;
|
||||
struct wl_listener gamma_control_set_gamma;
|
||||
|
||||
|
|
|
|||
|
|
@ -20,5 +20,6 @@ bool output_wants_magnification(struct output *output);
|
|||
void magnify(struct output *output, struct wlr_buffer *output_buffer,
|
||||
struct wlr_box *damage);
|
||||
bool is_magnify_on(void);
|
||||
void magnify_reset(void);
|
||||
|
||||
#endif /* LABWC_MAGNIFIER_H */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue