Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(212)

Side by Side Diff: cc/resources/resource_provider.h

Issue 664803003: Update from chromium a8e7c94b1b79a0948d05a1fcfff53391d22ce37a (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « cc/resources/raster_worker_pool_unittest.cc ('k') | cc/resources/resource_provider.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 <deque> 8 #include <deque>
9 #include <set> 9 #include <set>
10 #include <string> 10 #include <string>
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 Bitmap, 76 Bitmap,
77 }; 77 };
78 78
79 static scoped_ptr<ResourceProvider> Create( 79 static scoped_ptr<ResourceProvider> Create(
80 OutputSurface* output_surface, 80 OutputSurface* output_surface,
81 SharedBitmapManager* shared_bitmap_manager, 81 SharedBitmapManager* shared_bitmap_manager,
82 GpuMemoryBufferManager* gpu_memory_buffer_manager, 82 GpuMemoryBufferManager* gpu_memory_buffer_manager,
83 BlockingTaskRunner* blocking_main_thread_task_runner, 83 BlockingTaskRunner* blocking_main_thread_task_runner,
84 int highp_threshold_min, 84 int highp_threshold_min,
85 bool use_rgba_4444_texture_format, 85 bool use_rgba_4444_texture_format,
86 size_t id_allocation_chunk_size, 86 size_t id_allocation_chunk_size);
87 bool use_distance_field_text);
88 virtual ~ResourceProvider(); 87 virtual ~ResourceProvider();
89 88
90 void InitializeSoftware(); 89 void InitializeSoftware();
91 void InitializeGL(); 90 void InitializeGL();
92 91
93 void DidLoseOutputSurface() { lost_output_surface_ = true; } 92 void DidLoseOutputSurface() { lost_output_surface_ = true; }
94 93
95 int max_texture_size() const { return max_texture_size_; } 94 int max_texture_size() const { return max_texture_size_; }
96 ResourceFormat memory_efficient_texture_format() const { 95 ResourceFormat memory_efficient_texture_format() const {
97 return use_rgba_4444_texture_format_ ? RGBA_4444 : best_texture_format_; 96 return use_rgba_4444_texture_format_ ? RGBA_4444 : best_texture_format_;
(...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after
321 320
322 DISALLOW_COPY_AND_ASSIGN(ScopedWriteLockGpuMemoryBuffer); 321 DISALLOW_COPY_AND_ASSIGN(ScopedWriteLockGpuMemoryBuffer);
323 }; 322 };
324 323
325 class CC_EXPORT ScopedWriteLockGr { 324 class CC_EXPORT ScopedWriteLockGr {
326 public: 325 public:
327 ScopedWriteLockGr(ResourceProvider* resource_provider, 326 ScopedWriteLockGr(ResourceProvider* resource_provider,
328 ResourceProvider::ResourceId resource_id); 327 ResourceProvider::ResourceId resource_id);
329 ~ScopedWriteLockGr(); 328 ~ScopedWriteLockGr();
330 329
331 SkSurface* sk_surface() { return sk_surface_; } 330 SkSurface* GetSkSurface(bool use_distance_field_text);
332 331
333 private: 332 private:
334 ResourceProvider* resource_provider_; 333 ResourceProvider* resource_provider_;
335 ResourceProvider::ResourceId resource_id_; 334 ResourceProvider::ResourceId resource_id_;
336 SkSurface* sk_surface_;
337 335
338 DISALLOW_COPY_AND_ASSIGN(ScopedWriteLockGr); 336 DISALLOW_COPY_AND_ASSIGN(ScopedWriteLockGr);
339 }; 337 };
340 338
341 class Fence : public base::RefCounted<Fence> { 339 class Fence : public base::RefCounted<Fence> {
342 public: 340 public:
343 Fence() {} 341 Fence() {}
344 342
345 virtual void Set() = 0; 343 virtual void Set() = 0;
346 virtual bool HasPassed() = 0; 344 virtual bool HasPassed() = 0;
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
481 return !resource->read_lock_fence.get() || 479 return !resource->read_lock_fence.get() ||
482 resource->read_lock_fence->HasPassed(); 480 resource->read_lock_fence->HasPassed();
483 } 481 }
484 482
485 ResourceProvider(OutputSurface* output_surface, 483 ResourceProvider(OutputSurface* output_surface,
486 SharedBitmapManager* shared_bitmap_manager, 484 SharedBitmapManager* shared_bitmap_manager,
487 GpuMemoryBufferManager* gpu_memory_buffer_manager, 485 GpuMemoryBufferManager* gpu_memory_buffer_manager,
488 BlockingTaskRunner* blocking_main_thread_task_runner, 486 BlockingTaskRunner* blocking_main_thread_task_runner,
489 int highp_threshold_min, 487 int highp_threshold_min,
490 bool use_rgba_4444_texture_format, 488 bool use_rgba_4444_texture_format,
491 size_t id_allocation_chunk_size, 489 size_t id_allocation_chunk_size);
492 bool use_distance_field_text);
493 490
494 void CleanUpGLIfNeeded(); 491 void CleanUpGLIfNeeded();
495 492
496 Resource* GetResource(ResourceId id); 493 Resource* GetResource(ResourceId id);
497 const Resource* LockForRead(ResourceId id); 494 const Resource* LockForRead(ResourceId id);
498 void UnlockForRead(ResourceId id); 495 void UnlockForRead(ResourceId id);
499 const Resource* LockForWrite(ResourceId id); 496 const Resource* LockForWrite(ResourceId id);
500 void UnlockForWrite(ResourceId id); 497 void UnlockForWrite(ResourceId id);
501 const Resource* LockForWriteToGpuMemoryBuffer(ResourceId id); 498 const Resource* LockForWriteToGpuMemoryBuffer(ResourceId id);
502 void UnlockForWriteToGpuMemoryBuffer(ResourceId id); 499 void UnlockForWriteToGpuMemoryBuffer(ResourceId id);
503 const Resource* LockForWriteToSkSurface(ResourceId id); 500 void LockForWriteToSkSurface(ResourceId id);
504 void UnlockForWriteToSkSurface(ResourceId id); 501 void UnlockForWriteToSkSurface(ResourceId id);
505 502
506 static void PopulateSkBitmapWithResource(SkBitmap* sk_bitmap, 503 static void PopulateSkBitmapWithResource(SkBitmap* sk_bitmap,
507 const Resource* resource); 504 const Resource* resource);
508 505
509 void TransferResource(gpu::gles2::GLES2Interface* gl, 506 void TransferResource(gpu::gles2::GLES2Interface* gl,
510 ResourceId id, 507 ResourceId id,
511 TransferableResource* resource); 508 TransferableResource* resource);
512 enum DeleteStyle { 509 enum DeleteStyle {
513 Normal, 510 Normal,
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
555 552
556 scoped_refptr<Fence> current_read_lock_fence_; 553 scoped_refptr<Fence> current_read_lock_fence_;
557 bool use_rgba_4444_texture_format_; 554 bool use_rgba_4444_texture_format_;
558 555
559 const size_t id_allocation_chunk_size_; 556 const size_t id_allocation_chunk_size_;
560 scoped_ptr<IdAllocator> texture_id_allocator_; 557 scoped_ptr<IdAllocator> texture_id_allocator_;
561 scoped_ptr<IdAllocator> buffer_id_allocator_; 558 scoped_ptr<IdAllocator> buffer_id_allocator_;
562 559
563 bool use_sync_query_; 560 bool use_sync_query_;
564 561
565 bool use_distance_field_text_;
566
567 DISALLOW_COPY_AND_ASSIGN(ResourceProvider); 562 DISALLOW_COPY_AND_ASSIGN(ResourceProvider);
568 }; 563 };
569 564
570 565
571 // TODO(epenner): Move these format conversions to resource_format.h 566 // TODO(epenner): Move these format conversions to resource_format.h
572 // once that builds on mac (npapi.h currently #includes OpenGL.h). 567 // once that builds on mac (npapi.h currently #includes OpenGL.h).
573 inline unsigned BitsPerPixel(ResourceFormat format) { 568 inline unsigned BitsPerPixel(ResourceFormat format) {
574 DCHECK_LE(format, RESOURCE_FORMAT_MAX); 569 DCHECK_LE(format, RESOURCE_FORMAT_MAX);
575 static const unsigned format_bits_per_pixel[RESOURCE_FORMAT_MAX + 1] = { 570 static const unsigned format_bits_per_pixel[RESOURCE_FORMAT_MAX + 1] = {
576 32, // RGBA_8888 571 32, // RGBA_8888
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
612 return format_gl_data_format[format]; 607 return format_gl_data_format[format];
613 } 608 }
614 609
615 inline GLenum GLInternalFormat(ResourceFormat format) { 610 inline GLenum GLInternalFormat(ResourceFormat format) {
616 return GLDataFormat(format); 611 return GLDataFormat(format);
617 } 612 }
618 613
619 } // namespace cc 614 } // namespace cc
620 615
621 #endif // CC_RESOURCES_RESOURCE_PROVIDER_H_ 616 #endif // CC_RESOURCES_RESOURCE_PROVIDER_H_
OLDNEW
« no previous file with comments | « cc/resources/raster_worker_pool_unittest.cc ('k') | cc/resources/resource_provider.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698