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

Side by Side Diff: cc/tiled_layer_impl.cc

Issue 11358181: Use nearest neighbor filtering for non-translated quads (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Created 8 years, 1 month 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | cc/tiled_layer_impl_unittest.cc » ('j') | cc/tiled_layer_impl_unittest.cc » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2011 The Chromium Authors. All rights reserved. 1 // Copyright 2011 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 "config.h" 5 #include "config.h"
6 6
7 #include "cc/tiled_layer_impl.h" 7 #include "cc/tiled_layer_impl.h"
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/stringprintf.h" 10 #include "base/stringprintf.h"
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
191 bool clipped = false; 191 bool clipped = false;
192 gfx::QuadF visibleContentInTargetQuad = MathUtil::mapQuad(drawTransf orm(), gfx::QuadF(visibleContentRect()), clipped); 192 gfx::QuadF visibleContentInTargetQuad = MathUtil::mapQuad(drawTransf orm(), gfx::QuadF(visibleContentRect()), clipped);
193 bool isAxisAlignedInTarget = !clipped && visibleContentInTargetQuad. IsRectilinear(); 193 bool isAxisAlignedInTarget = !clipped && visibleContentInTargetQuad. IsRectilinear();
194 bool useAA = m_tiler->hasBorderTexels() && !isAxisAlignedInTarget; 194 bool useAA = m_tiler->hasBorderTexels() && !isAxisAlignedInTarget;
195 195
196 bool leftEdgeAA = !i && useAA; 196 bool leftEdgeAA = !i && useAA;
197 bool topEdgeAA = !j && useAA; 197 bool topEdgeAA = !j && useAA;
198 bool rightEdgeAA = i == m_tiler->numTilesX() - 1 && useAA; 198 bool rightEdgeAA = i == m_tiler->numTilesX() - 1 && useAA;
199 bool bottomEdgeAA = j == m_tiler->numTilesY() - 1 && useAA; 199 bool bottomEdgeAA = j == m_tiler->numTilesY() - 1 && useAA;
200 200
201 const GLint textureFilter = m_tiler->hasBorderTexels() ? GL_LINEAR : GL_NEAREST; 201 const GLint textureFilter = m_tiler->hasBorderTexels() && !drawTrans form().isIdentityOrTranslation() ? GL_LINEAR : GL_NEAREST;
jamesr 2012/11/09 18:40:09 for non-integer translations we still need GL_LINE
Sami 2012/11/11 16:56:27 Excellent point. I've changed this to use isIntege
202 quadSink.append(TileDrawQuad::create(sharedQuadState, tileRect, tile OpaqueRect, tile->resourceId(), textureOffset, textureSize, textureFilter, tile- >contentsSwizzled(), leftEdgeAA, topEdgeAA, rightEdgeAA, bottomEdgeAA).PassAs<Dr awQuad>(), appendQuadsData); 202 quadSink.append(TileDrawQuad::create(sharedQuadState, tileRect, tile OpaqueRect, tile->resourceId(), textureOffset, textureSize, textureFilter, tile- >contentsSwizzled(), leftEdgeAA, topEdgeAA, rightEdgeAA, bottomEdgeAA).PassAs<Dr awQuad>(), appendQuadsData);
203 } 203 }
204 } 204 }
205 } 205 }
206 206
207 void TiledLayerImpl::setTilingData(const LayerTilingData& tiler) 207 void TiledLayerImpl::setTilingData(const LayerTilingData& tiler)
208 { 208 {
209 if (m_tiler) 209 if (m_tiler)
210 m_tiler->reset(); 210 m_tiler->reset();
211 else 211 else
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
246 { 246 {
247 m_tiler->reset(); 247 m_tiler->reset();
248 } 248 }
249 249
250 const char* TiledLayerImpl::layerTypeAsString() const 250 const char* TiledLayerImpl::layerTypeAsString() const
251 { 251 {
252 return "ContentLayer"; 252 return "ContentLayer";
253 } 253 }
254 254
255 } // namespace cc 255 } // namespace cc
OLDNEW
« no previous file with comments | « no previous file | cc/tiled_layer_impl_unittest.cc » ('j') | cc/tiled_layer_impl_unittest.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698