| OLD | NEW |
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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_RESOURCES_RESOURCE_PROVIDER_H_ | 5 #ifndef CC_RESOURCES_RESOURCE_PROVIDER_H_ |
| 6 #define CC_RESOURCES_RESOURCE_PROVIDER_H_ | 6 #define CC_RESOURCES_RESOURCE_PROVIDER_H_ |
| 7 | 7 |
| 8 #include <stddef.h> | 8 #include <stddef.h> |
| 9 #include <stdint.h> | 9 #include <stdint.h> |
| 10 | 10 |
| (...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 250 private: | 250 private: |
| 251 GLenum unit_; | 251 GLenum unit_; |
| 252 GLenum target_; | 252 GLenum target_; |
| 253 | 253 |
| 254 DISALLOW_COPY_AND_ASSIGN(ScopedSamplerGL); | 254 DISALLOW_COPY_AND_ASSIGN(ScopedSamplerGL); |
| 255 }; | 255 }; |
| 256 | 256 |
| 257 class CC_EXPORT ScopedWriteLockGL { | 257 class CC_EXPORT ScopedWriteLockGL { |
| 258 public: | 258 public: |
| 259 ScopedWriteLockGL(ResourceProvider* resource_provider, | 259 ScopedWriteLockGL(ResourceProvider* resource_provider, |
| 260 ResourceId resource_id); | 260 ResourceId resource_id, |
| 261 bool use_mailbox); |
| 261 ~ScopedWriteLockGL(); | 262 ~ScopedWriteLockGL(); |
| 262 | 263 |
| 263 unsigned texture_id() const { return texture_id_; } | 264 unsigned ProduceTextureId(); |
| 265 void ReleaseTextureId(); |
| 264 | 266 |
| 265 void UpdateResourceSyncToken(const gpu::SyncToken& sync_token) { | 267 void UpdateResourceSyncToken(const gpu::SyncToken& sync_token) { |
| 266 set_sync_token_ = true; | 268 set_sync_token_ = true; |
| 267 sync_token_ = sync_token; | 269 sync_token_ = sync_token; |
| 268 } | 270 } |
| 269 | 271 |
| 270 private: | 272 private: |
| 271 ResourceProvider* resource_provider_; | 273 ResourceProvider* resource_provider_; |
| 272 ResourceProvider::Resource* resource_; | 274 ResourceProvider::Resource* resource_; |
| 275 bool use_mailbox_; |
| 273 unsigned texture_id_; | 276 unsigned texture_id_; |
| 274 bool set_sync_token_; | 277 bool set_sync_token_; |
| 275 gpu::SyncToken sync_token_; | 278 gpu::SyncToken sync_token_; |
| 276 | 279 |
| 277 DISALLOW_COPY_AND_ASSIGN(ScopedWriteLockGL); | 280 DISALLOW_COPY_AND_ASSIGN(ScopedWriteLockGL); |
| 278 }; | 281 }; |
| 279 | 282 |
| 280 class CC_EXPORT ScopedReadLockSoftware { | 283 class CC_EXPORT ScopedReadLockSoftware { |
| 281 public: | 284 public: |
| 282 ScopedReadLockSoftware(ResourceProvider* resource_provider, | 285 ScopedReadLockSoftware(ResourceProvider* resource_provider, |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 329 ResourceProvider::Resource* resource_; | 332 ResourceProvider::Resource* resource_; |
| 330 std::unique_ptr<gfx::GpuMemoryBuffer> gpu_memory_buffer_; | 333 std::unique_ptr<gfx::GpuMemoryBuffer> gpu_memory_buffer_; |
| 331 base::ThreadChecker thread_checker_; | 334 base::ThreadChecker thread_checker_; |
| 332 | 335 |
| 333 DISALLOW_COPY_AND_ASSIGN(ScopedWriteLockGpuMemoryBuffer); | 336 DISALLOW_COPY_AND_ASSIGN(ScopedWriteLockGpuMemoryBuffer); |
| 334 }; | 337 }; |
| 335 | 338 |
| 336 class CC_EXPORT ScopedWriteLockGr { | 339 class CC_EXPORT ScopedWriteLockGr { |
| 337 public: | 340 public: |
| 338 ScopedWriteLockGr(ResourceProvider* resource_provider, | 341 ScopedWriteLockGr(ResourceProvider* resource_provider, |
| 339 ResourceId resource_id); | 342 ResourceId resource_id, |
| 343 bool use_mailbox); |
| 340 ~ScopedWriteLockGr(); | 344 ~ScopedWriteLockGr(); |
| 341 | 345 |
| 342 void InitSkSurface(bool use_distance_field_text, | 346 void InitSkSurface(bool use_distance_field_text, |
| 343 bool can_use_lcd_text, | 347 bool can_use_lcd_text, |
| 344 int msaa_sample_count); | 348 int msaa_sample_count); |
| 345 void ReleaseSkSurface(); | 349 void ReleaseSkSurface(); |
| 346 | 350 |
| 347 SkSurface* sk_surface() { return sk_surface_.get(); } | 351 SkSurface* sk_surface() { return sk_surface_.get(); } |
| 348 | 352 |
| 349 gfx::Size GetResourceSize() const { return resource_->size; } | 353 gfx::Size GetResourceSize() const { return resource_->size; } |
| 350 | 354 |
| 351 void UpdateResourceSyncToken(const gpu::SyncToken& sync_token) { | 355 void UpdateResourceSyncToken(const gpu::SyncToken& sync_token) { |
| 352 set_sync_token_ = true; | 356 set_sync_token_ = true; |
| 353 sync_token_ = sync_token; | 357 sync_token_ = sync_token; |
| 354 } | 358 } |
| 355 | 359 |
| 356 private: | 360 private: |
| 357 ResourceProvider* resource_provider_; | 361 ResourceProvider* resource_provider_; |
| 358 ResourceProvider::Resource* resource_; | 362 ResourceProvider::Resource* resource_; |
| 363 bool use_mailbox_; |
| 364 unsigned texture_id_; |
| 359 base::ThreadChecker thread_checker_; | 365 base::ThreadChecker thread_checker_; |
| 360 sk_sp<SkSurface> sk_surface_; | 366 sk_sp<SkSurface> sk_surface_; |
| 361 bool set_sync_token_; | 367 bool set_sync_token_; |
| 362 gpu::SyncToken sync_token_; | 368 gpu::SyncToken sync_token_; |
| 363 | 369 |
| 364 DISALLOW_COPY_AND_ASSIGN(ScopedWriteLockGr); | 370 DISALLOW_COPY_AND_ASSIGN(ScopedWriteLockGr); |
| 365 }; | 371 }; |
| 366 | 372 |
| 367 class Fence : public base::RefCounted<Fence> { | 373 class Fence : public base::RefCounted<Fence> { |
| 368 public: | 374 public: |
| (...skipping 312 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 681 // A process-unique ID used for disambiguating memory dumps from different | 687 // A process-unique ID used for disambiguating memory dumps from different |
| 682 // resource providers. | 688 // resource providers. |
| 683 int tracing_id_; | 689 int tracing_id_; |
| 684 | 690 |
| 685 DISALLOW_COPY_AND_ASSIGN(ResourceProvider); | 691 DISALLOW_COPY_AND_ASSIGN(ResourceProvider); |
| 686 }; | 692 }; |
| 687 | 693 |
| 688 } // namespace cc | 694 } // namespace cc |
| 689 | 695 |
| 690 #endif // CC_RESOURCES_RESOURCE_PROVIDER_H_ | 696 #endif // CC_RESOURCES_RESOURCE_PROVIDER_H_ |
| OLD | NEW |