summaryrefslogtreecommitdiffstats
path: root/src/core/delegated_frame_node.h
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2017-11-14 15:41:05 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2017-11-26 08:59:24 +0000
commit75f794dfd1f60e4baefcaa53993cd817798a1b3f (patch)
tree311226648932d3f615150c01eedaaf234656be6b /src/core/delegated_frame_node.h
parentd10007a2b15de7a530511968b4563164cb9e581b (diff)
Reduce the amount of thread switches needed for fetching textures
Combine multiple texture fetches into a single sync call on another thread. Change-Id: Id372d5a11290105b36b34a4fc56bff9929304c20 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'src/core/delegated_frame_node.h')
-rw-r--r--src/core/delegated_frame_node.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/core/delegated_frame_node.h b/src/core/delegated_frame_node.h
index c627cdf95..4bddf4a62 100644
--- a/src/core/delegated_frame_node.h
+++ b/src/core/delegated_frame_node.h
@@ -123,7 +123,9 @@ private:
// Making those callbacks static bypasses base::Bind's ref-counting requirement
// of the this pointer when the callback is a method.
static void pullTexture(DelegatedFrameNode *frameNode, MailboxTexture *mailbox);
+ static void pullTextures(DelegatedFrameNode *frameNode, const QVector<MailboxTexture *> mailboxes);
static void fenceAndUnlockQt(DelegatedFrameNode *frameNode);
+ static void unlockQt(DelegatedFrameNode *frameNode);
ResourceHolder *findAndHoldResource(unsigned resourceId, QHash<unsigned, QSharedPointer<ResourceHolder> > &candidates);
void holdResources(const cc::DrawQuad *quad, QHash<unsigned, QSharedPointer<ResourceHolder> > &candidates);