diff options
author | skaslev@chromium.org <skaslev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-14 21:21:54 +0000 |
---|---|---|
committer | skaslev@chromium.org <skaslev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-14 21:21:54 +0000 |
commit | 632bd76644c0bdce0a7223f15fa3be75648e66fd (patch) | |
tree | 312d2502484aa0225caa9963d6d88d60bf26f100 /cc/software_renderer.cc | |
parent | d339e3cbbe150f7090f1a6463efb84e9462c210c (diff) | |
download | chromium_src-632bd76644c0bdce0a7223f15fa3be75648e66fd.zip chromium_src-632bd76644c0bdce0a7223f15fa3be75648e66fd.tar.gz chromium_src-632bd76644c0bdce0a7223f15fa3be75648e66fd.tar.bz2 |
Added support for CSS filters to the software compositor.
BUG=160302
Review URL: https://chromiumcodereview.appspot.com/11362235
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@167747 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/software_renderer.cc')
-rw-r--r-- | cc/software_renderer.cc | 9 |
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()); |