author | Robert O'Callahan <robert@ocallahan.org> |
Thu, 23 Jun 2011 00:11:27 +1200 | |
changeset 71516 | 7853e5cf72f7700cfe63e4c9e25315800e2fb52d |
parent 71513 | ff8bd5d40a57621efc07de0ddcd46e155e63ad4b |
child 71517 | c9dd59391c7d104e4d9faa863b3cbf655f562a41 |
push id | 20559 |
push user | eakhgari@mozilla.com |
push date | Wed, 22 Jun 2011 19:51:00 +0000 |
treeherder | mozilla-central@cd95d565c4d9 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | tnikkel |
bugs | 637852 |
milestone | 7.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/gfx/layers/basic/BasicLayers.cpp +++ b/gfx/layers/basic/BasicLayers.cpp @@ -495,16 +495,27 @@ public: referenceSurface = BasicManager()->GetTarget()->CurrentSurface(); } } } return referenceSurface->CreateSimilarSurface( aType, gfxIntSize(aSize.width, aSize.height)); } + virtual void ComputeEffectiveTransforms(const gfx3DMatrix& aTransformToSurface) + { + if (!BasicManager()->IsRetained()) { + // Don't do any snapping of our transform, since we're just going to + // draw straight through without intermediate buffers. + mEffectiveTransform = GetLocalTransform()*aTransformToSurface; + return; + } + ThebesLayer::ComputeEffectiveTransforms(aTransformToSurface); + } + protected: BasicLayerManager* BasicManager() { return static_cast<BasicLayerManager*>(mManager); } virtual void PaintBuffer(gfxContext* aContext,