Index: cc/layers/texture_layer_impl.cc |
diff --git a/cc/layers/texture_layer_impl.cc b/cc/layers/texture_layer_impl.cc |
index bcde7cd49ecbac99591a787453cad6ea9a739cd2..cf47066993e7946d37b0dc49c6fdefb2c02f26a0 100644 |
--- a/cc/layers/texture_layer_impl.cc |
+++ b/cc/layers/texture_layer_impl.cc |
@@ -23,6 +23,7 @@ TextureLayerImpl::TextureLayerImpl(LayerTreeImpl* tree_impl, int id) |
premultiplied_alpha_(true), |
blend_background_color_(false), |
flipped_(true), |
+ nearest_neighbor_(false), |
uv_top_left_(0.f, 0.f), |
uv_bottom_right_(1.f, 1.f), |
own_mailbox_(false), |
@@ -62,6 +63,7 @@ void TextureLayerImpl::PushPropertiesTo(LayerImpl* layer) { |
texture_layer->SetVertexOpacity(vertex_opacity_); |
texture_layer->SetPremultipliedAlpha(premultiplied_alpha_); |
texture_layer->SetBlendBackgroundColor(blend_background_color_); |
+ texture_layer->SetNearestNeighbor(nearest_neighbor_); |
if (own_mailbox_) { |
texture_layer->SetTextureMailbox(texture_mailbox_, |
release_callback_.Pass()); |
@@ -101,9 +103,12 @@ bool TextureLayerImpl::WillDraw(DrawMode draw_mode, |
resource_provider->InUseByConsumer(texture_copy_->id())) |
texture_copy_->Free(); |
+ //if (nearest_neighbor_) |
+ //texture_copy_->filter = GL_NEAREST; |
+ |
if (!texture_copy_->id()) { |
texture_copy_->Allocate(texture_mailbox_.shared_memory_size(), |
- ResourceProvider::TextureHintImmutable, |
+ ResourceProvider::TextureHintDefault, |
piman
2014/10/28 05:09:50
Why changing this? (and other places)
Immutability
jackhou1
2014/10/29 00:12:25
Oops, I wasn't sure if this mattered. Removed.
|
resource_provider->best_texture_format()); |
} |
@@ -135,8 +140,10 @@ bool TextureLayerImpl::WillDraw(DrawMode draw_mode, |
valid_texture_copy_ = true; |
} |
} |
- return (external_texture_resource_ || valid_texture_copy_) && |
+ bool result = (external_texture_resource_ || valid_texture_copy_) && |
LayerImpl::WillDraw(draw_mode, resource_provider); |
+ //printf("TextureLayerImpl::WillDraw %d %p\n", result, this); |
+ return result; |
} |
void TextureLayerImpl::AppendQuads(RenderPass* render_pass, |
@@ -166,6 +173,8 @@ void TextureLayerImpl::AppendQuads(RenderPass* render_pass, |
render_pass->CreateAndAppendDrawQuad<TextureDrawQuad>(); |
ResourceProvider::ResourceId id = |
valid_texture_copy_ ? texture_copy_->id() : external_texture_resource_; |
+ |
+ //printf("TextureLayerImpl::AppendQuads %d %d %p\n", nearest_neighbor_, id, this); |
quad->SetNew(shared_quad_state, |
quad_rect, |
opaque_rect, |
@@ -176,7 +185,8 @@ void TextureLayerImpl::AppendQuads(RenderPass* render_pass, |
uv_bottom_right_, |
bg_color, |
vertex_opacity_, |
- flipped_); |
+ flipped_, |
+ nearest_neighbor_); |
} |
SimpleEnclosedRegion TextureLayerImpl::VisibleContentOpaqueRegion() const { |
@@ -211,6 +221,12 @@ void TextureLayerImpl::SetFlipped(bool flipped) { |
SetNeedsPushProperties(); |
} |
+void TextureLayerImpl::SetNearestNeighbor(bool nearest_neighbor) { |
+ //printf("TextureLayerImpl::SetNearestNeighbor %d %p\n", nearest_neighbor, this); |
+ nearest_neighbor_ = nearest_neighbor; |
+ SetNeedsPushProperties(); |
+} |
+ |
void TextureLayerImpl::SetUVTopLeft(const gfx::PointF top_left) { |
uv_top_left_ = top_left; |
SetNeedsPushProperties(); |