Index: cc/layer_tree_host_common.cc |
diff --git a/cc/layer_tree_host_common.cc b/cc/layer_tree_host_common.cc |
index b9fc38083f32150ab968b4c6e0e2770216c7a2be..bdd0aff1a04737ba8650c4464e775d0e3f87266b 100644 |
--- a/cc/layer_tree_host_common.cc |
+++ b/cc/layer_tree_host_common.cc |
@@ -390,7 +390,7 @@ static inline void updateLayerContentsScale(Layer* layer, const gfx::Transform& |
rasterScale = 1; |
if (!animatingTransformToScreen && layer->automaticallyComputeRasterScale()) { |
- gfx::Vector2dF transformScale = MathUtil::computeTransform2dScaleComponents(combinedTransform); |
+ gfx::Vector2dF transformScale = MathUtil::computeTransform2dScaleComponents(combinedTransform, 1.f); |
enne (OOO)
2012/12/20 19:43:36
This is 1, because the contents scaling layers wil
danakj
2012/12/20 22:42:30
This is 1 because we multiply by device scale fact
enne (OOO)
2012/12/20 23:18:48
True. If you pick 1, then rasterScale = 1 / DSF o
danakj
2012/12/20 23:20:57
The reason we do it this way, and it's so differen
|
float combinedScale = std::max(transformScale.x(), transformScale.y()); |
rasterScale = combinedScale / deviceScaleFactor; |
if (!layer->boundsContainPageScale()) |
@@ -660,7 +660,7 @@ static void calculateDrawPropertiesInternal(LayerType* layer, const gfx::Transfo |
gfx::Transform nextHierarchyMatrix = fullHierarchyMatrix; |
gfx::Transform sublayerMatrix; |
- gfx::Vector2dF renderSurfaceSublayerScale = MathUtil::computeTransform2dScaleComponents(combinedTransform); |
+ gfx::Vector2dF renderSurfaceSublayerScale = MathUtil::computeTransform2dScaleComponents(combinedTransform, deviceScaleFactor * pageScaleFactor); |
if (subtreeShouldRenderToSeparateSurface(layer, combinedTransform.IsScaleOrTranslation())) { |
// Check back-face visibility before continuing with this surface and its subtree |