| Index: cc/gl_renderer.cc
|
| diff --git a/cc/gl_renderer.cc b/cc/gl_renderer.cc
|
| index 54eef96e72702b364769cb97a438d2a338211053..b0f42e2f076c63bef92cdb9f6d7f73372713248e 100644
|
| --- a/cc/gl_renderer.cc
|
| +++ b/cc/gl_renderer.cc
|
| @@ -41,6 +41,7 @@
|
| #include "third_party/skia/include/gpu/SkGrTexturePixelRef.h"
|
| #include "ui/gfx/quad_f.h"
|
| #include "ui/gfx/rect_conversions.h"
|
| +#include "ui/gfx/transform_util.h"
|
|
|
| using WebKit::WebGraphicsContext3D;
|
| using WebKit::WebGraphicsMemoryAllocation;
|
| @@ -518,7 +519,7 @@ 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 = gfx::CreateFlattenedTransform(frame.windowMatrix * frame.projectionMatrix * quadRectMatrix);
|
|
|
| // 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,7 @@ 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 = gfx::CreateFlattenedTransform(frame.windowMatrix * frame.projectionMatrix * quad->quadTransform());
|
| if (!deviceTransform.IsInvertible())
|
| return;
|
|
|
| @@ -860,7 +861,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);
|
|
|