OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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_RASTER_GPU_RASTER_BUFFER_PROVIDER_H_ | 5 #ifndef CC_RASTER_GPU_RASTER_BUFFER_PROVIDER_H_ |
6 #define CC_RASTER_GPU_RASTER_BUFFER_PROVIDER_H_ | 6 #define CC_RASTER_GPU_RASTER_BUFFER_PROVIDER_H_ |
7 | 7 |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include "base/macros.h" | 10 #include "base/macros.h" |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
44 void Shutdown() override; | 44 void Shutdown() override; |
45 | 45 |
46 void PlaybackOnWorkerThread( | 46 void PlaybackOnWorkerThread( |
47 ResourceProvider::ScopedWriteLockGL* resource_lock, | 47 ResourceProvider::ScopedWriteLockGL* resource_lock, |
48 const gpu::SyncToken& sync_token, | 48 const gpu::SyncToken& sync_token, |
49 bool resource_has_previous_content, | 49 bool resource_has_previous_content, |
50 const RasterSource* raster_source, | 50 const RasterSource* raster_source, |
51 const gfx::Rect& raster_full_rect, | 51 const gfx::Rect& raster_full_rect, |
52 const gfx::Rect& raster_dirty_rect, | 52 const gfx::Rect& raster_dirty_rect, |
53 uint64_t new_content_id, | 53 uint64_t new_content_id, |
54 float scale, | 54 const ScaleTranslate2d& transform, |
55 const RasterSource::PlaybackSettings& playback_settings); | 55 const RasterSource::PlaybackSettings& playback_settings); |
56 | 56 |
57 private: | 57 private: |
58 class RasterBufferImpl : public RasterBuffer { | 58 class RasterBufferImpl : public RasterBuffer { |
59 public: | 59 public: |
60 RasterBufferImpl(GpuRasterBufferProvider* client, | 60 RasterBufferImpl(GpuRasterBufferProvider* client, |
61 ResourceProvider* resource_provider, | 61 ResourceProvider* resource_provider, |
62 ResourceId resource_id, | 62 ResourceId resource_id, |
63 bool async_worker_context_enabled, | 63 bool async_worker_context_enabled, |
64 bool resource_has_previous_content); | 64 bool resource_has_previous_content); |
65 ~RasterBufferImpl() override; | 65 ~RasterBufferImpl() override; |
66 | 66 |
67 // Overridden from RasterBuffer: | 67 // Overridden from RasterBuffer: |
68 void Playback( | 68 void Playback( |
69 const RasterSource* raster_source, | 69 const RasterSource* raster_source, |
70 const gfx::Rect& raster_full_rect, | 70 const gfx::Rect& raster_full_rect, |
71 const gfx::Rect& raster_dirty_rect, | 71 const gfx::Rect& raster_dirty_rect, |
72 uint64_t new_content_id, | 72 uint64_t new_content_id, |
73 float scale, | 73 const ScaleTranslate2d& transform, |
74 const RasterSource::PlaybackSettings& playback_settings) override; | 74 const RasterSource::PlaybackSettings& playback_settings) override; |
75 | 75 |
76 void set_sync_token(const gpu::SyncToken& sync_token) { | 76 void set_sync_token(const gpu::SyncToken& sync_token) { |
77 sync_token_ = sync_token; | 77 sync_token_ = sync_token; |
78 } | 78 } |
79 | 79 |
80 private: | 80 private: |
81 GpuRasterBufferProvider* const client_; | 81 GpuRasterBufferProvider* const client_; |
82 ResourceProvider::ScopedWriteLockGL lock_; | 82 ResourceProvider::ScopedWriteLockGL lock_; |
83 const bool resource_has_previous_content_; | 83 const bool resource_has_previous_content_; |
(...skipping 12 matching lines...) Expand all Loading... |
96 const bool async_worker_context_enabled_; | 96 const bool async_worker_context_enabled_; |
97 | 97 |
98 std::set<RasterBufferImpl*> pending_raster_buffers_; | 98 std::set<RasterBufferImpl*> pending_raster_buffers_; |
99 | 99 |
100 DISALLOW_COPY_AND_ASSIGN(GpuRasterBufferProvider); | 100 DISALLOW_COPY_AND_ASSIGN(GpuRasterBufferProvider); |
101 }; | 101 }; |
102 | 102 |
103 } // namespace cc | 103 } // namespace cc |
104 | 104 |
105 #endif // CC_RASTER_GPU_RASTER_BUFFER_PROVIDER_H_ | 105 #endif // CC_RASTER_GPU_RASTER_BUFFER_PROVIDER_H_ |
OLD | NEW |