drm_hwcomposer: Initialize timeline_next to 1
Initialize timeline_next to 1, because point 0 will be the very first set operation. Since we increment every time set() is called, initializing to 0 would cause an off-by-one error where surfaceflinger would always composite on the front buffer. Change-Id: I1e67c36864716595eb489286a7db3f1dcb04f67e Signed-off-by: Sean Paul <seanpaul@chromium.org> Reviewed-on: https://chrome-internal-review.googlesource.com/200735 Tested-by: Alexandre Courbot <acourbot@nvidia.com> Reviewed-by: Alexandre Courbot <acourbot@nvidia.com> Reviewed-by: Allen Martin <amartin@nvidia.com> Reviewed-by: Sean Paul <seanpaul@google.com>
This commit is contained in:
parent
a99534ab0d
commit
e147a2a71f
1 changed files with 8 additions and 1 deletions
|
|
@ -1194,7 +1194,14 @@ static int hwc_initialize_display(struct hwc_context_t *ctx, int display,
|
|||
return ret;
|
||||
}
|
||||
hd->timeline_fd = ret;
|
||||
hd->timeline_next = 0;
|
||||
|
||||
/*
|
||||
* Initialize timeline_next to 1, because point 0 will be the very first
|
||||
* set operation. Since we increment every time set() is called,
|
||||
* initializing to 0 would cause an off-by-one error where
|
||||
* surfaceflinger would composite on the front buffer.
|
||||
*/
|
||||
hd->timeline_next = 1;
|
||||
|
||||
ret = hwc_set_initial_config(hd);
|
||||
if (ret) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue