[webkit-dev] Starting implementation on W3C Filter Effects

Charles Pritchard chuck at jumis.com
Fri Nov 4 11:00:10 PDT 2011

On 11/4/11 7:23 AM, Chris Marrin wrote:
> On Nov 3, 2011, at 7:00 PM, Charles Pritchard wrote:
>> In my experience, implementing filters leads to writing them multiple 
>> times for various targets.
>> I suggest starting with the lowest common denominator before 
>> targeting platforms like webgl. I understand that Google is working 
>> on an in-software webgl implementation (angle is just a conversion 
>> lib); at some point LLVM may have sufficient semantics-- it's 
>> certainly been attempted (there's a polyhedron article somewhere on 
>> the site).
> You're saying you believe Google is developing a version of WebGL that 
> runs completely in the CPU? I haven't heard of such a thing and I 
> would be surprised if it were true. Running a GLSL shader in software 
> is possible, in fact OSX has a software renderer that does just that. 
> And while it can get a few fps with a simple shader, it's not 
> practical for serious realtime 3D graphics.
"a software fallback is in the works"

Similarly, here's WebGL implemented in Canvas 2d and ECMAScript:

It's certainly the case that CPU rendering will not be practical for 
"serious realtime 3D graphics".
There's absolutely a divide between computers that have sufficient GPUs 
and ones that do not.

> The initial WebKit implementation of CSS filters will use the filter 
> code already in the SVG implementation. This does use vector 
> optimizations on some platforms for some shaders. So it will be fully 
> CPU based. From there several options exist for hardware acceleration, 
> some platform specific and others more generic, based on WebGL or some 
> other GPU based acceleration.
I'm a bit behind on the bleeding edge: Is there work / a foundation for 
running these rendering process across multiple cores?

> In https://bugs.webkit.org/show_bug.cgi?id=68479 I plan on adding some 
> filter infrastructure at the GraphicsLayer level to make it simpler to 
> implement layer-based hardware accelerated filters.

Much appreciated.


More information about the webkit-dev mailing list