diff options
author | Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> | 2016-05-09 14:22:11 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2016-05-09 15:11:45 +0000 |
commit | 2ddb2d3e14eef3de7dbd0cef553d669b9ac2361c (patch) | |
tree | e75f511546c5fd1a173e87c1f9fb11d7ac8d1af3 /chromium/cc/layers/texture_layer_impl.cc | |
parent | a4f3d46271c57e8155ba912df46a05559d14726e (diff) |
BASELINE: Update Chromium to 51.0.2704.41
Also adds in all smaller components by reversing logic for exclusion.
Change-Id: Ibf90b506e7da088ea2f65dcf23f2b0992c504422
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Diffstat (limited to 'chromium/cc/layers/texture_layer_impl.cc')
-rw-r--r-- | chromium/cc/layers/texture_layer_impl.cc | 40 |
1 files changed, 21 insertions, 19 deletions
diff --git a/chromium/cc/layers/texture_layer_impl.cc b/chromium/cc/layers/texture_layer_impl.cc index 0d2f4e7558a..27d3c971f64 100644 --- a/chromium/cc/layers/texture_layer_impl.cc +++ b/chromium/cc/layers/texture_layer_impl.cc @@ -10,7 +10,9 @@ #include <vector> #include "base/strings/stringprintf.h" +#include "cc/output/output_surface.h" #include "cc/output/renderer.h" +#include "cc/quads/solid_color_draw_quad.h" #include "cc/quads/texture_draw_quad.h" #include "cc/resources/platform_color.h" #include "cc/resources/scoped_resource.h" @@ -131,6 +133,7 @@ bool TextureLayerImpl::WillDraw(DrawMode draw_mode, resource_provider->CopyToResource(texture_copy_->id(), pixels, texture_mailbox_.size_in_pixels()); + resource_provider->GenerateSyncTokenForResource(texture_copy_->id()); valid_texture_copy_ = true; } @@ -162,26 +165,25 @@ void TextureLayerImpl::AppendQuads(RenderPass* render_pass, if (visible_quad_rect.IsEmpty()) return; - TextureDrawQuad* quad = - render_pass->CreateAndAppendDrawQuad<TextureDrawQuad>(); - ResourceId id = - valid_texture_copy_ ? texture_copy_->id() : external_texture_resource_; - quad->SetNew(shared_quad_state, - quad_rect, - opaque_rect, - visible_quad_rect, - id, - premultiplied_alpha_, - uv_top_left_, - uv_bottom_right_, - bg_color, - vertex_opacity_, - flipped_, - nearest_neighbor_); - if (!valid_texture_copy_) { - quad->set_resource_size_in_pixels(texture_mailbox_.size_in_pixels()); + if (!texture_mailbox_.secure_output_only() || + (layer_tree_impl()->OutputIsSecure() && !InsideCopyRequest())) { + TextureDrawQuad* quad = + render_pass->CreateAndAppendDrawQuad<TextureDrawQuad>(); + ResourceId id = + valid_texture_copy_ ? texture_copy_->id() : external_texture_resource_; + quad->SetNew(shared_quad_state, quad_rect, opaque_rect, visible_quad_rect, + id, premultiplied_alpha_, uv_top_left_, uv_bottom_right_, + bg_color, vertex_opacity_, flipped_, nearest_neighbor_); + if (!valid_texture_copy_) { + quad->set_resource_size_in_pixels(texture_mailbox_.size_in_pixels()); + } + ValidateQuadResources(quad); + } else { + SolidColorDrawQuad* quad = + render_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); + quad->SetNew(shared_quad_state, quad_rect, visible_quad_rect, SK_ColorBLACK, + false); } - ValidateQuadResources(quad); } SimpleEnclosedRegion TextureLayerImpl::VisibleOpaqueRegion() const { |