summaryrefslogtreecommitdiffstats
path: root/cc/software_renderer.cc
diff options
context:
space:
mode:
Diffstat (limited to 'cc/software_renderer.cc')
-rw-r--r--cc/software_renderer.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/cc/software_renderer.cc b/cc/software_renderer.cc
index 5c31d7b..ed37af6 100644
--- a/cc/software_renderer.cc
+++ b/cc/software_renderer.cc
@@ -268,6 +268,11 @@ void SoftwareRenderer::drawRenderPassQuad(const DrawingFrame& frame, const Rende
if (!contentTexture || !contentTexture->id())
return;
+ const RenderPass* renderPass = frame.renderPassesById->get(quad->renderPassId());
+ DCHECK(renderPass);
+ if (!renderPass)
+ return;
+
DCHECK(isSoftwareResource(contentTexture->id()));
ResourceProvider::ScopedReadLockSoftware lock(m_resourceProvider, contentTexture->id());
@@ -287,6 +292,10 @@ void SoftwareRenderer::drawRenderPassQuad(const DrawingFrame& frame, const Rende
shader->setLocalMatrix(contentMat);
m_skCurrentPaint.setShader(shader);
+ SkImageFilter* filter = renderPass->filter();
+ if (filter)
+ m_skCurrentPaint.setImageFilter(filter);
+
if (quad->maskResourceId()) {
ResourceProvider::ScopedReadLockSoftware maskLock(m_resourceProvider, quad->maskResourceId());