| 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 #include "cc/resources/resource_provider.h" | 5 #include "cc/resources/resource_provider.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <algorithm> | 10 #include <algorithm> |
| (...skipping 1659 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1670 | 1670 |
| 1671 for (const auto& children : resources_for_child) { | 1671 for (const auto& children : resources_for_child) { |
| 1672 ChildMap::iterator child_it = children_.find(children.first); | 1672 ChildMap::iterator child_it = children_.find(children.first); |
| 1673 DCHECK(child_it != children_.end()); | 1673 DCHECK(child_it != children_.end()); |
| 1674 DeleteAndReturnUnusedResourcesToChild(child_it, NORMAL, children.second); | 1674 DeleteAndReturnUnusedResourcesToChild(child_it, NORMAL, children.second); |
| 1675 } | 1675 } |
| 1676 } | 1676 } |
| 1677 | 1677 |
| 1678 #if defined(OS_ANDROID) | 1678 #if defined(OS_ANDROID) |
| 1679 void ResourceProvider::SendPromotionHints( | 1679 void ResourceProvider::SendPromotionHints( |
| 1680 const ResourceIdSet& promotable_hints) { | 1680 const OverlayCandidateList::PromotionHintInfoMap& promotion_hints) { |
| 1681 GLES2Interface* gl = ContextGL(); |
| 1682 if (!gl) |
| 1683 return; |
| 1684 |
| 1681 for (const auto& id : wants_promotion_hints_set_) { | 1685 for (const auto& id : wants_promotion_hints_set_) { |
| 1686 const ResourceMap::iterator it = resources_.find(id); |
| 1687 if (it == resources_.end()) |
| 1688 continue; |
| 1689 |
| 1690 if (it->second.marked_for_deletion) |
| 1691 continue; |
| 1692 |
| 1682 const Resource* resource = LockForRead(id); | 1693 const Resource* resource = LockForRead(id); |
| 1683 DCHECK(resource->wants_promotion_hint); | 1694 DCHECK(resource->wants_promotion_hint); |
| 1684 | 1695 |
| 1685 // Insist that this is backed by a GPU texture. | 1696 // Insist that this is backed by a GPU texture. |
| 1686 if (IsGpuResourceType(resource->type)) { | 1697 if (IsGpuResourceType(resource->type)) { |
| 1687 DCHECK(resource->gl_id); | 1698 DCHECK(resource->gl_id); |
| 1688 // TODO(liberato): Here we would either construct a set to send all at | 1699 auto iter = promotion_hints.find(id); |
| 1689 // once, or send the promotion hint individually to resource->gl_id, based | 1700 bool promotable = iter != promotion_hints.end(); |
| 1690 // on whether promtable_hints.count(it->first) > 0 . | 1701 gl->SendOverlayPromotionHintCHROMIUM(resource->gl_id, promotable, |
| 1691 // crbug.com/671357 | 1702 promotable ? iter->second.x() : 0, |
| 1703 promotable ? iter->second.y() : 0); |
| 1692 } | 1704 } |
| 1693 UnlockForRead(id); | 1705 UnlockForRead(id); |
| 1694 } | 1706 } |
| 1695 } | 1707 } |
| 1696 #endif | 1708 #endif |
| 1697 | 1709 |
| 1698 void ResourceProvider::CreateMailboxAndBindResource( | 1710 void ResourceProvider::CreateMailboxAndBindResource( |
| 1699 gpu::gles2::GLES2Interface* gl, | 1711 gpu::gles2::GLES2Interface* gl, |
| 1700 Resource* resource) { | 1712 Resource* resource) { |
| 1701 DCHECK(IsGpuResourceType(resource->type)); | 1713 DCHECK(IsGpuResourceType(resource->type)); |
| (...skipping 435 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2137 | 2149 |
| 2138 const int kImportance = 2; | 2150 const int kImportance = 2; |
| 2139 pmd->CreateSharedGlobalAllocatorDump(guid); | 2151 pmd->CreateSharedGlobalAllocatorDump(guid); |
| 2140 pmd->AddOwnershipEdge(dump->guid(), guid, kImportance); | 2152 pmd->AddOwnershipEdge(dump->guid(), guid, kImportance); |
| 2141 } | 2153 } |
| 2142 | 2154 |
| 2143 return true; | 2155 return true; |
| 2144 } | 2156 } |
| 2145 | 2157 |
| 2146 } // namespace cc | 2158 } // namespace cc |
| OLD | NEW |