• emersion's avatar
    output: refactor frame submission API · 23e37e7b
    emersion authored
    This is necessary for direct scan-out and other upcoming features. This patch
    changes the output API to look like the wl_surface API.
    
    Outputs now have some double-buffered state: the frame to be submitted
    (currently only wlr_renderer frames are supported) and the damaged region.
    To attach a pending frame, use wlr_output_attach_render. To set the pending
    damaged region, use wlr_output_set_damage.
    
    To submit the pending state, call wlr_output_commit. This will submit the
    pending frame to the backend.
    
    To migrate from the old API to the new one:
    
    - Replace wlr_output_make_current calls by wlr_output_attach_render
    - Replace wlr_output_swap_buffers calls by wlr_output_set_damage and
      wlr_output_commit
    23e37e7b