Changeset 116733 in webkit
- Timestamp:
- May 11, 2012 12:00:46 AM (12 years ago)
- Location:
- trunk/Source
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r116731 r116733 1 2012-05-11 Sheriff Bot <webkit.review.bot@gmail.com> 2 3 Unreviewed, rolling out r116731. 4 http://trac.webkit.org/changeset/116731 5 https://bugs.webkit.org/show_bug.cgi?id=86178 6 7 Build failure on Chromium-mac (Requested by tkent on #webkit). 8 9 * platform/graphics/chromium/LayerRendererChromium.cpp: 10 (WebCore::LayerRendererChromium::create): 11 (WebCore::LayerRendererChromium::LayerRendererChromium): 12 (WebCore::LayerRendererChromium::initializeSharedObjects): 13 * platform/graphics/chromium/LayerRendererChromium.h: 14 (LayerRendererChromium): 15 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: 16 (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer): 17 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: 18 (CCLayerTreeHostImpl): 19 * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp: 20 (UnthrottledTextureUploader): 21 (WebCore::UnthrottledTextureUploader::create): 22 (WebCore::UnthrottledTextureUploader::~UnthrottledTextureUploader): 23 (WebCore::UnthrottledTextureUploader::isBusy): 24 (WebCore::UnthrottledTextureUploader::beginUploads): 25 (WebCore::UnthrottledTextureUploader::endUploads): 26 (WebCore::UnthrottledTextureUploader::uploadTexture): 27 (WebCore::UnthrottledTextureUploader::UnthrottledTextureUploader): 28 (WebCore): 29 (WebCore::CCSingleThreadProxy::initializeLayerRenderer): 30 (WebCore::CCSingleThreadProxy::recreateContext): 31 * platform/graphics/chromium/cc/CCThreadProxy.cpp: 32 (WebCore): 33 (UnthrottledTextureUploader): 34 (WebCore::UnthrottledTextureUploader::create): 35 (WebCore::UnthrottledTextureUploader::~UnthrottledTextureUploader): 36 (WebCore::UnthrottledTextureUploader::isBusy): 37 (WebCore::UnthrottledTextureUploader::beginUploads): 38 (WebCore::UnthrottledTextureUploader::endUploads): 39 (WebCore::UnthrottledTextureUploader::uploadTexture): 40 (WebCore::UnthrottledTextureUploader::UnthrottledTextureUploader): 41 (WebCore::CCThreadProxy::initializeLayerRendererOnImplThread): 42 (WebCore::CCThreadProxy::recreateContextOnImplThread): 43 1 44 2012-05-10 David Reveman <reveman@chromium.org> 2 45 -
trunk/Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp
r116731 r116733 144 144 } 145 145 146 class UnthrottledTextureUploader : public TextureUploader {147 WTF_MAKE_NONCOPYABLE(UnthrottledTextureUploader);148 public:149 static PassOwnPtr<UnthrottledTextureUploader> create()150 {151 return adoptPtr(new UnthrottledTextureUploader());152 }153 virtual ~UnthrottledTextureUploader() { }154 155 virtual bool isBusy() { return false; }156 virtual void beginUploads() { }157 virtual void endUploads() { }158 virtual void uploadTexture(GraphicsContext3D* context, LayerTextureUpdater::Texture* texture, TextureAllocator* allocator, const IntRect sourceRect, const IntRect destRect) { texture->updateRect(context, allocator, sourceRect, destRect); }159 160 protected:161 UnthrottledTextureUploader() { }162 };163 164 146 } // anonymous namespace 165 147 … … 213 195 214 196 215 PassOwnPtr<LayerRendererChromium> LayerRendererChromium::create(LayerRendererChromiumClient* client, PassRefPtr<GraphicsContext3D> context, TextureUploaderOption textureUploaderSetting)216 { 217 OwnPtr<LayerRendererChromium> layerRenderer(adoptPtr(new LayerRendererChromium(client, context, textureUploaderSetting)));197 PassOwnPtr<LayerRendererChromium> LayerRendererChromium::create(LayerRendererChromiumClient* client, PassRefPtr<GraphicsContext3D> context, PassOwnPtr<TextureUploader> uploader) 198 { 199 OwnPtr<LayerRendererChromium> layerRenderer(adoptPtr(new LayerRendererChromium(client, context, uploader))); 218 200 if (!layerRenderer->initialize()) 219 201 return nullptr; … … 224 206 LayerRendererChromium::LayerRendererChromium(LayerRendererChromiumClient* client, 225 207 PassRefPtr<GraphicsContext3D> context, 226 TextureUploaderOption textureUploaderSetting)208 PassOwnPtr<TextureUploader> uploader) 227 209 : m_client(client) 228 210 , m_currentRenderSurface(0) 229 211 , m_currentManagedTexture(0) 230 212 , m_offscreenFramebufferId(0) 213 , m_textureUploader(uploader) 231 214 , m_context(context) 232 215 , m_defaultRenderSurface(0) … … 234 217 , m_isViewportChanged(false) 235 218 , m_isFramebufferDiscarded(false) 236 , m_textureUploaderSetting(m_textureUploaderSetting)237 219 { 238 220 } … … 1401 1383 m_capabilities.maxTextureSize); 1402 1384 m_textureCopier = AcceleratedTextureCopier::create(m_context.get()); 1403 if (m_textureUploaderSetting == ThrottledUploader)1404 m_textureUploader = ThrottledTextureUploader::create(m_context.get());1405 else1406 m_textureUploader = UnthrottledTextureUploader::create();1407 1385 m_contentsTextureAllocator = TrackingTextureAllocator::create(m_context.get()); 1408 1386 m_renderSurfaceTextureAllocator = TrackingTextureAllocator::create(m_context.get()); -
trunk/Source/WebCore/platform/graphics/chromium/LayerRendererChromium.h
r116731 r116733 75 75 }; 76 76 77 enum TextureUploaderOption { ThrottledUploader, UnthrottledUploader };78 79 77 // Class that handles drawing of composited render layers using GL. 80 78 class LayerRendererChromium { 81 79 WTF_MAKE_NONCOPYABLE(LayerRendererChromium); 82 80 public: 83 static PassOwnPtr<LayerRendererChromium> create(LayerRendererChromiumClient*, PassRefPtr<GraphicsContext3D>, TextureUploaderOption);81 static PassOwnPtr<LayerRendererChromium> create(LayerRendererChromiumClient*, PassRefPtr<GraphicsContext3D>, PassOwnPtr<TextureUploader>); 84 82 85 83 ~LayerRendererChromium(); … … 147 145 bool isFramebufferDiscarded() const { return m_isFramebufferDiscarded; } 148 146 149 LayerRendererChromium(LayerRendererChromiumClient*, PassRefPtr<GraphicsContext3D>, TextureUploaderOption);147 LayerRendererChromium(LayerRendererChromiumClient*, PassRefPtr<GraphicsContext3D>, PassOwnPtr<TextureUploader>); 150 148 bool initialize(); 151 149 … … 301 299 bool m_isViewportChanged; 302 300 bool m_isFramebufferDiscarded; 303 TextureUploaderOption m_textureUploaderSetting;304 301 }; 305 302 -
trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp
r116731 r116733 527 527 } 528 528 529 bool CCLayerTreeHostImpl::initializeLayerRenderer(PassRefPtr<GraphicsContext3D> context, TextureUploaderOption textureUploader)529 bool CCLayerTreeHostImpl::initializeLayerRenderer(PassRefPtr<GraphicsContext3D> context, PassOwnPtr<TextureUploader> uploader) 530 530 { 531 531 OwnPtr<LayerRendererChromium> layerRenderer; 532 layerRenderer = LayerRendererChromium::create(this, context, textureUploader);532 layerRenderer = LayerRendererChromium::create(this, context, uploader); 533 533 534 534 // Since we now have a new context/layerRenderer, we cannot continue to use the old -
trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.h
r116731 r116733 123 123 int frameNumber() const { return m_frameNumber; } 124 124 125 bool initializeLayerRenderer(PassRefPtr<GraphicsContext3D>, TextureUploaderOption);125 bool initializeLayerRenderer(PassRefPtr<GraphicsContext3D>, PassOwnPtr<TextureUploader>); 126 126 bool isContextLost(); 127 127 LayerRendererChromium* layerRenderer() { return m_layerRenderer.get(); } -
trunk/Source/WebCore/platform/graphics/chromium/cc/CCSingleThreadProxy.cpp
r116731 r116733 39 39 namespace WebCore { 40 40 41 class UnthrottledTextureUploader : public TextureUploader { 42 WTF_MAKE_NONCOPYABLE(UnthrottledTextureUploader); 43 public: 44 static PassOwnPtr<UnthrottledTextureUploader> create() 45 { 46 return adoptPtr(new UnthrottledTextureUploader()); 47 } 48 virtual ~UnthrottledTextureUploader() { } 49 50 virtual bool isBusy() { return false; } 51 virtual void beginUploads() { } 52 virtual void endUploads() { } 53 virtual void uploadTexture(GraphicsContext3D* context, LayerTextureUpdater::Texture* texture, TextureAllocator* allocator, const IntRect sourceRect, const IntRect destRect) { texture->updateRect(context, allocator, sourceRect, destRect); } 54 55 protected: 56 UnthrottledTextureUploader() { } 57 }; 58 41 59 PassOwnPtr<CCProxy> CCSingleThreadProxy::create(CCLayerTreeHost* layerTreeHost) 42 60 { … … 138 156 { 139 157 DebugScopedSetImplThread impl; 140 bool ok = m_layerTreeHostImpl->initializeLayerRenderer(m_contextBeforeInitialization.release(), Unthrottled Uploader);158 bool ok = m_layerTreeHostImpl->initializeLayerRenderer(m_contextBeforeInitialization.release(), UnthrottledTextureUploader::create()); 141 159 if (ok) { 142 160 m_layerRendererInitialized = true; … … 162 180 DebugScopedSetImplThread impl; 163 181 m_layerTreeHost->deleteContentsTexturesOnImplThread(m_layerTreeHostImpl->contentsTextureAllocator()); 164 initialized = m_layerTreeHostImpl->initializeLayerRenderer(context, Unthrottled Uploader);182 initialized = m_layerTreeHostImpl->initializeLayerRenderer(context, UnthrottledTextureUploader::create()); 165 183 if (initialized) { 166 184 m_layerRendererCapabilitiesForMainThread = m_layerTreeHostImpl->layerRendererCapabilities(); -
trunk/Source/WebCore/platform/graphics/chromium/cc/CCThreadProxy.cpp
r116731 r116733 58 58 namespace WebCore { 59 59 60 namespace { 61 62 // FIXME: Use ThrottledUploader by default. 63 static TextureUploaderOption textureUploader = UnthrottledUploader; 64 65 } // anonymous namespace 60 // FIXME: remove when ThrottledTextureUploader is ready to be used. 61 class UnthrottledTextureUploader : public TextureUploader { 62 WTF_MAKE_NONCOPYABLE(UnthrottledTextureUploader); 63 public: 64 static PassOwnPtr<UnthrottledTextureUploader> create(PassRefPtr<GraphicsContext3D> context) 65 { 66 return adoptPtr(new UnthrottledTextureUploader(context)); 67 } 68 virtual ~UnthrottledTextureUploader() { } 69 70 virtual bool isBusy() { return false; } 71 virtual void beginUploads() { } 72 virtual void endUploads() { } 73 virtual void uploadTexture(GraphicsContext3D* context, LayerTextureUpdater::Texture* texture, TextureAllocator* allocator, const IntRect sourceRect, const IntRect destRect) { texture->updateRect(context, allocator, sourceRect, destRect); } 74 75 protected: 76 explicit UnthrottledTextureUploader(PassRefPtr<GraphicsContext3D>) { } 77 }; 66 78 67 79 PassOwnPtr<CCProxy> CCThreadProxy::create(CCLayerTreeHost* layerTreeHost) … … 823 835 ASSERT(isImplThread()); 824 836 ASSERT(m_contextBeforeInitializationOnImplThread); 825 *initializeSucceeded = m_layerTreeHostImpl->initializeLayerRenderer(m_contextBeforeInitializationOnImplThread.release(), textureUploader); 837 OwnPtr<TextureUploader> uploader = UnthrottledTextureUploader::create(m_contextBeforeInitializationOnImplThread.get()); 838 *initializeSucceeded = m_layerTreeHostImpl->initializeLayerRenderer(m_contextBeforeInitializationOnImplThread.release(), uploader.release()); 826 839 if (*initializeSucceeded) { 827 840 *capabilities = m_layerTreeHostImpl->layerRendererCapabilities(); … … 873 886 ASSERT(isImplThread()); 874 887 m_layerTreeHost->deleteContentsTexturesOnImplThread(m_layerTreeHostImpl->contentsTextureAllocator()); 875 *recreateSucceeded = m_layerTreeHostImpl->initializeLayerRenderer(adoptRef(contextPtr), textureUploader); 888 OwnPtr<TextureUploader> uploader = UnthrottledTextureUploader::create(contextPtr); 889 *recreateSucceeded = m_layerTreeHostImpl->initializeLayerRenderer(adoptRef(contextPtr), uploader.release()); 876 890 if (*recreateSucceeded) { 877 891 *capabilities = m_layerTreeHostImpl->layerRendererCapabilities(); -
trunk/Source/WebKit/chromium/ChangeLog
r116731 r116733 1 2012-05-11 Sheriff Bot <webkit.review.bot@gmail.com> 2 3 Unreviewed, rolling out r116731. 4 http://trac.webkit.org/changeset/116731 5 https://bugs.webkit.org/show_bug.cgi?id=86178 6 7 Build failure on Chromium-mac (Requested by tkent on #webkit). 8 9 * tests/CCLayerTreeHostImplTest.cpp: 10 (WebKitTests::CCLayerTreeHostImplTest::CCLayerTreeHostImplTest): 11 (WebKitTests::TEST_F): 12 * tests/LayerRendererChromiumTest.cpp: 13 (FakeLayerRendererChromium::FakeLayerRendererChromium): 14 (LayerRendererChromiumTest::LayerRendererChromiumTest): 15 (TEST): 16 1 17 2012-05-10 David Reveman <reveman@chromium.org> 2 18 -
trunk/Source/WebKit/chromium/tests/CCLayerTreeHostImplTest.cpp
r116731 r116733 29 29 #include "CCAnimationTestCommon.h" 30 30 #include "CCLayerTestCommon.h" 31 #include "CCTiledLayerTestCommon.h" 31 32 #include "FakeWebGraphicsContext3D.h" 32 33 #include "GraphicsContext3DPrivate.h" … … 60 61 CCSettings settings; 61 62 m_hostImpl = CCLayerTreeHostImpl::create(settings, this); 62 m_hostImpl->initializeLayerRenderer(createContext(), UnthrottledUploader);63 m_hostImpl->initializeLayerRenderer(createContext(), adoptPtr(new FakeTextureUploader)); 63 64 m_hostImpl->setViewportSize(IntSize(10, 10)); 64 65 } … … 876 877 TEST_F(CCLayerTreeHostImplTest, viewportCovered) 877 878 { 878 m_hostImpl->initializeLayerRenderer(createContext(), UnthrottledUploader);879 m_hostImpl->initializeLayerRenderer(createContext(), adoptPtr(new FakeTextureUploader)); 879 880 m_hostImpl->setBackgroundColor(Color::gray); 880 881 … … 987 988 ReshapeTrackerContext* reshapeTracker = new ReshapeTrackerContext(); 988 989 RefPtr<GraphicsContext3D> context = GraphicsContext3DPrivate::createGraphicsContextFromWebContext(adoptPtr(reshapeTracker), GraphicsContext3D::RenderDirectlyToHostWindow); 989 m_hostImpl->initializeLayerRenderer(context, UnthrottledUploader);990 m_hostImpl->initializeLayerRenderer(context, adoptPtr(new FakeTextureUploader)); 990 991 991 992 CCLayerImpl* root = new FakeDrawableCCLayerImpl(1); … … 1036 1037 settings.partialSwapEnabled = true; 1037 1038 OwnPtr<CCLayerTreeHostImpl> layerTreeHostImpl = CCLayerTreeHostImpl::create(settings, this); 1038 layerTreeHostImpl->initializeLayerRenderer(context, UnthrottledUploader);1039 layerTreeHostImpl->initializeLayerRenderer(context, adoptPtr(new FakeTextureUploader())); 1039 1040 layerTreeHostImpl->setViewportSize(IntSize(500, 500)); 1040 1041 … … 1135 1136 EXPECT_FALSE(layer2->didLoseContextCalled()); 1136 1137 1137 m_hostImpl->initializeLayerRenderer(createContext(), UnthrottledUploader);1138 m_hostImpl->initializeLayerRenderer(createContext(), adoptPtr(new FakeTextureUploader)); 1138 1139 1139 1140 EXPECT_TRUE(root->didLoseContextCalled()); … … 1150 1151 { 1151 1152 // The context initialization will fail, but we should still be able to call finishAllRendering() without any ill effects. 1152 m_hostImpl->initializeLayerRenderer(GraphicsContext3DPrivate::createGraphicsContextFromWebContext(adoptPtr(new FakeWebGraphicsContext3DMakeCurrentFails), GraphicsContext3D::RenderDirectlyToHostWindow), UnthrottledUploader);1153 m_hostImpl->initializeLayerRenderer(GraphicsContext3DPrivate::createGraphicsContextFromWebContext(adoptPtr(new FakeWebGraphicsContext3DMakeCurrentFails), GraphicsContext3D::RenderDirectlyToHostWindow), adoptPtr(new FakeTextureUploader)); 1153 1154 m_hostImpl->finishAllRendering(); 1154 1155 } … … 1180 1181 EXPECT_GT(renderPass->quadList().size(), 0u); 1181 1182 m_hostImpl->didDrawAllLayers(frame); 1182 m_hostImpl->initializeLayerRenderer(createContext(), UnthrottledUploader);1183 m_hostImpl->initializeLayerRenderer(createContext(), adoptPtr(new FakeTextureUploader)); 1183 1184 } 1184 1185 } … … 1355 1356 // Lose the context, replacing it with a StrictWebGraphicsContext3D, that 1356 1357 // will warn if any resource from the previous context gets used. 1357 m_hostImpl->initializeLayerRenderer(StrictWebGraphicsContext3D::createGraphicsContext(), UnthrottledUploader);1358 m_hostImpl->initializeLayerRenderer(StrictWebGraphicsContext3D::createGraphicsContext(), adoptPtr(new FakeTextureUploader)); 1358 1359 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame)); 1359 1360 m_hostImpl->drawLayers(frame); -
trunk/Source/WebKit/chromium/tests/LayerRendererChromiumTest.cpp
r116731 r116733 26 26 #include "LayerRendererChromium.h" 27 27 28 #include "CCTiledLayerTestCommon.h" 28 29 #include "FakeWebGraphicsContext3D.h" 29 30 #include "GraphicsContext3D.h" … … 36 37 using namespace WebCore; 37 38 using namespace WebKit; 39 using namespace WebKitTests; 38 40 39 41 class FrameCountingMemoryAllocationSettingContext : public FakeWebGraphicsContext3D { … … 92 94 class FakeLayerRendererChromium : public LayerRendererChromium { 93 95 public: 94 FakeLayerRendererChromium(LayerRendererChromiumClient* client, PassRefPtr<GraphicsContext3D> context ) : LayerRendererChromium(client, context, UnthrottledUploader) { }96 FakeLayerRendererChromium(LayerRendererChromiumClient* client, PassRefPtr<GraphicsContext3D> context, PassOwnPtr<TextureUploader> uploader) : LayerRendererChromium(client, context, uploader) { } 95 97 96 98 // LayerRendererChromium methods. … … 108 110 , m_context(GraphicsContext3DPrivate::createGraphicsContextFromWebContext(adoptPtr(new FrameCountingMemoryAllocationSettingContext()), GraphicsContext3D::RenderDirectlyToHostWindow)) 109 111 , m_mockContext(*static_cast<FrameCountingMemoryAllocationSettingContext*>(GraphicsContext3DPrivate::extractWebGraphicsContext3D(m_context.get()))) 110 , m_layerRendererChromium(&m_mockClient, m_context.release() )112 , m_layerRendererChromium(&m_mockClient, m_context.release(), adoptPtr(new FakeTextureUploader())) 111 113 { 112 114 } … … 272 274 { 273 275 FakeLayerRendererChromiumClient mockClient; 274 FakeLayerRendererChromium layerRendererChromium(&mockClient, GraphicsContext3DPrivate::createGraphicsContextFromWebContext(adoptPtr(new ForbidSynchronousCallContext), GraphicsContext3D::RenderDirectlyToHostWindow) );276 FakeLayerRendererChromium layerRendererChromium(&mockClient, GraphicsContext3DPrivate::createGraphicsContextFromWebContext(adoptPtr(new ForbidSynchronousCallContext), GraphicsContext3D::RenderDirectlyToHostWindow), adoptPtr(new FakeTextureUploader())); 275 277 276 278 EXPECT_TRUE(layerRendererChromium.initialize());
Note: See TracChangeset
for help on using the changeset viewer.