diff options
Diffstat (limited to 'libs/hwui/OpenGLRenderer.cpp')
-rw-r--r-- | libs/hwui/OpenGLRenderer.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp index 22cd2d4..4f6da2b 100644 --- a/libs/hwui/OpenGLRenderer.cpp +++ b/libs/hwui/OpenGLRenderer.cpp @@ -3194,10 +3194,18 @@ status_t OpenGLRenderer::drawShadow(const mat4& casterTransform, float casterAlp paint.setColor(mCaches.propertyShadowStrength << 24); paint.setAntiAlias(true); // want to use AlphaVertex - VertexBuffer shadowVertexBuffer; + VertexBuffer ambientShadowVertexBuffer; ShadowTessellator::tessellateAmbientShadow(width, height, casterTransform, - shadowVertexBuffer); - return drawVertexBuffer(shadowVertexBuffer, &paint); + ambientShadowVertexBuffer); + drawVertexBuffer(ambientShadowVertexBuffer, &paint); + + VertexBuffer spotShadowVertexBuffer; + ShadowTessellator::tessellateSpotShadow(width, height, + getWidth(), getHeight(), casterTransform, + spotShadowVertexBuffer); + drawVertexBuffer(spotShadowVertexBuffer, &paint); + + return DrawGlInfo::kStatusDrew; } status_t OpenGLRenderer::drawColorRects(const float* rects, int count, int color, |