[Moonlight-list] shader effect status

David Reveman davidr at novell.com
Mon Jan 25 11:51:43 EST 2010

Made a lot of progress on the shader effects in the last two weeks. The
latest patch set and a diff of all the work can be found here:


It seems to work with most sample applications I've found on the web.
However, here's some known issues that you should be aware of:

- Shadow effect has not been implemented yet. I'll get that done in the
next couple of days..

- Support for custom sampler inputs has not been fully implemented yet.
Most of the support for this is in place already and I expect to have
this working in the next couple of days. Any custom shaders that make
use of this will render incorrectly right now and you'll see a warning
message when such an effect is used.

- Many direct3d shader instructions are not yet implemented. A large
subset of the instructions required by PS 2.0 and silverlight are in
place and I haven't found any silverlight app so far that makes use of a
missing instruction. An error message will be printed if an unknown
instruction is encountered and it should be easy to add most of the
instructions that I have yet to implement.

- Vertical texture coordinates are flipped compared to microsoft's
implementation, which causes most reflection shaders to render
incorrectly. I'm hoping that this isn't going to be too hard to fix.

- The current direct3d shader byte-code parsing code is not 100% safe.
If you throw some random binary blobs at it, it's likely to throw some
assertion error message and crash right now. This requires minimal work
to get fixed though.

Even with these known issues present, I think the current code is ready
for trunk. Almost all the work is contained within src/effect.cpp and
src/effect.h. Someone with more C# experience than me should probably
have a look at the changes I made to:
I feel pretty confident about the rest.

BTW, if you know of any silverlight pixel shader sites, please send them
to me. I need more test sites.

- david

More information about the Moonlight-list mailing list