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). |