Loading libs/hwui/DisplayListOp.h +3 −3 Original line number Diff line number Diff line Loading @@ -772,7 +772,7 @@ public: TextureVertex* vertex = &vertices[0]; const bool hasLayer = renderer.hasLayer(); bool transformed = false; bool pureTranslate = true; // TODO: manually handle rect clip for bitmaps by adjusting texCoords per op, // and allowing them to be merged in getBatchId() Loading @@ -782,7 +782,7 @@ public: // When we reach multiDraw(), the matrix can be either // pureTranslate or simple (translate and/or scale). // If the matrix is not pureTranslate, then we have a scale if (state.mMatrix.isPureTranslate()) transformed = true; pureTranslate &= state.mMatrix.isPureTranslate(); Rect texCoords(0, 0, 1, 1); ((DrawBitmapOp*) ops[i].op)->mUvMapper.map(texCoords); Loading @@ -801,7 +801,7 @@ public: } return renderer.drawBitmaps(mBitmap, mEntry, ops.size(), &vertices[0], transformed, bounds, mPaint); pureTranslate, bounds, mPaint); } virtual void output(int level, uint32_t logFlags) const { Loading libs/hwui/Matrix.cpp +1 −5 Original line number Diff line number Diff line Loading @@ -110,10 +110,6 @@ uint8_t Matrix4::getType() const { mType |= kTypeRectToRect; } } if (m00 > 0.0f && m11 > 0.0f) { mType |= kTypePositiveScale; } } return mType; } Loading @@ -127,7 +123,7 @@ bool Matrix4::rectToRect() const { } bool Matrix4::positiveScale() const { return getType() & kTypePositiveScale; return (data[kScaleX] > 0.0f && data[kScaleY] > 0.0f); } bool Matrix4::changesBounds() const { Loading libs/hwui/Matrix.h +1 −2 Original line number Diff line number Diff line Loading @@ -64,8 +64,7 @@ public: kTypeAffine = 0x4, kTypePerspective = 0x8, kTypeRectToRect = 0x10, kTypePositiveScale = 0x20, kTypeUnknown = 0x40, kTypeUnknown = 0x20, }; static const int sGeometryMask = 0xf; Loading libs/hwui/OpenGLRenderer.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -2096,7 +2096,7 @@ void OpenGLRenderer::drawAlphaBitmap(Texture* texture, float left, float top, Sk * The caller is responsible for properly dirtying the current layer. */ status_t OpenGLRenderer::drawBitmaps(SkBitmap* bitmap, AssetAtlas::Entry* entry, int bitmapCount, TextureVertex* vertices, bool transformed, const Rect& bounds, SkPaint* paint) { TextureVertex* vertices, bool pureTranslate, const Rect& bounds, SkPaint* paint) { mCaches.activeTexture(0); Texture* texture = entry ? entry->texture : mCaches.textureCache.get(bitmap); if (!texture) return DrawGlInfo::kStatusDone; Loading @@ -2108,7 +2108,7 @@ status_t OpenGLRenderer::drawBitmaps(SkBitmap* bitmap, AssetAtlas::Entry* entry, getAlphaAndMode(paint, &alpha, &mode); texture->setWrap(GL_CLAMP_TO_EDGE, true); texture->setFilter(transformed ? FILTER(paint) : GL_NEAREST, true); texture->setFilter(pureTranslate ? GL_NEAREST : FILTER(paint), true); const float x = (int) floorf(bounds.left + 0.5f); const float y = (int) floorf(bounds.top + 0.5f); Loading libs/hwui/OpenGLRenderer.h +1 −1 Original line number Diff line number Diff line Loading @@ -285,7 +285,7 @@ public: virtual status_t drawLayer(Layer* layer, float x, float y); virtual status_t drawBitmap(SkBitmap* bitmap, float left, float top, SkPaint* paint); status_t drawBitmaps(SkBitmap* bitmap, AssetAtlas::Entry* entry, int bitmapCount, TextureVertex* vertices, bool transformed, const Rect& bounds, SkPaint* paint); TextureVertex* vertices, bool pureTranslate, const Rect& bounds, SkPaint* paint); virtual status_t drawBitmap(SkBitmap* bitmap, SkMatrix* matrix, SkPaint* paint); virtual status_t drawBitmap(SkBitmap* bitmap, float srcLeft, float srcTop, float srcRight, float srcBottom, float dstLeft, float dstTop, Loading Loading
libs/hwui/DisplayListOp.h +3 −3 Original line number Diff line number Diff line Loading @@ -772,7 +772,7 @@ public: TextureVertex* vertex = &vertices[0]; const bool hasLayer = renderer.hasLayer(); bool transformed = false; bool pureTranslate = true; // TODO: manually handle rect clip for bitmaps by adjusting texCoords per op, // and allowing them to be merged in getBatchId() Loading @@ -782,7 +782,7 @@ public: // When we reach multiDraw(), the matrix can be either // pureTranslate or simple (translate and/or scale). // If the matrix is not pureTranslate, then we have a scale if (state.mMatrix.isPureTranslate()) transformed = true; pureTranslate &= state.mMatrix.isPureTranslate(); Rect texCoords(0, 0, 1, 1); ((DrawBitmapOp*) ops[i].op)->mUvMapper.map(texCoords); Loading @@ -801,7 +801,7 @@ public: } return renderer.drawBitmaps(mBitmap, mEntry, ops.size(), &vertices[0], transformed, bounds, mPaint); pureTranslate, bounds, mPaint); } virtual void output(int level, uint32_t logFlags) const { Loading
libs/hwui/Matrix.cpp +1 −5 Original line number Diff line number Diff line Loading @@ -110,10 +110,6 @@ uint8_t Matrix4::getType() const { mType |= kTypeRectToRect; } } if (m00 > 0.0f && m11 > 0.0f) { mType |= kTypePositiveScale; } } return mType; } Loading @@ -127,7 +123,7 @@ bool Matrix4::rectToRect() const { } bool Matrix4::positiveScale() const { return getType() & kTypePositiveScale; return (data[kScaleX] > 0.0f && data[kScaleY] > 0.0f); } bool Matrix4::changesBounds() const { Loading
libs/hwui/Matrix.h +1 −2 Original line number Diff line number Diff line Loading @@ -64,8 +64,7 @@ public: kTypeAffine = 0x4, kTypePerspective = 0x8, kTypeRectToRect = 0x10, kTypePositiveScale = 0x20, kTypeUnknown = 0x40, kTypeUnknown = 0x20, }; static const int sGeometryMask = 0xf; Loading
libs/hwui/OpenGLRenderer.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -2096,7 +2096,7 @@ void OpenGLRenderer::drawAlphaBitmap(Texture* texture, float left, float top, Sk * The caller is responsible for properly dirtying the current layer. */ status_t OpenGLRenderer::drawBitmaps(SkBitmap* bitmap, AssetAtlas::Entry* entry, int bitmapCount, TextureVertex* vertices, bool transformed, const Rect& bounds, SkPaint* paint) { TextureVertex* vertices, bool pureTranslate, const Rect& bounds, SkPaint* paint) { mCaches.activeTexture(0); Texture* texture = entry ? entry->texture : mCaches.textureCache.get(bitmap); if (!texture) return DrawGlInfo::kStatusDone; Loading @@ -2108,7 +2108,7 @@ status_t OpenGLRenderer::drawBitmaps(SkBitmap* bitmap, AssetAtlas::Entry* entry, getAlphaAndMode(paint, &alpha, &mode); texture->setWrap(GL_CLAMP_TO_EDGE, true); texture->setFilter(transformed ? FILTER(paint) : GL_NEAREST, true); texture->setFilter(pureTranslate ? GL_NEAREST : FILTER(paint), true); const float x = (int) floorf(bounds.left + 0.5f); const float y = (int) floorf(bounds.top + 0.5f); Loading
libs/hwui/OpenGLRenderer.h +1 −1 Original line number Diff line number Diff line Loading @@ -285,7 +285,7 @@ public: virtual status_t drawLayer(Layer* layer, float x, float y); virtual status_t drawBitmap(SkBitmap* bitmap, float left, float top, SkPaint* paint); status_t drawBitmaps(SkBitmap* bitmap, AssetAtlas::Entry* entry, int bitmapCount, TextureVertex* vertices, bool transformed, const Rect& bounds, SkPaint* paint); TextureVertex* vertices, bool pureTranslate, const Rect& bounds, SkPaint* paint); virtual status_t drawBitmap(SkBitmap* bitmap, SkMatrix* matrix, SkPaint* paint); virtual status_t drawBitmap(SkBitmap* bitmap, float srcLeft, float srcTop, float srcRight, float srcBottom, float dstLeft, float dstTop, Loading