diff options
author | alokp@chromium.org <alokp@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-12 05:33:49 +0000 |
---|---|---|
committer | alokp@chromium.org <alokp@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-12 05:33:49 +0000 |
commit | d18b4d6ed525c87c4126142c22de05d47502fff5 (patch) | |
tree | 544f3ad9bbb7a66045c9716d4dea636adcdf11df /cc/layers/nine_patch_layer_impl.cc | |
parent | 92594aa101db0a68e7c93ee9d5aec78a38403d86 (diff) | |
download | chromium_src-d18b4d6ed525c87c4126142c22de05d47502fff5.zip chromium_src-d18b4d6ed525c87c4126142c22de05d47502fff5.tar.gz chromium_src-d18b4d6ed525c87c4126142c22de05d47502fff5.tar.bz2 |
Blend TextureLayer background-color at draw time.
This enables the following optimization:
1. The compositor will be able to disable GL blending
if the background-color is opaque.
2. For elements that paint directly to a texture layer,
i.e. accelerated canvas, video, etc., there is no need to
allocate an additional layer just to paint the background.
BUG=236982
Review URL: https://chromiumcodereview.appspot.com/18432002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@211339 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/layers/nine_patch_layer_impl.cc')
-rw-r--r-- | cc/layers/nine_patch_layer_impl.cc | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/cc/layers/nine_patch_layer_impl.cc b/cc/layers/nine_patch_layer_impl.cc index 57723a0..103f765 100644 --- a/cc/layers/nine_patch_layer_impl.cc +++ b/cc/layers/nine_patch_layer_impl.cc @@ -179,7 +179,9 @@ void NinePatchLayerImpl::AppendQuads(QuadSink* quad_sink, premultiplied_alpha, uv_top_left.origin(), uv_top_left.bottom_right(), - vertex_opacity, flipped); + SK_ColorTRANSPARENT, + vertex_opacity, + flipped); quad_sink->Append(quad.PassAs<DrawQuad>(), append_quads_data); quad = TextureDrawQuad::Create(); @@ -190,7 +192,9 @@ void NinePatchLayerImpl::AppendQuads(QuadSink* quad_sink, premultiplied_alpha, uv_top_right.origin(), uv_top_right.bottom_right(), - vertex_opacity, flipped); + SK_ColorTRANSPARENT, + vertex_opacity, + flipped); quad_sink->Append(quad.PassAs<DrawQuad>(), append_quads_data); quad = TextureDrawQuad::Create(); @@ -201,6 +205,7 @@ void NinePatchLayerImpl::AppendQuads(QuadSink* quad_sink, premultiplied_alpha, uv_bottom_left.origin(), uv_bottom_left.bottom_right(), + SK_ColorTRANSPARENT, vertex_opacity, flipped); quad_sink->Append(quad.PassAs<DrawQuad>(), append_quads_data); @@ -213,6 +218,7 @@ void NinePatchLayerImpl::AppendQuads(QuadSink* quad_sink, premultiplied_alpha, uv_bottom_right.origin(), uv_bottom_right.bottom_right(), + SK_ColorTRANSPARENT, vertex_opacity, flipped); quad_sink->Append(quad.PassAs<DrawQuad>(), append_quads_data); @@ -225,6 +231,7 @@ void NinePatchLayerImpl::AppendQuads(QuadSink* quad_sink, premultiplied_alpha, uv_top.origin(), uv_top.bottom_right(), + SK_ColorTRANSPARENT, vertex_opacity, flipped); quad_sink->Append(quad.PassAs<DrawQuad>(), append_quads_data); @@ -237,6 +244,7 @@ void NinePatchLayerImpl::AppendQuads(QuadSink* quad_sink, premultiplied_alpha, uv_left.origin(), uv_left.bottom_right(), + SK_ColorTRANSPARENT, vertex_opacity, flipped); quad_sink->Append(quad.PassAs<DrawQuad>(), append_quads_data); @@ -249,6 +257,7 @@ void NinePatchLayerImpl::AppendQuads(QuadSink* quad_sink, premultiplied_alpha, uv_right.origin(), uv_right.bottom_right(), + SK_ColorTRANSPARENT, vertex_opacity, flipped); quad_sink->Append(quad.PassAs<DrawQuad>(), append_quads_data); @@ -261,6 +270,7 @@ void NinePatchLayerImpl::AppendQuads(QuadSink* quad_sink, premultiplied_alpha, uv_bottom.origin(), uv_bottom.bottom_right(), + SK_ColorTRANSPARENT, vertex_opacity, flipped); quad_sink->Append(quad.PassAs<DrawQuad>(), append_quads_data); |