[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