diff options
| author | Romain Guy <romainguy@google.com> | 2010-10-12 15:59:26 -0700 |
|---|---|---|
| committer | Romain Guy <romainguy@google.com> | 2010-10-12 15:59:26 -0700 |
| commit | 4bb942083a0d4db746adf95349108dd8ef842e32 (patch) | |
| tree | 7707bc9551f3db4ad0561c30c73293e4a0edfbf2 /libs/hwui/OpenGLRenderer.cpp | |
| parent | 5a3b8e698e276839e502dcf41894b56ad59695c3 (diff) | |
| download | frameworks_base-4bb942083a0d4db746adf95349108dd8ef842e32.zip frameworks_base-4bb942083a0d4db746adf95349108dd8ef842e32.tar.gz frameworks_base-4bb942083a0d4db746adf95349108dd8ef842e32.tar.bz2 | |
Optimize 9patch rendering.
This change detects empty quads in 9patches and removes them from
the mesh to avoid unnecessary blending.
Change-Id: I4500566fb4cb6845d64dcb59b522c0be7a0ec704
Diffstat (limited to 'libs/hwui/OpenGLRenderer.cpp')
| -rw-r--r-- | libs/hwui/OpenGLRenderer.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp index cb23680..e965e61 100644 --- a/libs/hwui/OpenGLRenderer.cpp +++ b/libs/hwui/OpenGLRenderer.cpp @@ -689,8 +689,8 @@ void OpenGLRenderer::drawBitmap(SkBitmap* bitmap, } void OpenGLRenderer::drawPatch(SkBitmap* bitmap, const int32_t* xDivs, const int32_t* yDivs, - uint32_t width, uint32_t height, float left, float top, float right, float bottom, - const SkPaint* paint) { + const uint32_t* colors, uint32_t width, uint32_t height, int8_t numColors, + float left, float top, float right, float bottom, const SkPaint* paint) { if (quickReject(left, top, right, bottom)) { return; } @@ -705,7 +705,7 @@ void OpenGLRenderer::drawPatch(SkBitmap* bitmap, const int32_t* xDivs, const int getAlphaAndMode(paint, &alpha, &mode); const Patch* mesh = mCaches.patchCache.get(bitmap->width(), bitmap->height(), - right - left, bottom - top, xDivs, yDivs, width, height); + right - left, bottom - top, xDivs, yDivs, colors, width, height, numColors); // Specify right and bottom as +1.0f from left/top to prevent scaling since the // patch mesh already defines the final size |
