Use pre-computed index to draw the shadow.
Also draw the umbra part as triangle fans instead of zig zag fashion.
b/12840179
Change-Id: Iaa5d15e77351acdd71f076bd8f9bb2d4d2b92faf
diff --git a/libs/hwui/OpenGLRenderer.h b/libs/hwui/OpenGLRenderer.h
index e4d133d..03beae3 100644
--- a/libs/hwui/OpenGLRenderer.h
+++ b/libs/hwui/OpenGLRenderer.h
@@ -117,6 +117,11 @@
kModelViewMode_TranslateAndScale = 1,
};
+enum VertexBufferMode {
+ kVertexBufferMode_Standard = 0,
+ kVertexBufferMode_Shadow = 1
+};
+
///////////////////////////////////////////////////////////////////////////////
// Renderer
///////////////////////////////////////////////////////////////////////////////
@@ -629,8 +634,8 @@
* @param paint The paint to render with
* @param useOffset Offset the vertexBuffer (used in drawing non-AA lines)
*/
- status_t drawVertexBuffer(const VertexBuffer& vertexBuffer, const SkPaint* paint,
- bool useOffset = false);
+ status_t drawVertexBuffer(VertexBufferMode mode, const VertexBuffer& vertexBuffer,
+ const SkPaint* paint, bool useOffset = false);
/**
* Renders the convex hull defined by the specified path as a strip of polygons.