Mir

Merge lp:~albaguirre/mir/fix-not-compositing-client-last-posted-buffer-trunk into lp:mir/0.1

Proposed by Alberto Aguirre on 2014-03-18
Status: Merged
Merged at revision: 1181
Proposed branch: lp:~albaguirre/mir/fix-not-compositing-client-last-posted-buffer-trunk
Merge into: lp:mir/0.1
Diff against target: 13 lines (+1/-1)
1 file modified
src/server/compositor/rendering_operator.cpp (+1/-1)
To merge this branch: bzr merge lp:~albaguirre/mir/fix-not-compositing-client-last-posted-buffer-trunk
Reviewer Review Type Date Requested Status
PS Jenkins bot (community) continuous-integration Approve on 2014-03-18
kevin gunn (community) 2014-03-18 Approve on 2014-03-18
Review via email: mp+211601@code.launchpad.net

Commit message

Fix not compositing the client's last posted buffer (LP: #1294048, LP: #1294051, LP: #1294053, LP: #1290306, LP: #1293896)

In single-display cases the number of ready buffers decreases after a buffer is acquired by the rendering operator.
Determine if there will be uncomposited buffers before acquiring a buffer so it works for single and multi display use cases.

Description of the change

Fix not compositing the client's last posted buffer (LP: #1294048, LP: #1294051, LP: #1294053, LP: #1290306, LP: #1293896)

In single-display cases the number of ready buffers decreases after a buffer is acquired by the rendering operator.
Determine if there will be uncomposited buffers before acquiring a buffer so it works for single and multi display use cases.

To post a comment you must log in.
kevin gunn (kgunn72) wrote :

Did you test your feature/code change/bug fix ? what device(s) ?
yes - nexus4

Did you break mir server API or ABI and have the relevant bumps to .so and debian docs been made ?
No breaks

Did you break mir client API or ABI and have you followed up with the known clients & announced on mir-devel mailing list ?
no breaks

kevin gunn (kgunn72) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/server/compositor/rendering_operator.cpp'
2--- src/server/compositor/rendering_operator.cpp 2014-03-17 07:35:22 +0000
3+++ src/server/compositor/rendering_operator.cpp 2014-03-18 18:29:36 +0000
4@@ -36,8 +36,8 @@
5
6 void mc::RenderingOperator::operator()(graphics::Renderable const& renderable)
7 {
8+ uncomposited_buffers |= renderable.buffers_ready_for_compositor() > 1;
9 auto compositor_buffer = renderable.buffer(frameno);
10 renderer.render(renderable, *compositor_buffer);
11 save_resource(compositor_buffer);
12- uncomposited_buffers |= renderable.buffers_ready_for_compositor() > 1;
13 }

Subscribers

People subscribed via source and target branches