| OLD | NEW |
| 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_OUTPUT_GL_RENDERER_H_ | 5 #ifndef CC_OUTPUT_GL_RENDERER_H_ |
| 6 #define CC_OUTPUT_GL_RENDERER_H_ | 6 #define CC_OUTPUT_GL_RENDERER_H_ |
| 7 | 7 |
| 8 #include "cc/base/cc_export.h" | 8 #include "cc/base/cc_export.h" |
| 9 #include "cc/output/direct_renderer.h" | 9 #include "cc/output/direct_renderer.h" |
| 10 #include "cc/output/gl_renderer_draw_cache.h" | 10 #include "cc/output/gl_renderer_draw_cache.h" |
| (...skipping 14 matching lines...) Expand all Loading... |
| 25 class GLRendererShaderTest; | 25 class GLRendererShaderTest; |
| 26 class OutputSurface; | 26 class OutputSurface; |
| 27 class PictureDrawQuad; | 27 class PictureDrawQuad; |
| 28 class ScopedResource; | 28 class ScopedResource; |
| 29 class StreamVideoDrawQuad; | 29 class StreamVideoDrawQuad; |
| 30 class TextureDrawQuad; | 30 class TextureDrawQuad; |
| 31 class GeometryBinding; | 31 class GeometryBinding; |
| 32 class ScopedEnsureFramebufferAllocation; | 32 class ScopedEnsureFramebufferAllocation; |
| 33 | 33 |
| 34 // Class that handles drawing of composited render layers using GL. | 34 // Class that handles drawing of composited render layers using GL. |
| 35 class CC_EXPORT GLRenderer | 35 class CC_EXPORT GLRenderer : |
| 36 : public DirectRenderer, | 36 public DirectRenderer, |
| 37 public NON_EXPORTED_BASE( | 37 public NON_EXPORTED_BASE( |
| 38 WebKit::WebGraphicsContext3D:: | 38 WebKit::WebGraphicsContext3D:: |
| 39 WebGraphicsSwapBuffersCompleteCallbackCHROMIUM), | 39 WebGraphicsMemoryAllocationChangedCallbackCHROMIUM) { |
| 40 public NON_EXPORTED_BASE( | |
| 41 WebKit::WebGraphicsContext3D:: | |
| 42 WebGraphicsMemoryAllocationChangedCallbackCHROMIUM), | |
| 43 public NON_EXPORTED_BASE( | |
| 44 WebKit::WebGraphicsContext3D::WebGraphicsContextLostCallback) { | |
| 45 public: | 40 public: |
| 46 static scoped_ptr<GLRenderer> Create(RendererClient* client, | 41 static scoped_ptr<GLRenderer> Create(RendererClient* client, |
| 47 OutputSurface* output_surface, | 42 OutputSurface* output_surface, |
| 48 ResourceProvider* resource_provider, | 43 ResourceProvider* resource_provider, |
| 49 int highp_threshold_min); | 44 int highp_threshold_min); |
| 50 | 45 |
| 51 virtual ~GLRenderer(); | 46 virtual ~GLRenderer(); |
| 52 | 47 |
| 53 virtual const RendererCapabilities& Capabilities() const OVERRIDE; | 48 virtual const RendererCapabilities& Capabilities() const OVERRIDE; |
| 54 | 49 |
| 55 WebKit::WebGraphicsContext3D* Context(); | 50 WebKit::WebGraphicsContext3D* Context(); |
| 56 | 51 |
| 57 virtual void ViewportChanged() OVERRIDE; | 52 virtual void ViewportChanged() OVERRIDE; |
| 58 | 53 |
| 59 virtual void ReceiveCompositorFrameAck(const CompositorFrameAck& ack) | |
| 60 OVERRIDE; | |
| 61 | |
| 62 // Waits for rendering to finish. | 54 // Waits for rendering to finish. |
| 63 virtual void Finish() OVERRIDE; | 55 virtual void Finish() OVERRIDE; |
| 64 | 56 |
| 65 virtual void DoNoOp() OVERRIDE; | 57 virtual void DoNoOp() OVERRIDE; |
| 66 // Puts backbuffer onscreen. | 58 // Puts backbuffer onscreen. |
| 67 virtual bool SwapBuffers() OVERRIDE; | 59 virtual bool SwapBuffers() OVERRIDE; |
| 68 | 60 |
| 69 virtual void GetFramebufferPixels(void* pixels, gfx::Rect rect) OVERRIDE; | 61 virtual void GetFramebufferPixels(void* pixels, gfx::Rect rect) OVERRIDE; |
| 70 | 62 |
| 71 virtual bool IsContextLost() OVERRIDE; | 63 virtual bool IsContextLost() OVERRIDE; |
| (...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 179 bool UseScopedTexture(DrawingFrame* frame, | 171 bool UseScopedTexture(DrawingFrame* frame, |
| 180 const ScopedResource* resource, | 172 const ScopedResource* resource, |
| 181 gfx::Rect viewport_rect); | 173 gfx::Rect viewport_rect); |
| 182 | 174 |
| 183 bool MakeContextCurrent(); | 175 bool MakeContextCurrent(); |
| 184 | 176 |
| 185 bool InitializeSharedObjects(); | 177 bool InitializeSharedObjects(); |
| 186 void CleanupSharedObjects(); | 178 void CleanupSharedObjects(); |
| 187 | 179 |
| 188 // WebKit:: | 180 // WebKit:: |
| 189 // WebGraphicsContext3D::WebGraphicsSwapBuffersCompleteCallbackCHROMIUM | |
| 190 // implementation. | |
| 191 virtual void onSwapBuffersComplete() OVERRIDE; | |
| 192 | |
| 193 // WebKit:: | |
| 194 // WebGraphicsContext3D::WebGraphicsMemoryAllocationChangedCallbackCHROMIUM | 181 // WebGraphicsContext3D::WebGraphicsMemoryAllocationChangedCallbackCHROMIUM |
| 195 // implementation. | 182 // implementation. |
| 196 virtual void onMemoryAllocationChanged( | 183 virtual void onMemoryAllocationChanged( |
| 197 WebKit::WebGraphicsMemoryAllocation allocation) OVERRIDE; | 184 WebKit::WebGraphicsMemoryAllocation allocation) OVERRIDE; |
| 198 void DiscardBackbuffer(); | 185 void DiscardBackbuffer(); |
| 199 void EnsureBackbuffer(); | 186 void EnsureBackbuffer(); |
| 200 void EnforceMemoryPolicy(); | 187 void EnforceMemoryPolicy(); |
| 201 | 188 |
| 202 // WebGraphicsContext3D::WebGraphicsContextLostCallback implementation. | |
| 203 virtual void onContextLost() OVERRIDE; | |
| 204 | |
| 205 RendererCapabilities capabilities_; | 189 RendererCapabilities capabilities_; |
| 206 | 190 |
| 207 unsigned offscreen_framebuffer_id_; | 191 unsigned offscreen_framebuffer_id_; |
| 208 | 192 |
| 209 scoped_ptr<GeometryBinding> shared_geometry_; | 193 scoped_ptr<GeometryBinding> shared_geometry_; |
| 210 gfx::QuadF shared_geometry_quad_; | 194 gfx::QuadF shared_geometry_quad_; |
| 211 | 195 |
| 212 // This block of bindings defines all of the programs used by the compositor | 196 // This block of bindings defines all of the programs used by the compositor |
| 213 // itself. Add any new programs here to GLRendererShaderTest. | 197 // itself. Add any new programs here to GLRendererShaderTest. |
| 214 | 198 |
| (...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 401 #if DEBUG_GL_CALLS && !defined(NDEBUG) | 385 #if DEBUG_GL_CALLS && !defined(NDEBUG) |
| 402 #define GLC(context, x) \ | 386 #define GLC(context, x) \ |
| 403 (x, GLRenderer::DebugGLCall(&* context, #x, __FILE__, __LINE__)) | 387 (x, GLRenderer::DebugGLCall(&* context, #x, __FILE__, __LINE__)) |
| 404 #else | 388 #else |
| 405 #define GLC(context, x) (x) | 389 #define GLC(context, x) (x) |
| 406 #endif | 390 #endif |
| 407 | 391 |
| 408 } // namespace cc | 392 } // namespace cc |
| 409 | 393 |
| 410 #endif // CC_OUTPUT_GL_RENDERER_H_ | 394 #endif // CC_OUTPUT_GL_RENDERER_H_ |
| OLD | NEW |