summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMathias Palmqvist <mathias.palmqvist@arm.com>2014-01-17 13:19:11 +0100
committerGerrit Code Review <gerrit@mpd-gerrit.cambridge.arm.com>2014-01-29 14:29:42 +0000
commitfeaef1ff4bd3cef539dbcab6490bd353661d7b6f (patch)
tree44be9ac73819b0179463942c89b682da6cd04a3b
parent23e625364f6f80c215d47460112fa5799e30e8de (diff)
Only modify pending_flips for flips
The following commit is copied from chromeos xf86-video-armsoc https://chromium.googlesource.com/chromiumos/third_party/xf86-video-armsoc/+/c04f8b8%5E%21/ Change-Id: Iaa29210066c835ce30826a6ca34073aca72e0825
-rw-r--r--src/armsoc_dri2.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/armsoc_dri2.c b/src/armsoc_dri2.c
index 32572ee..a9700d7 100644
--- a/src/armsoc_dri2.c
+++ b/src/armsoc_dri2.c
@@ -573,7 +573,8 @@ ARMSOCDRI2SwapComplete(struct ARMSOCDRISwapCmd *cmd)
ARMSOCDRI2DestroyBuffer(pDraw, cmd->pDstBuffer);
armsoc_bo_unreference(old_src_bo);
armsoc_bo_unreference(old_dst_bo);
- pARMSOC->pending_flips--;
+ if (cmd->type == DRI2_FLIP_COMPLETE)
+ pARMSOC->pending_flips--;
free(cmd);
}
@@ -626,7 +627,6 @@ ARMSOCDRI2ScheduleSwap(ClientPtr client, DrawablePtr pDraw,
*/
ARMSOCDRI2ReferenceBuffer(pSrcBuffer);
ARMSOCDRI2ReferenceBuffer(pDstBuffer);
- pARMSOC->pending_flips++;
src_bo = boFromBuffer(pSrcBuffer);
dst_bo = boFromBuffer(pDstBuffer);
@@ -680,6 +680,7 @@ ARMSOCDRI2ScheduleSwap(ClientPtr client, DrawablePtr pDraw,
/* TODO: MIDEGL-1461: Handle rollback if multiple CRTC flip is
* only partially successful
*/
+ pARMSOC->pending_flips++;
ret = drmmode_page_flip(pDraw, src_fb_id, cmd);
/* If using page flip events, we'll trigger an immediate