[Mesa-dev] [GSoC] RFC / Suggestions for project

Thomas Helland thomashelland90 at gmail.com
Mon Jan 4 05:47:55 PST 2016


Hi everyone, and Happy New Year!

As most of you are probably aware I participated in GSoC last summer.
(Loop analysis and range propagation for NIR).
This was a very valuable and fun experience,
and something I'd like to have another shot at.

So why am I writing in this early? Last year I was a bit late to the party,
but this year I want to be on top of things and well prepared.
I was hoping that I could spend some time alongside my masters thesis
identifying good candidates for tasks for GSoC, and doing
some work on confirming that the task will provide a decent win.

My code for last years GSoC has not yet landed upstream.
Partly because I have not had the time to pick it up yet,
partly because the range propagation pass was mind-bending
and hard to review, and partly because there was no major wins/benefits.
That's why I want to do some initial investigation, to ensure the
work will be fruitfull and benefitial, and not end up bitortting.
I'm hoping to find time to clean up last years code, adopt to the cursor sutff,
and resend as it seems it might be helpfull at least for Eric.
(Possibly also others that use NIR and have hardware without free saturates)

So what are my ideas for GSoC?
While I haven't got any specific ideas, I've got some thoughts
on what I want a potential GSoC project to result in.
If possible, I'd like to work on code that benefts all backends.
Maybe implementing an extension or something?
Lowering GLSL overhead or memory consumption?
Unifying some TGSI and mesa-main stuff?
(I recall some discussion about unifying format handling?)

I could offcourse continue where I left of last year,
however I'm not sure if this is time well spent?
Last years implementation indicates that
the "return on investment" might not be adequate?
My induction variable detection couldn't do better than the one in GLSL,
and the range propagation didn't really give much advantage.
Loops in shaders are simple and far apart it seems, so loop unrolling
in GLSL might be good enough?

I had a look at last years discussion on the mailing list about
possible ideas for GSoC, and it seems a lot of it is under way.
FP64 emulation / softfloat, and SPIR'-V for NIR are the main two
With the current pace I also wouldn't be surprised if most of
the extensions are in progress by May.
Does anyone have any suggestions for things I could investigate?
I expect X.org will be applying for GSoC this year also?

This summer I'll also have access to more hardware;
an optimus laptop (ivy bridge + nvidia), and a desktop with a HD6870,
so both nouveau VC0, i965, and R600 are possible targets.
I might also invest in a new AMD gpu this spring, so radeonsi
might also be a possible target for my work.

I'll be working on computer vision for my masters thesis,
specifically comparing a part to a 3D model to detect
damages, dents, chipped corners, etc (quality control).
C++ will be the language of choice, so my C++ skills
should be greatly improved by the summer,
making me better qualified this year than last year.
(Hopefully my lack of C experience last year didn't scare you of)

Regards
Thomas Helland


More information about the mesa-dev mailing list