present: Queue flips for later execution
When a flip (or unflip) is pending and a flip request comes in, leave it queued until the pending flip completes and then execute it. This fixes a bug where an application submitting back-to-back present_pixmap requests for sequential frames would alternate between flipping and copying as the pending flip would cause the new present_pixmap request to not use a flip. Signed-off-by: Keith Packard <keithp@keithp.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Tested-by: Frank Binns <frank.binns@imgtec.com>
This commit is contained in:
@@ -71,6 +71,7 @@ struct present_vblank {
|
||||
int num_notifies;
|
||||
Bool queued; /* on present_exec_queue */
|
||||
Bool flip; /* planning on using flip */
|
||||
Bool flip_ready; /* wants to flip, but waiting for previous flip or unflip */
|
||||
Bool sync_flip; /* do flip synchronous to vblank */
|
||||
Bool abort_flip; /* aborting this flip */
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user