| Index: cc/gl_renderer.cc
|
| diff --git a/cc/gl_renderer.cc b/cc/gl_renderer.cc
|
| index 83827a296b184abc2f360c137e00de636e88e5ae..e9fe3fc7e0a8361dc77b60c8fa1277cf8eff99fb 100644
|
| --- a/cc/gl_renderer.cc
|
| +++ b/cc/gl_renderer.cc
|
| @@ -519,7 +519,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);
|
| @@ -665,7 +666,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);
|
|
|
| @@ -770,7 +771,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;
|
|
|
| @@ -861,7 +863,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);
|
|
|