Index: cc/gl_renderer.cc |
diff --git a/cc/gl_renderer.cc b/cc/gl_renderer.cc |
index 54eef96e72702b364769cb97a438d2a338211053..982d08832e4565fb2b9c8441475efe0463eb1504 100644 |
--- a/cc/gl_renderer.cc |
+++ b/cc/gl_renderer.cc |
@@ -518,7 +518,8 @@ void GLRenderer::drawRenderPassQuad(DrawingFrame& frame, const RenderPassDrawQua |
gfx::Transform quadRectMatrix; |
quadRectTransform(&quadRectMatrix, quad->quadTransform(), quad->rect); |
- gfx::Transform contentsDeviceTransform = MathUtil::to2dTransform(frame.windowMatrix * frame.projectionMatrix * quadRectMatrix); |
+ gfx::Transform contentsDeviceTransform = frame.windowMatrix * frame.projectionMatrix * quadRectMatrix; |
+ contentsDeviceTransform.FlattenTo2d(); |
// Can only draw surface if device matrix is invertible. |
gfx::Transform contentsDeviceTransformInverse(gfx::Transform::kSkipInitialization); |
@@ -664,7 +665,7 @@ void GLRenderer::drawRenderPassQuad(DrawingFrame& frame, const RenderPassDrawQua |
GLC(context(), context()->uniform3fv(shaderEdgeLocation, 8, edge)); |
} |
- // Map device space quad to surface space. contentsDeviceTransform has no 3d component since it was generated with to2dTransform() so we don't need to project. |
+ // Map device space quad to surface space. contentsDeviceTransform has no 3d component since it was flattened, so we don't need to project. |
gfx::QuadF surfaceQuad = MathUtil::mapQuad(contentsDeviceTransformInverse, deviceLayerEdges.ToQuadF(), clipped); |
DCHECK(!clipped); |
@@ -769,7 +770,8 @@ void GLRenderer::drawTileQuad(const DrawingFrame& frame, const TileDrawQuad* qua |
gfx::QuadF localQuad; |
- gfx::Transform deviceTransform = MathUtil::to2dTransform(frame.windowMatrix * frame.projectionMatrix * quad->quadTransform()); |
+ gfx::Transform deviceTransform = frame.windowMatrix * frame.projectionMatrix * quad->quadTransform(); |
+ deviceTransform.FlattenTo2d(); |
if (!deviceTransform.IsInvertible()) |
return; |
@@ -860,7 +862,7 @@ void GLRenderer::drawTileQuad(const DrawingFrame& frame, const TileDrawQuad* qua |
// Create device space quad. |
LayerQuad deviceQuad(leftEdge, topEdge, rightEdge, bottomEdge); |
- // Map device space quad to local space. deviceTransform has no 3d component since it was generated with to2dTransform() so we don't need to project. |
+ // Map device space quad to local space. deviceTransform has no 3d component since it was flattened, so we don't need to project. |
// We should have already checked that the transform was uninvertible above. |
gfx::Transform inverseDeviceTransform(gfx::Transform::kSkipInitialization); |
bool didInvert = deviceTransform.GetInverse(&inverseDeviceTransform); |