[Webkit-unassigned] [Bug 99829] OpenCL version of SourceAlpha, SourceGraphics and FETurbulence filter effects
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri Nov 23 03:39:46 PST 2012
https://bugs.webkit.org/show_bug.cgi?id=99829
--- Comment #20 from Matt Arsenault <arsenm2 at gmail.com> 2012-11-23 03:41:50 PST ---
(In reply to comment #18)
> You have some good ideas.
>
> > These look like they don't account for the possibility that the kernel will > fail to build. If the build fails, you'll be setting arguments / trying to > run a null kernel
>
> The source code of the kernel should be correct, so the only fail possibility here is the out-of-resource allocation, which could be handled by a CRASH() macro.
The kernel might be correct, but the compiler might not. My experience with OpenCL is taking one kernel that builds on one implementation won't work on another. I wouldn't put so much faith in the compiler.
> >
> > > Source/WebCore/platform/graphics/gpu/opencl/FilterContextOpenCL.h:104
> > > + {
> > > + clFinish(m_context->m_commandQueue);
> > > + clEnqueueNDRangeKernel(m_context->m_commandQueue, m_kernel, 2, 0, m_globalSize, 0, 0, 0, 0);
> > > + }
> >
> > These should really be checked. These are pretty likely to fail.
>
> Why?
Such is the way with OpenCL. On the Nvidia platform in particular most problems end up manifesting themselves as an error from clFinish.
>
> > Where do you wait for the kernel to complete? The only clFinish/clWaitForEvents I see is before a clEnqueueNDRangeKernel
>
> Opencl supports async execution, so we don't need to wait here.
You do when you'll need the result (which I guess I'm missing)
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list