On Wed, May 1, 2013 at 4:11 PM, Andreas Gal <g...@mozilla.com> wrote:

> I wonder whether we should focus on one fast GPU path via GLSL, and have
> one precise, working, I-don't-care-how-slow CPU fallback.


I agree that should be our top priority, and it may not be worth doing CPU
SIMD at all. But if we can get it cheaply via Skia or somewhere else, maybe
it's worth having. I didn't mean to imply CPU SIMD should be a priority.

As for the filters on GLContext, I wonder whether thats really the best
> approach. Don't most filter applications want to be injected into the
> shader pipeline instead? We would have to be able to compose filters for
> that and generate a composite GLSL program from that. So for example we
> want a BGRXTextureLayer, with Mask3D, with ColorMatrix, and we want GLSL
> source generated from that. So isn't really what we want a GLSL shader
> program generator (and cache) that we give an EffectChain and that gives us
> back a compiled shader? (with added effects including ColorMatrix, etc).
>

That's a good point: for optimal performance with simple filters we need to
be able to combine the EffectChain with the filter. However I think adding
filters to the EffectChain is probably not the right way to do that,
because some filters require multiple passes with intermediate buffers and
can't be compiled to a single program. I think to keep basic compositing
simple we want an EffectChain to always compile to a single program. So I
suspect the best approach might be to pass the EffectChain as an additional
parameter to the GLContext filter implementation. However, I'm no expert on
GL or GPU programming so I hope the usual suspects will chime in here. (I
was deliberately vague about "GL objects" for the same reason.)

Rob
-- 
q“qIqfq qyqoquq qlqoqvqeq qtqhqoqsqeq qwqhqoq qlqoqvqeq qyqoquq,q qwqhqaqtq
qcqrqeqdqiqtq qiqsq qtqhqaqtq qtqoq qyqoquq?q qEqvqeqnq qsqiqnqnqeqrqsq
qlqoqvqeq qtqhqoqsqeq qwqhqoq qlqoqvqeq qtqhqeqmq.q qAqnqdq qiqfq qyqoquq
qdqoq qgqoqoqdq qtqoq qtqhqoqsqeq qwqhqoq qaqrqeq qgqoqoqdq qtqoq qyqoquq,q
qwqhqaqtq qcqrqeqdqiqtq qiqsq qtqhqaqtq qtqoq qyqoquq?q qEqvqeqnq
qsqiqnqnqeqrqsq qdqoq qtqhqaqtq.q"
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to