summaryrefslogtreecommitdiff
path: root/libs/hwui/OpenGLRenderer.cpp
diff options
context:
space:
mode:
author Romain Guy <romainguy@google.com> 2010-08-11 19:35:53 -0700
committer Romain Guy <romainguy@google.com> 2010-08-11 19:35:53 -0700
commit959c91f7f7b4f921d341264f5b4ef54e702a0df0 (patch)
tree0b6e7264bf5680cb2dea83cf587449fde9802034 /libs/hwui/OpenGLRenderer.cpp
parent943fbb4f4006273ae5983da42143d721ae05dfd4 (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.cpp12
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);
}