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

Side by Side Diff: cc/CCDirectRenderer.h

Issue 10917153: Update cc snapshot to r127918 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « cc/CCActiveGestureAnimation.cpp ('k') | cc/CCDirectRenderer.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CCDirectRenderer_h 5 #ifndef CCDirectRenderer_h
6 #define CCDirectRenderer_h 6 #define CCDirectRenderer_h
7 7
8 #include "CCRenderer.h" 8 #include "CCRenderer.h"
9 #include "CCResourceProvider.h" 9 #include "CCResourceProvider.h"
10 #include "CCScopedTexture.h" 10 #include "CCScopedTexture.h"
11 11
12 namespace WebCore { 12 namespace WebCore {
13 13
14 class CCResourceProvider; 14 class CCResourceProvider;
15 15
16 // This is the base class for code shared between the GL and software 16 // This is the base class for code shared between the GL and software
17 // renderer implementations. "Direct" refers to the fact that it does not 17 // renderer implementations. "Direct" refers to the fact that it does not
18 // delegate rendering to another compositor. 18 // delegate rendering to another compositor.
19 class CCDirectRenderer : public CCRenderer { 19 class CCDirectRenderer : public CCRenderer {
20 WTF_MAKE_NONCOPYABLE(CCDirectRenderer); 20 WTF_MAKE_NONCOPYABLE(CCDirectRenderer);
21 public: 21 public:
22 virtual ~CCDirectRenderer() { } 22 virtual ~CCDirectRenderer() { }
23 23
24 CCResourceProvider* resourceProvider() const { return m_resourceProvider; } 24 CCResourceProvider* resourceProvider() const { return m_resourceProvider; }
25 25
26 virtual void decideRenderPassAllocationsForFrame(const CCRenderPassList& ren derPassesInDrawOrder) OVERRIDE; 26 virtual void decideRenderPassAllocationsForFrame(const CCRenderPassList& ren derPassesInDrawOrder) OVERRIDE;
27 virtual bool haveCachedResourcesForRenderPassId(int id) const OVERRIDE; 27 virtual bool haveCachedResourcesForRenderPassId(CCRenderPass::Id) const OVER RIDE;
28 virtual void drawFrame(const CCRenderPassList& renderPassesInDrawOrder, cons t CCRenderPassIdHashMap& renderPassesById) OVERRIDE; 28 virtual void drawFrame(const CCRenderPassList& renderPassesInDrawOrder, cons t CCRenderPassIdHashMap& renderPassesById) OVERRIDE;
29 29
30 protected: 30 protected:
31 CCDirectRenderer(CCRendererClient* client, CCResourceProvider* resourceProvi der) 31 CCDirectRenderer(CCRendererClient* client, CCResourceProvider* resourceProvi der)
32 : CCRenderer(client) 32 : CCRenderer(client)
33 , m_resourceProvider(resourceProvider) 33 , m_resourceProvider(resourceProvider)
34 { 34 {
35 } 35 }
36 36
37 struct DrawingFrame { 37 struct DrawingFrame {
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 73
74 private: 74 private:
75 bool m_isComplete; 75 bool m_isComplete;
76 }; 76 };
77 77
78 static FloatRect quadVertexRect(); 78 static FloatRect quadVertexRect();
79 static void quadRectTransform(WebKit::WebTransformationMatrix* quadRectTrans form, const WebKit::WebTransformationMatrix& quadTransform, const FloatRect& qua dRect); 79 static void quadRectTransform(WebKit::WebTransformationMatrix* quadRectTrans form, const WebKit::WebTransformationMatrix& quadTransform, const FloatRect& qua dRect);
80 static void initializeMatrices(DrawingFrame&, const IntRect& drawRect, bool flipY); 80 static void initializeMatrices(DrawingFrame&, const IntRect& drawRect, bool flipY);
81 static IntRect moveScissorToWindowSpace(const DrawingFrame&, FloatRect sciss orRect); 81 static IntRect moveScissorToWindowSpace(const DrawingFrame&, FloatRect sciss orRect);
82 82
83 bool haveCachedResources(int renderPassId) const; 83 bool haveCachedResources(CCRenderPass::Id) const;
84 static IntSize renderPassTextureSize(const CCRenderPass*); 84 static IntSize renderPassTextureSize(const CCRenderPass*);
85 static GC3Denum renderPassTextureFormat(const CCRenderPass*); 85 static GC3Denum renderPassTextureFormat(const CCRenderPass*);
86 86
87 void drawRenderPass(DrawingFrame&, const CCRenderPass*); 87 void drawRenderPass(DrawingFrame&, const CCRenderPass*);
88 bool useRenderPass(DrawingFrame&, const CCRenderPass*); 88 bool useRenderPass(DrawingFrame&, const CCRenderPass*);
89 89
90 virtual void bindFramebufferToOutputSurface(DrawingFrame&) = 0; 90 virtual void bindFramebufferToOutputSurface(DrawingFrame&) = 0;
91 virtual bool bindFramebufferToTexture(DrawingFrame&, const CCScopedTexture*, const IntRect& framebufferRect) = 0; 91 virtual bool bindFramebufferToTexture(DrawingFrame&, const CCScopedTexture*, const IntRect& framebufferRect) = 0;
92 virtual void setDrawViewportSize(const IntSize&) = 0; 92 virtual void setDrawViewportSize(const IntSize&) = 0;
93 virtual void enableScissorTestRect(const IntRect& scissorRect) = 0; 93 virtual void enableScissorTestRect(const IntRect& scissorRect) = 0;
94 virtual void disableScissorTest() = 0; 94 virtual void disableScissorTest() = 0;
95 virtual void clearFramebuffer(DrawingFrame&) = 0; 95 virtual void clearFramebuffer(DrawingFrame&) = 0;
96 virtual void drawQuad(DrawingFrame&, const CCDrawQuad*) = 0; 96 virtual void drawQuad(DrawingFrame&, const CCDrawQuad*) = 0;
97 virtual void beginDrawingFrame(DrawingFrame&) = 0; 97 virtual void beginDrawingFrame(DrawingFrame&) = 0;
98 virtual void finishDrawingFrame(DrawingFrame&) = 0; 98 virtual void finishDrawingFrame(DrawingFrame&) = 0;
99 99
100 HashMap<int, OwnPtr<CachedTexture> > m_renderPassTextures; 100 HashMap<CCRenderPass::Id, OwnPtr<CachedTexture> > m_renderPassTextures;
101 CCResourceProvider* m_resourceProvider; 101 CCResourceProvider* m_resourceProvider;
102 }; 102 };
103 103
104 } 104 }
105 105
106 #endif // CCDirectRenderer_h 106 #endif // CCDirectRenderer_h
OLDNEW
« no previous file with comments | « cc/CCActiveGestureAnimation.cpp ('k') | cc/CCDirectRenderer.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698