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

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

Issue 1587283002: Switch cc to std::unordered_*. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@unordered-map
Patch Set: Fix MSVC build issue Created 4 years, 11 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/raster/task_graph_work_queue.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 <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 10
11 #include <deque> 11 #include <deque>
12 #include <set> 12 #include <set>
13 #include <string> 13 #include <string>
14 #include <unordered_map>
15 #include <unordered_set>
14 #include <utility> 16 #include <utility>
15 #include <vector> 17 #include <vector>
16 18
17 #include "base/callback.h" 19 #include "base/callback.h"
18 #include "base/containers/hash_tables.h"
19 #include "base/macros.h" 20 #include "base/macros.h"
20 #include "base/memory/linked_ptr.h" 21 #include "base/memory/linked_ptr.h"
21 #include "base/memory/scoped_ptr.h" 22 #include "base/memory/scoped_ptr.h"
22 #include "base/threading/thread_checker.h" 23 #include "base/threading/thread_checker.h"
23 #include "base/trace_event/memory_allocator_dump.h" 24 #include "base/trace_event/memory_allocator_dump.h"
24 #include "base/trace_event/memory_dump_provider.h" 25 #include "base/trace_event/memory_dump_provider.h"
25 #include "cc/base/cc_export.h" 26 #include "cc/base/cc_export.h"
26 #include "cc/base/resource_id.h" 27 #include "cc/base/resource_id.h"
27 #include "cc/output/context_provider.h" 28 #include "cc/output/context_provider.h"
28 #include "cc/output/output_surface.h" 29 #include "cc/output/output_surface.h"
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 class SharedBitmapManager; 62 class SharedBitmapManager;
62 63
63 // This class is not thread-safe and can only be called from the thread it was 64 // This class is not thread-safe and can only be called from the thread it was
64 // created on (in practice, the impl thread). 65 // created on (in practice, the impl thread).
65 class CC_EXPORT ResourceProvider 66 class CC_EXPORT ResourceProvider
66 : public base::trace_event::MemoryDumpProvider { 67 : public base::trace_event::MemoryDumpProvider {
67 private: 68 private:
68 struct Resource; 69 struct Resource;
69 70
70 public: 71 public:
71 typedef std::vector<ResourceId> ResourceIdArray; 72 using ResourceIdArray = std::vector<ResourceId>;
72 typedef base::hash_set<ResourceId> ResourceIdSet; 73 using ResourceIdSet = std::unordered_set<ResourceId>;
73 typedef base::hash_map<ResourceId, ResourceId> ResourceIdMap; 74 using ResourceIdMap = std::unordered_map<ResourceId, ResourceId>;
74 enum TextureHint { 75 enum TextureHint {
75 TEXTURE_HINT_DEFAULT = 0x0, 76 TEXTURE_HINT_DEFAULT = 0x0,
76 TEXTURE_HINT_IMMUTABLE = 0x1, 77 TEXTURE_HINT_IMMUTABLE = 0x1,
77 TEXTURE_HINT_FRAMEBUFFER = 0x2, 78 TEXTURE_HINT_FRAMEBUFFER = 0x2,
78 TEXTURE_HINT_IMMUTABLE_FRAMEBUFFER = 79 TEXTURE_HINT_IMMUTABLE_FRAMEBUFFER =
79 TEXTURE_HINT_IMMUTABLE | TEXTURE_HINT_FRAMEBUFFER 80 TEXTURE_HINT_IMMUTABLE | TEXTURE_HINT_FRAMEBUFFER
80 }; 81 };
81 enum ResourceType { 82 enum ResourceType {
82 RESOURCE_TYPE_GPU_MEMORY_BUFFER, 83 RESOURCE_TYPE_GPU_MEMORY_BUFFER,
83 RESOURCE_TYPE_GL_TEXTURE, 84 RESOURCE_TYPE_GL_TEXTURE,
(...skipping 410 matching lines...) Expand 10 before | Expand all | Expand 10 after
494 GLenum filter; 495 GLenum filter;
495 unsigned image_id; 496 unsigned image_id;
496 unsigned bound_image_id; 497 unsigned bound_image_id;
497 TextureHint hint; 498 TextureHint hint;
498 ResourceType type; 499 ResourceType type;
499 ResourceFormat format; 500 ResourceFormat format;
500 SharedBitmapId shared_bitmap_id; 501 SharedBitmapId shared_bitmap_id;
501 SharedBitmap* shared_bitmap; 502 SharedBitmap* shared_bitmap;
502 gfx::GpuMemoryBuffer* gpu_memory_buffer; 503 gfx::GpuMemoryBuffer* gpu_memory_buffer;
503 }; 504 };
504 typedef base::hash_map<ResourceId, Resource> ResourceMap; 505 using ResourceMap = std::unordered_map<ResourceId, Resource>;
505 506
506 struct Child { 507 struct Child {
507 Child(); 508 Child();
508 ~Child(); 509 ~Child();
509 510
510 ResourceIdMap child_to_parent_map; 511 ResourceIdMap child_to_parent_map;
511 ResourceIdMap parent_to_child_map; 512 ResourceIdMap parent_to_child_map;
512 ReturnCallback return_callback; 513 ReturnCallback return_callback;
513 bool marked_for_deletion; 514 bool marked_for_deletion;
514 bool needs_sync_tokens; 515 bool needs_sync_tokens;
515 }; 516 };
516 typedef base::hash_map<int, Child> ChildMap; 517 using ChildMap = std::unordered_map<int, Child>;
517 518
518 bool ReadLockFenceHasPassed(const Resource* resource) { 519 bool ReadLockFenceHasPassed(const Resource* resource) {
519 return !resource->read_lock_fence.get() || 520 return !resource->read_lock_fence.get() ||
520 resource->read_lock_fence->HasPassed(); 521 resource->read_lock_fence->HasPassed();
521 } 522 }
522 523
523 ResourceId CreateGLTexture(const gfx::Size& size, 524 ResourceId CreateGLTexture(const gfx::Size& size,
524 TextureHint hint, 525 TextureHint hint,
525 ResourceType type, 526 ResourceType type,
526 ResourceFormat format); 527 ResourceFormat format);
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
597 // A process-unique ID used for disambiguating memory dumps from different 598 // A process-unique ID used for disambiguating memory dumps from different
598 // resource providers. 599 // resource providers.
599 int tracing_id_; 600 int tracing_id_;
600 601
601 DISALLOW_COPY_AND_ASSIGN(ResourceProvider); 602 DISALLOW_COPY_AND_ASSIGN(ResourceProvider);
602 }; 603 };
603 604
604 } // namespace cc 605 } // namespace cc
605 606
606 #endif // CC_RESOURCES_RESOURCE_PROVIDER_H_ 607 #endif // CC_RESOURCES_RESOURCE_PROVIDER_H_
OLDNEW
« no previous file with comments | « cc/raster/task_graph_work_queue.cc ('k') | cc/resources/resource_provider.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698