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 |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
59 ~GLRenderer() override; | 59 ~GLRenderer() override; |
60 | 60 |
61 const RendererCapabilitiesImpl& Capabilities() const override; | 61 const RendererCapabilitiesImpl& Capabilities() const override; |
62 | 62 |
63 // Waits for rendering to finish. | 63 // Waits for rendering to finish. |
64 void Finish() override; | 64 void Finish() override; |
65 | 65 |
66 void SwapBuffers(const CompositorFrameMetadata& metadata) override; | 66 void SwapBuffers(const CompositorFrameMetadata& metadata) override; |
67 void SwapBuffersComplete() override; | 67 void SwapBuffersComplete() override; |
68 | 68 |
| 69 void DidReceiveTextureInUseResponses( |
| 70 const gpu::TextureInUseResponses& responses) override; |
| 71 |
69 virtual bool IsContextLost(); | 72 virtual bool IsContextLost(); |
70 | 73 |
71 protected: | 74 protected: |
72 GLRenderer(RendererClient* client, | 75 GLRenderer(RendererClient* client, |
73 const RendererSettings* settings, | 76 const RendererSettings* settings, |
74 OutputSurface* output_surface, | 77 OutputSurface* output_surface, |
75 ResourceProvider* resource_provider, | 78 ResourceProvider* resource_provider, |
76 TextureMailboxDeleter* texture_mailbox_deleter, | 79 TextureMailboxDeleter* texture_mailbox_deleter, |
77 int highp_threshold_min); | 80 int highp_threshold_min); |
78 | 81 |
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
264 using OverlayResourceLock = | 267 using OverlayResourceLock = |
265 std::unique_ptr<ResourceProvider::ScopedReadLockGpuMemoryBuffer>; | 268 std::unique_ptr<ResourceProvider::ScopedReadLockGpuMemoryBuffer>; |
266 using OverlayResourceLockList = std::vector<OverlayResourceLock>; | 269 using OverlayResourceLockList = std::vector<OverlayResourceLock>; |
267 | 270 |
268 // Resources that have been sent to the GPU process, but not yet swapped. | 271 // Resources that have been sent to the GPU process, but not yet swapped. |
269 OverlayResourceLockList pending_overlay_resources_; | 272 OverlayResourceLockList pending_overlay_resources_; |
270 | 273 |
271 // Resources that should be shortly swapped by the GPU process. | 274 // Resources that should be shortly swapped by the GPU process. |
272 std::deque<OverlayResourceLockList> swapping_overlay_resources_; | 275 std::deque<OverlayResourceLockList> swapping_overlay_resources_; |
273 | 276 |
274 // Resources that the GPU process has finished swapping. | 277 // Resources that the GPU process has finished swapping. The key is the |
275 std::map<ResourceId, OverlayResourceLock> | 278 // texture id of the resource. |
276 swapped_and_acked_overlay_resources_; | 279 std::map<unsigned, OverlayResourceLock> swapped_and_acked_overlay_resources_; |
277 | 280 |
278 RendererCapabilitiesImpl capabilities_; | 281 RendererCapabilitiesImpl capabilities_; |
279 | 282 |
280 unsigned offscreen_framebuffer_id_; | 283 unsigned offscreen_framebuffer_id_; |
281 | 284 |
282 std::unique_ptr<StaticGeometryBinding> shared_geometry_; | 285 std::unique_ptr<StaticGeometryBinding> shared_geometry_; |
283 std::unique_ptr<DynamicGeometryBinding> clipped_geometry_; | 286 std::unique_ptr<DynamicGeometryBinding> clipped_geometry_; |
284 gfx::QuadF shared_geometry_quad_; | 287 gfx::QuadF shared_geometry_quad_; |
285 | 288 |
286 // This block of bindings defines all of the programs used by the compositor | 289 // This block of bindings defines all of the programs used by the compositor |
(...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
531 | 534 |
532 SkBitmap on_demand_tile_raster_bitmap_; | 535 SkBitmap on_demand_tile_raster_bitmap_; |
533 ResourceId on_demand_tile_raster_resource_id_; | 536 ResourceId on_demand_tile_raster_resource_id_; |
534 BoundGeometry bound_geometry_; | 537 BoundGeometry bound_geometry_; |
535 DISALLOW_COPY_AND_ASSIGN(GLRenderer); | 538 DISALLOW_COPY_AND_ASSIGN(GLRenderer); |
536 }; | 539 }; |
537 | 540 |
538 } // namespace cc | 541 } // namespace cc |
539 | 542 |
540 #endif // CC_OUTPUT_GL_RENDERER_H_ | 543 #endif // CC_OUTPUT_GL_RENDERER_H_ |
OLD | NEW |