Index: cc/blink/web_external_texture_layer_impl.cc |
diff --git a/cc/blink/web_external_texture_layer_impl.cc b/cc/blink/web_external_texture_layer_impl.cc |
index 85aac10fe0d079a16c7ac103acfabb8f3a181839..9d0abd01dce49d3d314d13a99d556ecadde21033 100644 |
--- a/cc/blink/web_external_texture_layer_impl.cc |
+++ b/cc/blink/web_external_texture_layer_impl.cc |
@@ -24,7 +24,9 @@ namespace cc_blink { |
WebExternalTextureLayerImpl::WebExternalTextureLayerImpl( |
blink::WebExternalTextureLayerClient* client) |
- : client_(client) { |
+ : client_(client), |
+ nearest_neighbor_(false) { |
+ //printf("WebExternalTextureLayerImpl %c\n", (client_ ? '1' : '0')); |
cc::TextureLayerClient* cc_client = client_ ? this : nullptr; |
scoped_refptr<TextureLayer> layer = TextureLayer::CreateForMailbox(cc_client); |
layer->SetIsDrawable(true); |
@@ -62,6 +64,14 @@ void WebExternalTextureLayerImpl::setRateLimitContext(bool rate_limit) { |
static_cast<TextureLayer*>(layer_->layer())->SetRateLimitContext(rate_limit); |
} |
+void WebExternalTextureLayerImpl::setFilterLevel( |
+ SkPaint::FilterLevel filter_level) { |
+ //printf("WebExternalTextureLayerImpl::setFilterLevel %d\n", filter_level == SkPaint::kNone_FilterLevel); |
+ nearest_neighbor_ = filter_level == SkPaint::kNone_FilterLevel; |
+ static_cast<TextureLayer*>(layer_->layer()) |
+ ->SetNearestNeighbor(nearest_neighbor_); |
+} |
+ |
bool WebExternalTextureLayerImpl::PrepareTextureMailbox( |
cc::TextureMailbox* mailbox, |
scoped_ptr<cc::SingleReleaseCallback>* release_callback, |
@@ -85,6 +95,7 @@ bool WebExternalTextureLayerImpl::PrepareTextureMailbox( |
cc::TextureMailbox(name, GL_TEXTURE_2D, client_mailbox.syncPoint); |
} |
mailbox->set_allow_overlay(client_mailbox.allowOverlay); |
+ mailbox->set_nearest_neighbor(nearest_neighbor_); |
piman
2014/10/28 05:09:50
This should not be set indiscriminately, but based
jackhou1
2014/10/29 00:12:24
Done.
|
if (mailbox->IsValid()) { |
*release_callback = cc::SingleReleaseCallback::Create( |