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

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

Issue 951673002: Revert "Pull chromium at 2c3ffb2355a27c32f45e508ef861416b820c823b" (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 10 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/recording_source.h ('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 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
60 class CC_EXPORT ResourceProvider { 60 class CC_EXPORT ResourceProvider {
61 private: 61 private:
62 struct Resource; 62 struct Resource;
63 63
64 public: 64 public:
65 typedef unsigned ResourceId; 65 typedef unsigned ResourceId;
66 typedef std::vector<ResourceId> ResourceIdArray; 66 typedef std::vector<ResourceId> ResourceIdArray;
67 typedef std::set<ResourceId> ResourceIdSet; 67 typedef std::set<ResourceId> ResourceIdSet;
68 typedef base::hash_map<ResourceId, ResourceId> ResourceIdMap; 68 typedef base::hash_map<ResourceId, ResourceId> ResourceIdMap;
69 enum TextureHint { 69 enum TextureHint {
70 TEXTURE_HINT_DEFAULT = 0x0, 70 TextureHintDefault = 0x0,
71 TEXTURE_HINT_IMMUTABLE = 0x1, 71 TextureHintImmutable = 0x1,
72 TEXTURE_HINT_FRAMEBUFFER = 0x2, 72 TextureHintFramebuffer = 0x2,
73 TEXTURE_HINT_IMMUTABLE_FRAMEBUFFER = 73 TextureHintImmutableFramebuffer =
74 TEXTURE_HINT_IMMUTABLE | TEXTURE_HINT_FRAMEBUFFER 74 TextureHintImmutable | TextureHintFramebuffer
75 }; 75 };
76 enum ResourceType { 76 enum ResourceType {
77 RESOURCE_TYPE_INVALID = 0, 77 InvalidType = 0,
78 RESOURCE_TYPE_GL_TEXTURE = 1, 78 GLTexture = 1,
79 RESOURCE_TYPE_BITMAP, 79 Bitmap,
80 }; 80 };
81 81
82 static scoped_ptr<ResourceProvider> Create( 82 static scoped_ptr<ResourceProvider> Create(
83 OutputSurface* output_surface, 83 OutputSurface* output_surface,
84 SharedBitmapManager* shared_bitmap_manager, 84 SharedBitmapManager* shared_bitmap_manager,
85 gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager, 85 gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager,
86 BlockingTaskRunner* blocking_main_thread_task_runner, 86 BlockingTaskRunner* blocking_main_thread_task_runner,
87 int highp_threshold_min, 87 int highp_threshold_min,
88 bool use_rgba_4444_texture_format, 88 bool use_rgba_4444_texture_format,
89 size_t id_allocation_chunk_size); 89 size_t id_allocation_chunk_size);
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
143 143
144 // Wraps an external texture mailbox into a GL resource. 144 // Wraps an external texture mailbox into a GL resource.
145 ResourceId CreateResourceFromTextureMailbox( 145 ResourceId CreateResourceFromTextureMailbox(
146 const TextureMailbox& mailbox, 146 const TextureMailbox& mailbox,
147 scoped_ptr<SingleReleaseCallbackImpl> release_callback_impl); 147 scoped_ptr<SingleReleaseCallbackImpl> release_callback_impl);
148 148
149 void DeleteResource(ResourceId id); 149 void DeleteResource(ResourceId id);
150 150
151 // Update pixels from image, copying source_rect (in image) to dest_offset (in 151 // Update pixels from image, copying source_rect (in image) to dest_offset (in
152 // the resource). 152 // the resource).
153 // NOTE: DEPRECATED. Use CopyToResource() instead.
154 void SetPixels(ResourceId id, 153 void SetPixels(ResourceId id,
155 const uint8_t* image, 154 const uint8_t* image,
156 const gfx::Rect& image_rect, 155 const gfx::Rect& image_rect,
157 const gfx::Rect& source_rect, 156 const gfx::Rect& source_rect,
158 const gfx::Vector2d& dest_offset); 157 const gfx::Vector2d& dest_offset);
159 void CopyToResource(ResourceId id,
160 const uint8_t* image,
161 const gfx::Size& image_size);
162 158
163 // Check upload status. 159 // Check upload status.
164 size_t NumBlockingUploads(); 160 size_t NumBlockingUploads();
165 void MarkPendingUploadsAsNonBlocking(); 161 void MarkPendingUploadsAsNonBlocking();
166 size_t EstimatedUploadsPerTick(); 162 size_t EstimatedUploadsPerTick();
167 void FlushUploads(); 163 void FlushUploads();
168 void ReleaseCachedData(); 164 void ReleaseCachedData();
169 base::TimeTicks EstimatedUploadCompletionTime(size_t uploads_per_tick); 165 base::TimeTicks EstimatedUploadCompletionTime(size_t uploads_per_tick);
170 166
171 // Only flush the command buffer if supported. 167 // Only flush the command buffer if supported.
(...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after
431 void WaitSyncPointIfNeeded(ResourceId id); 427 void WaitSyncPointIfNeeded(ResourceId id);
432 428
433 void WaitReadLockIfNeeded(ResourceId id); 429 void WaitReadLockIfNeeded(ResourceId id);
434 430
435 static GLint GetActiveTextureUnit(gpu::gles2::GLES2Interface* gl); 431 static GLint GetActiveTextureUnit(gpu::gles2::GLES2Interface* gl);
436 432
437 OutputSurface* output_surface() { return output_surface_; } 433 OutputSurface* output_surface() { return output_surface_; }
438 434
439 private: 435 private:
440 struct Resource { 436 struct Resource {
441 enum Origin { INTERNAL, EXTERNAL, DELEGATED }; 437 enum Origin { Internal, External, Delegated };
442 438
443 Resource(); 439 Resource();
444 ~Resource(); 440 ~Resource();
445 Resource(unsigned texture_id, 441 Resource(unsigned texture_id,
446 const gfx::Size& size, 442 const gfx::Size& size,
447 Origin origin, 443 Origin origin,
448 GLenum target, 444 GLenum target,
449 GLenum filter, 445 GLenum filter,
450 GLenum texture_pool, 446 GLenum texture_pool,
451 GLint wrap_mode, 447 GLint wrap_mode,
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
544 Resource* LockForWrite(ResourceId id); 540 Resource* LockForWrite(ResourceId id);
545 void UnlockForWrite(Resource* resource); 541 void UnlockForWrite(Resource* resource);
546 542
547 static void PopulateSkBitmapWithResource(SkBitmap* sk_bitmap, 543 static void PopulateSkBitmapWithResource(SkBitmap* sk_bitmap,
548 const Resource* resource); 544 const Resource* resource);
549 545
550 void TransferResource(gpu::gles2::GLES2Interface* gl, 546 void TransferResource(gpu::gles2::GLES2Interface* gl,
551 ResourceId id, 547 ResourceId id,
552 TransferableResource* resource); 548 TransferableResource* resource);
553 enum DeleteStyle { 549 enum DeleteStyle {
554 NORMAL, 550 Normal,
555 FOR_SHUTDOWN, 551 ForShutdown,
556 }; 552 };
557 void DeleteResourceInternal(ResourceMap::iterator it, DeleteStyle style); 553 void DeleteResourceInternal(ResourceMap::iterator it, DeleteStyle style);
558 void DeleteAndReturnUnusedResourcesToChild(ChildMap::iterator child_it, 554 void DeleteAndReturnUnusedResourcesToChild(ChildMap::iterator child_it,
559 DeleteStyle style, 555 DeleteStyle style,
560 const ResourceIdArray& unused); 556 const ResourceIdArray& unused);
561 void DestroyChildInternal(ChildMap::iterator it, DeleteStyle style); 557 void DestroyChildInternal(ChildMap::iterator it, DeleteStyle style);
562 void LazyCreate(Resource* resource); 558 void LazyCreate(Resource* resource);
563 void LazyAllocate(Resource* resource); 559 void LazyAllocate(Resource* resource);
564 560
565 void BindImageForSampling(Resource* resource); 561 void BindImageForSampling(Resource* resource);
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
660 return format_gl_data_format[format]; 656 return format_gl_data_format[format];
661 } 657 }
662 658
663 inline GLenum GLInternalFormat(ResourceFormat format) { 659 inline GLenum GLInternalFormat(ResourceFormat format) {
664 return GLDataFormat(format); 660 return GLDataFormat(format);
665 } 661 }
666 662
667 } // namespace cc 663 } // namespace cc
668 664
669 #endif // CC_RESOURCES_RESOURCE_PROVIDER_H_ 665 #endif // CC_RESOURCES_RESOURCE_PROVIDER_H_
OLDNEW
« no previous file with comments | « cc/resources/recording_source.h ('k') | cc/resources/resource_provider.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698