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

Side by Side Diff: cc/gl_renderer.h

Issue 12545018: Move context-related callbacks into OutputSurface (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: works Created 7 years, 9 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
OLDNEW
1 // Copyright 2010 The Chromium Authors. All rights reserved. 1 // Copyright 2010 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 CC_GL_RENDERER_H_ 5 #ifndef CC_GL_RENDERER_H_
6 #define CC_GL_RENDERER_H_ 6 #define CC_GL_RENDERER_H_
7 7
8 #include "cc/cc_export.h" 8 #include "cc/cc_export.h"
9 #include "cc/checkerboard_draw_quad.h" 9 #include "cc/checkerboard_draw_quad.h"
10 #include "cc/debug_border_draw_quad.h" 10 #include "cc/debug_border_draw_quad.h"
(...skipping 16 matching lines...) Expand all
27 class StreamVideoDrawQuad; 27 class StreamVideoDrawQuad;
28 class TextureDrawQuad; 28 class TextureDrawQuad;
29 class GeometryBinding; 29 class GeometryBinding;
30 class ScopedEnsureFramebufferAllocation; 30 class ScopedEnsureFramebufferAllocation;
31 31
32 // Class that handles drawing of composited render layers using GL. 32 // Class that handles drawing of composited render layers using GL.
33 class CC_EXPORT GLRenderer : 33 class CC_EXPORT GLRenderer :
34 public DirectRenderer, 34 public DirectRenderer,
35 public NON_EXPORTED_BASE( 35 public NON_EXPORTED_BASE(
36 WebKit::WebGraphicsContext3D:: 36 WebKit::WebGraphicsContext3D::
37 WebGraphicsSwapBuffersCompleteCallbackCHROMIUM), 37 WebGraphicsMemoryAllocationChangedCallbackCHROMIUM) {
38 public NON_EXPORTED_BASE(
39 WebKit::WebGraphicsContext3D::
40 WebGraphicsMemoryAllocationChangedCallbackCHROMIUM),
41 public NON_EXPORTED_BASE(
42 WebKit::WebGraphicsContext3D::WebGraphicsContextLostCallback) {
43 public: 38 public:
44 static scoped_ptr<GLRenderer> Create(RendererClient* client, 39 static scoped_ptr<GLRenderer> Create(RendererClient* client,
45 OutputSurface* output_surface, 40 OutputSurface* output_surface,
46 ResourceProvider* resource_provider); 41 ResourceProvider* resource_provider);
47 42
48 virtual ~GLRenderer(); 43 virtual ~GLRenderer();
49 44
50 virtual const RendererCapabilities& Capabilities() const OVERRIDE; 45 virtual const RendererCapabilities& Capabilities() const OVERRIDE;
51 46
52 WebKit::WebGraphicsContext3D* Context(); 47 WebKit::WebGraphicsContext3D* Context();
53 48
54 virtual void ViewportChanged() OVERRIDE; 49 virtual void ViewportChanged() OVERRIDE;
55 50
56 virtual void ReceiveCompositorFrameAck(const CompositorFrameAck& ack)
57 OVERRIDE;
58
59 // Waits for rendering to finish. 51 // Waits for rendering to finish.
60 virtual void Finish() OVERRIDE; 52 virtual void Finish() OVERRIDE;
61 53
62 virtual void DoNoOp() OVERRIDE; 54 virtual void DoNoOp() OVERRIDE;
63 // Puts backbuffer onscreen. 55 // Puts backbuffer onscreen.
64 virtual bool SwapBuffers() OVERRIDE; 56 virtual bool SwapBuffers() OVERRIDE;
65 57
66 virtual void GetFramebufferPixels(void* pixels, gfx::Rect rect) OVERRIDE; 58 virtual void GetFramebufferPixels(void* pixels, gfx::Rect rect) OVERRIDE;
67 59
68 virtual bool IsContextLost() OVERRIDE; 60 virtual bool IsContextLost() OVERRIDE;
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
155 bool UseScopedTexture(DrawingFrame& frame, 147 bool UseScopedTexture(DrawingFrame& frame,
156 const ScopedResource* resource, 148 const ScopedResource* resource,
157 gfx::Rect viewport_rect); 149 gfx::Rect viewport_rect);
158 150
159 bool MakeContextCurrent(); 151 bool MakeContextCurrent();
160 152
161 bool InitializeSharedObjects(); 153 bool InitializeSharedObjects();
162 void CleanupSharedObjects(); 154 void CleanupSharedObjects();
163 155
164 // WebKit:: 156 // WebKit::
165 // WebGraphicsContext3D::WebGraphicsSwapBuffersCompleteCallbackCHROMIUM
166 // implementation.
167 virtual void onSwapBuffersComplete() OVERRIDE;
168
169 // WebKit::
170 // WebGraphicsContext3D::WebGraphicsMemoryAllocationChangedCallbackCHROMIUM 157 // WebGraphicsContext3D::WebGraphicsMemoryAllocationChangedCallbackCHROMIUM
171 // implementation. 158 // implementation.
172 virtual void onMemoryAllocationChanged( 159 virtual void onMemoryAllocationChanged(
173 WebKit::WebGraphicsMemoryAllocation allocation) OVERRIDE; 160 WebKit::WebGraphicsMemoryAllocation allocation) OVERRIDE;
174 void DiscardBackbuffer(); 161 void DiscardBackbuffer();
175 void EnsureBackbuffer(); 162 void EnsureBackbuffer();
176 void EnforceMemoryPolicy(); 163 void EnforceMemoryPolicy();
177 164
178 // WebGraphicsContext3D::WebGraphicsContextLostCallback implementation.
179 virtual void onContextLost() OVERRIDE;
180
181 RendererCapabilities capabilities_; 165 RendererCapabilities capabilities_;
182 166
183 unsigned offscreen_framebuffer_id_; 167 unsigned offscreen_framebuffer_id_;
184 168
185 scoped_ptr<GeometryBinding> shared_geometry_; 169 scoped_ptr<GeometryBinding> shared_geometry_;
186 gfx::QuadF shared_geometry_quad_; 170 gfx::QuadF shared_geometry_quad_;
187 171
188 // This block of bindings defines all of the programs used by the compositor 172 // This block of bindings defines all of the programs used by the compositor
189 // itself. 173 // itself.
190 174
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
309 #if DEBUG_GL_CALLS && !defined(NDEBUG) 293 #if DEBUG_GL_CALLS && !defined(NDEBUG)
310 #define GLC(context, x) \ 294 #define GLC(context, x) \
311 (x, GLRenderer::DebugGLCall (&* context, #x, __FILE__, __LINE__)) 295 (x, GLRenderer::DebugGLCall (&* context, #x, __FILE__, __LINE__))
312 #else 296 #else
313 #define GLC(context, x) (x) 297 #define GLC(context, x) (x)
314 #endif 298 #endif
315 299
316 } 300 }
317 301
318 #endif // CC_GL_RENDERER_H_ 302 #endif // CC_GL_RENDERER_H_
OLDNEW
« no previous file with comments | « cc/delegating_renderer.cc ('k') | cc/gl_renderer.cc » ('j') | cc/layer_tree_host_impl.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698