| 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 <deque> | 8 #include <deque> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| 11 #include "base/cancelable_callback.h" | 11 #include "base/cancelable_callback.h" |
| 12 #include "base/macros.h" | 12 #include "base/macros.h" |
| 13 #include "cc/base/cc_export.h" | 13 #include "cc/base/cc_export.h" |
| 14 #include "cc/output/color_lut_cache.h" | 14 #include "cc/output/color_lut_cache.h" |
| 15 #include "cc/output/direct_renderer.h" | 15 #include "cc/output/direct_renderer.h" |
| 16 #include "cc/output/gl_renderer_draw_cache.h" | 16 #include "cc/output/gl_renderer_draw_cache.h" |
| 17 #include "cc/output/program_binding.h" | 17 #include "cc/output/program_binding.h" |
| 18 #include "cc/output/renderer_capabilities_impl.h" |
| 18 #include "cc/quads/debug_border_draw_quad.h" | 19 #include "cc/quads/debug_border_draw_quad.h" |
| 19 #include "cc/quads/render_pass_draw_quad.h" | 20 #include "cc/quads/render_pass_draw_quad.h" |
| 20 #include "cc/quads/solid_color_draw_quad.h" | 21 #include "cc/quads/solid_color_draw_quad.h" |
| 21 #include "cc/quads/tile_draw_quad.h" | 22 #include "cc/quads/tile_draw_quad.h" |
| 22 #include "cc/quads/yuv_video_draw_quad.h" | 23 #include "cc/quads/yuv_video_draw_quad.h" |
| 23 #include "ui/gfx/geometry/quad_f.h" | 24 #include "ui/gfx/geometry/quad_f.h" |
| 24 | 25 |
| 25 class SkBitmap; | 26 class SkBitmap; |
| 26 | 27 |
| 27 namespace gpu { | 28 namespace gpu { |
| (...skipping 22 matching lines...) Expand all Loading... |
| 50 public: | 51 public: |
| 51 class ScopedUseGrContext; | 52 class ScopedUseGrContext; |
| 52 | 53 |
| 53 GLRenderer(const RendererSettings* settings, | 54 GLRenderer(const RendererSettings* settings, |
| 54 OutputSurface* output_surface, | 55 OutputSurface* output_surface, |
| 55 ResourceProvider* resource_provider, | 56 ResourceProvider* resource_provider, |
| 56 TextureMailboxDeleter* texture_mailbox_deleter, | 57 TextureMailboxDeleter* texture_mailbox_deleter, |
| 57 int highp_threshold_min); | 58 int highp_threshold_min); |
| 58 ~GLRenderer() override; | 59 ~GLRenderer() override; |
| 59 | 60 |
| 61 const RendererCapabilitiesImpl& Capabilities() const override; |
| 62 |
| 60 void SwapBuffers(CompositorFrameMetadata metadata) override; | 63 void SwapBuffers(CompositorFrameMetadata metadata) override; |
| 61 void SwapBuffersComplete() override; | 64 void SwapBuffersComplete() override; |
| 62 | 65 |
| 63 void DidReceiveTextureInUseResponses( | 66 void DidReceiveTextureInUseResponses( |
| 64 const gpu::TextureInUseResponses& responses) override; | 67 const gpu::TextureInUseResponses& responses) override; |
| 65 | 68 |
| 66 virtual bool IsContextLost(); | 69 virtual bool IsContextLost(); |
| 67 | 70 |
| 68 protected: | 71 protected: |
| 69 void DidChangeVisibility() override; | 72 void DidChangeVisibility() override; |
| (...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 273 // Resources that have been sent to the GPU process, but not yet swapped. | 276 // Resources that have been sent to the GPU process, but not yet swapped. |
| 274 OverlayResourceLockList pending_overlay_resources_; | 277 OverlayResourceLockList pending_overlay_resources_; |
| 275 | 278 |
| 276 // Resources that should be shortly swapped by the GPU process. | 279 // Resources that should be shortly swapped by the GPU process. |
| 277 std::deque<OverlayResourceLockList> swapping_overlay_resources_; | 280 std::deque<OverlayResourceLockList> swapping_overlay_resources_; |
| 278 | 281 |
| 279 // Resources that the GPU process has finished swapping. The key is the | 282 // Resources that the GPU process has finished swapping. The key is the |
| 280 // texture id of the resource. | 283 // texture id of the resource. |
| 281 std::map<unsigned, OverlayResourceLock> swapped_and_acked_overlay_resources_; | 284 std::map<unsigned, OverlayResourceLock> swapped_and_acked_overlay_resources_; |
| 282 | 285 |
| 286 RendererCapabilitiesImpl capabilities_; |
| 287 |
| 283 unsigned offscreen_framebuffer_id_; | 288 unsigned offscreen_framebuffer_id_; |
| 284 | 289 |
| 285 std::unique_ptr<StaticGeometryBinding> shared_geometry_; | 290 std::unique_ptr<StaticGeometryBinding> shared_geometry_; |
| 286 std::unique_ptr<DynamicGeometryBinding> clipped_geometry_; | 291 std::unique_ptr<DynamicGeometryBinding> clipped_geometry_; |
| 287 gfx::QuadF shared_geometry_quad_; | 292 gfx::QuadF shared_geometry_quad_; |
| 288 | 293 |
| 289 // This block of bindings defines all of the programs used by the compositor | 294 // This block of bindings defines all of the programs used by the compositor |
| 290 // itself. Add any new programs here to GLRendererShaderTest. | 295 // itself. Add any new programs here to GLRendererShaderTest. |
| 291 | 296 |
| 292 // Tiled layer shaders. | 297 // Tiled layer shaders. |
| (...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 538 bool force_drawing_frame_framebuffer_unflipped_ = false; | 543 bool force_drawing_frame_framebuffer_unflipped_ = false; |
| 539 | 544 |
| 540 BoundGeometry bound_geometry_; | 545 BoundGeometry bound_geometry_; |
| 541 ColorLUTCache color_lut_cache_; | 546 ColorLUTCache color_lut_cache_; |
| 542 DISALLOW_COPY_AND_ASSIGN(GLRenderer); | 547 DISALLOW_COPY_AND_ASSIGN(GLRenderer); |
| 543 }; | 548 }; |
| 544 | 549 |
| 545 } // namespace cc | 550 } // namespace cc |
| 546 | 551 |
| 547 #endif // CC_OUTPUT_GL_RENDERER_H_ | 552 #endif // CC_OUTPUT_GL_RENDERER_H_ |
| OLD | NEW |