[Moonlight-list] Initial Gallium Pixel Shader Patch
David Reveman
davidr at novell.com
Wed Jan 6 14:19:35 EST 2010
This initial patch is mostly adding the framework for using gallium to
implement silverlight 3's pixel shader effects. It includes a simple
implementation of the BlurEffect and no other effects are currently
supported.
The current implementation uses gallium's softpipe driver but hooking up
the llvm driver as well should be a minor task and give significantly
better software performance. As it's currently only running in software,
it's a requirement that moonlight uses cairo's image backend. So you'll
have to use
MOONLIGHT_OVERRIDES="backend=xlib"
if that's not the default behavior on your system.
My current approach is to focus on getting all these things working in
software first. By using a OpenVG backend for cairo we can incrementally
move to using gallium and hardware for all rendering.
To enable the shader code you have to checkout and build gallium.
git clone git://anongit.freedesktop.org/mesa/mesa
And configure moonlight with "--with-gallium-path=".
A known issue in the current implementation is that bounds calculations
are not done properly. The effect padding needs to be included in the
bounds and I'm working on fixing that before I move on to implementing
the ShaderEffect class.
- david
-------------- next part --------------
A non-text attachment was scrubbed...
Name: moonlight-gallium.diff
Type: text/x-patch
Size: 34844 bytes
Desc: not available
Url : http://lists.ximian.com/pipermail/moonlight-list/attachments/20100106/a8303247/attachment-0001.bin
More information about the Moonlight-list
mailing list