diff options
| author | 2010-08-11 19:35:53 -0700 | |
|---|---|---|
| committer | 2010-08-11 19:35:53 -0700 | |
| commit | 959c91f7f7b4f921d341264f5b4ef54e702a0df0 (patch) | |
| tree | 0b6e7264bf5680cb2dea83cf587449fde9802034 /libs/hwui/OpenGLRenderer.cpp | |
| parent | 943fbb4f4006273ae5983da42143d721ae05dfd4 (diff) | |
Bunch of fixes.
Fixes memory leak, fixes multiple context support, fix 3d transforms.
Change-Id: I7462cfbc57857dbd4de4e76b9d4cba58a1bce77b
Diffstat (limited to 'libs/hwui/OpenGLRenderer.cpp')
| -rw-r--r-- | libs/hwui/OpenGLRenderer.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp index aaf7564a6764..3c1fe2a8090a 100644 --- a/libs/hwui/OpenGLRenderer.cpp +++ b/libs/hwui/OpenGLRenderer.cpp @@ -160,7 +160,9 @@ OpenGLRenderer::~OpenGLRenderer() { mTextureCache.clear(); mLayerCache.clear(); mGradientCache.clear(); + mPathCache.clear(); mPatchCache.clear(); + mProgramCache.clear(); } /////////////////////////////////////////////////////////////////////////////// @@ -410,8 +412,14 @@ const Rect& OpenGLRenderer::getClipBounds() { } bool OpenGLRenderer::quickReject(float left, float top, float right, float bottom) { - Rect r(left, top, right, bottom); - mSnapshot->transform.mapRect(r); + SkRect sr; + sr.set(left, top, right, bottom); + + SkMatrix m; + mSnapshot->transform.copyTo(m); + m.mapRect(&sr); + + Rect r(sr.fLeft, sr.fTop, sr.fRight, sr.fBottom); return !mSnapshot->clipRect.intersects(r); } |