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>
diff --git a/hwcomposer.cpp b/hwcomposer.cpp
index 1c2b8b2..3f20e53 100644
--- a/hwcomposer.cpp
+++ b/hwcomposer.cpp
@@ -1194,7 +1194,14 @@
 		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) {