Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(711)

Unified Diff: cc/CCLayerTreeHostImpl.cpp

Issue 10915298: Add CCDelegatingRenderer, and corresponding IPCs (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: correct base Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: cc/CCLayerTreeHostImpl.cpp
diff --git a/cc/CCLayerTreeHostImpl.cpp b/cc/CCLayerTreeHostImpl.cpp
index 0c414cff25fde7bdcfee10135c677ff623e3ba14..35478ccc2d232e8b863d6ab88cdec8432dfea607 100644
--- a/cc/CCLayerTreeHostImpl.cpp
+++ b/cc/CCLayerTreeHostImpl.cpp
@@ -10,6 +10,7 @@
#include "CCDamageTracker.h"
#include "CCDebugRectHistory.h"
#include "CCDelayBasedTimeSource.h"
+#include "CCDelegatingRenderer.h"
#include "CCFontAtlas.h"
#include "CCFrameRateCounter.h"
#include "CCHeadsUpDisplayLayerImpl.h"
@@ -521,6 +522,12 @@ void CCLayerTreeHostImpl::onVSyncParametersChanged(double monotonicTimebase, dou
m_client->onVSyncParametersChanged(monotonicTimebase, intervalInSeconds);
}
+void CCLayerTreeHostImpl::onSendFrameToParentCompositorAck(const WebKit::WebCompositorFrameAck& ack)
+{
+ if (m_renderer)
+ m_renderer->onSendFrameToParentCompositorAck(ack);
+}
+
void CCLayerTreeHostImpl::drawLayers(const FrameData& frame)
{
TRACE_EVENT0("cc", "CCLayerTreeHostImpl::drawLayers");
@@ -688,9 +695,13 @@ bool CCLayerTreeHostImpl::initializeRenderer(PassOwnPtr<CCGraphicsContext> conte
OwnPtr<CCGraphicsContext> contextRef(context);
OwnPtr<CCResourceProvider> resourceProvider = CCResourceProvider::create(contextRef.get(), textureUploader);
- OwnPtr<CCRendererGL> renderer;
- if (resourceProvider.get())
- renderer = CCRendererGL::create(this, resourceProvider.get());
+ OwnPtr<CCRenderer> renderer;
+ if (resourceProvider.get()) {
+ if (contextRef->capabilities().hasParentCompositor)
+ renderer = CCDelegatingRenderer::create(this, resourceProvider.get());
+ else
+ renderer = CCRendererGL::create(this, resourceProvider.get());
danakj 2012/09/21 20:51:41 We've become inconsistent in our naming of rendere
+ }
// Since we now have a new context/renderer, we cannot continue to use the old
// resources (i.e. renderSurfaces and texture IDs).

Powered by Google App Engine
This is Rietveld 408576698