Plymouth currently assumes that setting the scanout buffer will succeed.
if it fails because of a driver bug or transient failure it should try
again next frame.
This commit adds that error handling code.
return false;
if (head->scan_out_buffer_needs_reset) {
- ply_renderer_head_set_scan_out_buffer (backend, head,
- head->scan_out_buffer_id);
- head->scan_out_buffer_needs_reset = false;
+ did_reset = ply_renderer_head_set_scan_out_buffer (backend, head,
+ head->scan_out_buffer_id);
+ head->scan_out_buffer_needs_reset = !did_reset;
return true;
}