diff options
author | Giulio Camuffo <giulio.camuffo@jollamobile.com> | 2014-02-10 14:32:34 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-03-11 15:05:34 +0100 |
commit | eeb365a8f164a1402c19ca5a7e38e01f4e69cf7b (patch) | |
tree | f50857284b63cb6497e5ac73f66ee3c32aee9b57 /src/plugins/hardwareintegration/client | |
parent | 666f597ccd2ced23ecc71ba497981d1a88c34d77 (diff) |
Make sure the frame callbacks are sent at the right time
When there is a rendering thread, like with QtQuick compositors,
there is a race condition where the frame callbacks are sent before
the last buffer the client sent is released.
Assume the following scenario:
attach(B1)/frame(F1)/commit()...frame started...attach(B2)/frame(F2)/
commit()...frame finished.
On frame finished the callback just installed is emitted before the
buffer B2 is being used and B1 released. That forces the client to
allocate a third buffer to draw the next frame.
Now, do not send out the frame callbacks until a new frame started.
The successive draw will release B1, use the new B2 and than send out F2.
Change-Id: I5743c7baf9fdd3cde28c5f594ff646c06abb74b7
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
Diffstat (limited to 'src/plugins/hardwareintegration/client')
0 files changed, 0 insertions, 0 deletions