Although there are no piglit tests for it yet, my geometry shader code on GitHub has had a decent amount of stress-testing; I'm not too concerned about an abundance of bugs in the existing code. Aside from piglit tests (which are, as you say, the biggest problem), though, there are a few other things that need to be done:
- The changes will need to be rebased and reformatted into a sane patch set rather than the current haphazard mix of commits that add functionality with commits to fix mistakes in previous changes.
- The interactions with FBOs (section "Dependencies on EXT_framebuffer_object" in the ARB_geometry_shader4 spec) need to be implemented. This might only be needed for the EXT/ARB extensions and not core, but with this much work done on the extensions it would be silly not to support them as well as the core version. It seems that doing this properly will also require changes to the softpipe driver.
- If it hasn't already been done, the GLSL compiler will need to implement the core version of the geometry shader language. The main change is using the "gl_in[]" struct array for input/output instead of one input array per attribute. This will just require a lowering pass to lower gl_PerVertex accesses to the 2D array accesses used in the extension, which can be (and already are) sanely translated to TGSI by glsl_to_tgsi.
Also, sorry for suddenly disappearing from the graphics world last year. Hopefully I will be able to be able to do more for Mesa in the future, but for now there's not much choice but to leave my unfinished geometry shader work to be completed by someone else.![]()
Hi Plombo....
I'm not a dev, but I just wanted to tell you thanks for the work you've already done. And thanks for posting here what the status is. At the very minimum at least now we know that you are tied up with something else so that this work can be completed by someone else.
Plombo, if the problem is money, please go to Ubuntu, Suse and Fedora forums; post the current state and expected state; post the amount you need and -very important- update the status with reproducable results as you progress.
If the problem is not money,.. I hope you can resolve it...
Money isn't the problem. The reason I had to stop my geometry shader work is that I stopped having much free time for a while. I actually had more free time during the last month or so, but with less motivation than before to use it to work on geometry shaders. Someone else recently expressed interest in finishing the GS work, though, so hopefully it will be ready in time for the next major Mesa release. I'll still be around to answer any questions that come up, of course, and do whatever else I can to help.
And thanks for your message. It's really nice to know that someone cares.![]()
GS are usually a speed drop, not an increase![]()