[Mesa-dev] [ Open source project]
rgc184 at gmail.com
Wed Jun 18 20:08:50 PDT 2014
Thanks that was helpful.!
On Tue, Jun 17, 2014 at 12:35 PM, Thomas Helland <thomashelland90 at gmail.com>
> Hi Roshan,
> I've just gotten into the game myself, so I guess i can provide some
> I guess by "the list" you are referring to the suggestions for GSoC
> projects posted.
> I think the application date for GSoC is long passed (so no pay :/ ),
> but I don't think anyone will bash you for taking on the work if you want
> Just in case you haven't seen there's also the newbie-projects page.
> There might be some smaller interesting projects there to.
> These are not to difficult, and will get you accustomed to
> the community, review-process, submitting patches, etc
> I would love to be proven wrong, but I think the best source of
> documentation is
> poking around in the source code. There's also some documentation at .
> There's also a readme-file in the glsl-directory explaining a bit the IR /
> The shader-compiler does a lot of "optimization passes" over the supplied
> trying to do things like dead-code elimination, cse, algebraic
> optimizations, etc.
> As of now I think (but I'm not sure) this is done more or less randomly.
> Try a bunch of them multiple times, until there's no proof that we're
> getting further.
> The static ordering part you are referring to i think is basically the
> Find a defined sequence that you can perform these passes
> (maybe repeat some of them multiple times), a defined number of times, that
> when completed yields a result that is as good as today's solution;
> 1. Less or equal amount of instructions
> 2. Less or equal time to compile shaders.
> Let's say, as an example, dead-code elimination to get rid of some cruft,
> then do some algebraic optimizations, then some constant propagation,
> followed by more dead-code elimination, then cse, then repeat everything 2
> Basically trying out a lot of sequences, and testing the results.
> For testing you should use a toolkit to verify your results.
> This can be done by compiling mesa with debug-symbols, and using shader-db
> Shader-db does a compilation of a boatload of shaders, and reports time
> compiling them along with the end instruction count for each.
> Obviously startup-times and FPS in shader-heavy games like Dota2
> are also always a nice addition.
> I will not guarantee that what I've written here is 100% correct, and I'm
> not really in a position to give any more details than that, as I'm really
> new to the game myself, and just getting my feet wet with some
>  http://wiki.freedesktop.org/dri/NewbieProjects/
>  http://mesa3d.org/
>  http://cgit.freedesktop.org/~anholt/shader-db
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the mesa-dev