-
commit-queue@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=107444 Patch by Tamas Czene <tczene@inf.u-szeged.hu> on 2013-02-12 Reviewed by Zoltan Herczeg. In case of an error the program runs through all the remaining filters by doing nothing. After that deletes the results of every filter and starts software rendering. * platform/graphics/filters/FilterEffect.cpp: (WebCore): (WebCore::FilterEffect::applyAll): At software rendering this is a simple inline methode, but at OpenCL rendering it releases OpenCL things. If we have an error remove filter's results and start software rendering. (WebCore::FilterEffect::clearResultsRecursive): (WebCore::FilterEffect::openCLImageToImageBuffer): (WebCore::FilterEffect::createOpenCLImageResult): (WebCore::FilterEffect::transformResultColorSpace): * platform/graphics/filters/FilterEffect.h: (FilterEffect): (WebCore::FilterEffect::applyAll): * platform/graphics/gpu/opencl/FilterContextOpenCL.cpp: (WebCore::FilterContextOpenCL::isFailed): (WebCore): (WebCore::FilterContextOpenCL::freeResources): (WebCore::FilterContextOpenCL::destroyContext): (WebCore::FilterContextOpenCL::compileTransformColorSpaceProgram): (WebCore::FilterContextOpenCL::openCLTransformColorSpace): (WebCore::FilterContextOpenCL::compileProgram): (WebCore::FilterContextOpenCL::freeResource): * platform/graphics/gpu/opencl/FilterContextOpenCL.h: (WebCore::FilterContextOpenCL::FilterContextOpenCL): (WebCore::FilterContextOpenCL::setInError): (WebCore::FilterContextOpenCL::inError): (FilterContextOpenCL): (WebCore::FilterContextOpenCL::RunKernel::RunKernel): (WebCore::FilterContextOpenCL::RunKernel::addArgument): (WebCore::FilterContextOpenCL::RunKernel::run): (RunKernel): * platform/graphics/gpu/opencl/OpenCLFEColorMatrix.cpp: (WebCore::FilterContextOpenCL::compileFEColorMatrix): (WebCore::FEColorMatrix::platformApplyOpenCL): * platform/graphics/gpu/opencl/OpenCLFETurbulence.cpp: (WebCore::FilterContextOpenCL::compileFETurbulence): (WebCore::FETurbulence::platformApplyOpenCL): * rendering/svg/RenderSVGResourceFilter.cpp: (WebCore::RenderSVGResourceFilter::postApplyResource): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@142596 268f45cc-cd09-0410-ab3c-d52691b4dbfc
a1a49cfc