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

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

Issue 444823002: Plumb allow_overlay flag to parent compositor. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: nits Created 6 years, 4 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 | « no previous file | cc/resources/resource_provider_unittest.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 #include "cc/resources/resource_provider.h" 5 #include "cc/resources/resource_provider.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <limits> 8 #include <limits>
9 9
10 #include "base/containers/hash_tables.h" 10 #include "base/containers/hash_tables.h"
(...skipping 1415 matching lines...) Expand 10 before | Expand all | Expand 10 after
1426 TextureUsageAny, 1426 TextureUsageAny,
1427 it->format); 1427 it->format);
1428 resource.mailbox = TextureMailbox(it->mailbox_holder.mailbox, 1428 resource.mailbox = TextureMailbox(it->mailbox_holder.mailbox,
1429 it->mailbox_holder.texture_target, 1429 it->mailbox_holder.texture_target,
1430 it->mailbox_holder.sync_point); 1430 it->mailbox_holder.sync_point);
1431 } 1431 }
1432 resource.child_id = child; 1432 resource.child_id = child;
1433 // Don't allocate a texture for a child. 1433 // Don't allocate a texture for a child.
1434 resource.allocated = true; 1434 resource.allocated = true;
1435 resource.imported_count = 1; 1435 resource.imported_count = 1;
1436 resource.allow_overlay = it->allow_overlay;
1436 child_info.parent_to_child_map[local_id] = it->id; 1437 child_info.parent_to_child_map[local_id] = it->id;
1437 child_info.child_to_parent_map[it->id] = local_id; 1438 child_info.child_to_parent_map[it->id] = local_id;
1438 } 1439 }
1439 } 1440 }
1440 1441
1441 void ResourceProvider::DeclareUsedResourcesFromChild( 1442 void ResourceProvider::DeclareUsedResourcesFromChild(
1442 int child, 1443 int child,
1443 const ResourceIdArray& resources_from_child) { 1444 const ResourceIdArray& resources_from_child) {
1444 DCHECK(thread_checker_.CalledOnValidThread()); 1445 DCHECK(thread_checker_.CalledOnValidThread());
1445 1446
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
1586 DCHECK(!source->locked_for_write); 1587 DCHECK(!source->locked_for_write);
1587 DCHECK(!source->lock_for_read_count); 1588 DCHECK(!source->lock_for_read_count);
1588 DCHECK(source->origin != Resource::External || source->mailbox.IsValid()); 1589 DCHECK(source->origin != Resource::External || source->mailbox.IsValid());
1589 DCHECK(source->allocated); 1590 DCHECK(source->allocated);
1590 resource->id = id; 1591 resource->id = id;
1591 resource->format = source->format; 1592 resource->format = source->format;
1592 resource->mailbox_holder.texture_target = source->target; 1593 resource->mailbox_holder.texture_target = source->target;
1593 resource->filter = source->filter; 1594 resource->filter = source->filter;
1594 resource->size = source->size; 1595 resource->size = source->size;
1595 resource->is_repeated = (source->wrap_mode == GL_REPEAT); 1596 resource->is_repeated = (source->wrap_mode == GL_REPEAT);
1597 resource->allow_overlay = source->allow_overlay;
1596 1598
1597 if (source->type == Bitmap) { 1599 if (source->type == Bitmap) {
1598 resource->mailbox_holder.mailbox = source->shared_bitmap_id; 1600 resource->mailbox_holder.mailbox = source->shared_bitmap_id;
1599 resource->is_software = true; 1601 resource->is_software = true;
1600 } else if (!source->mailbox.IsValid()) { 1602 } else if (!source->mailbox.IsValid()) {
1601 LazyCreate(source); 1603 LazyCreate(source);
1602 DCHECK(source->gl_id); 1604 DCHECK(source->gl_id);
1603 DCHECK(source->origin == Resource::Internal); 1605 DCHECK(source->origin == Resource::Internal);
1604 GLC(gl, 1606 GLC(gl,
1605 gl->BindTexture(resource->mailbox_holder.texture_target, 1607 gl->BindTexture(resource->mailbox_holder.texture_target,
(...skipping 644 matching lines...) Expand 10 before | Expand all | Expand 10 after
2250 ContextProvider* context_provider = output_surface_->context_provider(); 2252 ContextProvider* context_provider = output_surface_->context_provider();
2251 return context_provider ? context_provider->ContextGL() : NULL; 2253 return context_provider ? context_provider->ContextGL() : NULL;
2252 } 2254 }
2253 2255
2254 class GrContext* ResourceProvider::GrContext() const { 2256 class GrContext* ResourceProvider::GrContext() const {
2255 ContextProvider* context_provider = output_surface_->context_provider(); 2257 ContextProvider* context_provider = output_surface_->context_provider();
2256 return context_provider ? context_provider->GrContext() : NULL; 2258 return context_provider ? context_provider->GrContext() : NULL;
2257 } 2259 }
2258 2260
2259 } // namespace cc 2261 } // namespace cc
OLDNEW
« no previous file with comments | « no previous file | cc/resources/resource_provider_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698