Chromium Code Reviews| Index: cc/gl_renderer.cc |
| diff --git a/cc/gl_renderer.cc b/cc/gl_renderer.cc |
| index bb4ec4d3ee99d55d33be2886d435eee999f986cd..a8e8e6bf448e795db8e99f701d95a52a44c52be6 100644 |
| --- a/cc/gl_renderer.cc |
| +++ b/cc/gl_renderer.cc |
| @@ -526,10 +526,10 @@ void GLRenderer::drawRenderPassQuad(DrawingFrame& frame, const RenderPassDrawQua |
| gfx::Transform contentsDeviceTransform = MathUtil::to2dTransform(frame.windowMatrix * frame.projectionMatrix * quadRectMatrix); |
| // Can only draw surface if device matrix is invertible. |
| - if (!contentsDeviceTransform.IsInvertible()) |
| + gfx::Transform contentsDeviceTransformInverse(gfx::Transform::kSkipInitialization); |
| + if (!contentsDeviceTransform.GetInverse(&contentsDeviceTransformInverse)) |
| return; |
| - gfx::Transform contentsDeviceTransformInverse = MathUtil::inverse(contentsDeviceTransform); |
| scoped_ptr<ScopedResource> backgroundTexture = drawBackgroundFilters( |
| frame, quad, renderPass->background_filters, |
| contentsDeviceTransform, contentsDeviceTransformInverse); |
| @@ -867,8 +867,9 @@ void GLRenderer::drawTileQuad(const DrawingFrame& frame, const TileDrawQuad* qua |
| 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. |
| - gfx::Transform deviceTransformInverse = MathUtil::inverse(deviceTransform); |
| - localQuad = MathUtil::mapQuad(deviceTransformInverse, deviceQuad.ToQuadF(), clipped); |
| + gfx::Transform inverseDeviceTransform(gfx::Transform::kSkipInitialization); |
| + deviceTransform.GetInverse(&inverseDeviceTransform); |
|
danakj
2012/12/19 05:23:06
We checked deviceTransform.IsInvertible way up nea
|
| + localQuad = MathUtil::mapQuad(inverseDeviceTransform, deviceQuad.ToQuadF(), clipped); |
| // We should not DCHECK(!clipped) here, because anti-aliasing inflation may cause deviceQuad to become |
| // clipped. To our knowledge this scenario does not need to be handled differently than the unclipped case. |