MultiThreaded rendering of different renderNodes
This is adding the renderer side infrastructure to allow rendering multiple render nodes with different threads. This is a pre-step for decoupling a non client decor resize reder from a content resize render. Multiple render nodes can be added to be drawn, and to prevent overdrawing, a content bounds area can be set Bug: 22527834 Change-Id: Ie7271e20895bf38957e5a84aeefc883e282039ad
This commit is contained in:
@@ -38,9 +38,11 @@ DrawFrameTask::DrawFrameTask()
|
||||
DrawFrameTask::~DrawFrameTask() {
|
||||
}
|
||||
|
||||
void DrawFrameTask::setContext(RenderThread* thread, CanvasContext* context) {
|
||||
void DrawFrameTask::setContext(RenderThread* thread, CanvasContext* context,
|
||||
RenderNode* targetNode) {
|
||||
mRenderThread = thread;
|
||||
mContext = context;
|
||||
mTargetNode = targetNode;
|
||||
}
|
||||
|
||||
void DrawFrameTask::pushLayerUpdate(DeferredLayerUpdater* layer) {
|
||||
@@ -118,7 +120,7 @@ bool DrawFrameTask::syncFrameState(TreeInfo& info) {
|
||||
mContext->processLayerUpdate(mLayers[i].get());
|
||||
}
|
||||
mLayers.clear();
|
||||
mContext->prepareTree(info, mFrameInfo, mSyncQueued);
|
||||
mContext->prepareTree(info, mFrameInfo, mSyncQueued, mTargetNode);
|
||||
|
||||
// This is after the prepareTree so that any pending operations
|
||||
// (RenderNode tree state, prefetched layers, etc...) will be flushed.
|
||||
|
||||
Reference in New Issue
Block a user