Gallium3D Picks Up Networking Support

While not currently an end-user feature or as prominent as a new state tracker being introduced, Gallium3D in Mesa has picked up network support. Yes, Gallium3D now has simple network capabilities like initializing sockets, listening to ports, creating connections, etc. This work was pushed out into the public realm with this Git commit. These network functions are not being deployed so that you can create a Multi-GPU configuration over a high-bandwidth LAN or anything exotic like that, but actually to provide a remote debugging utility.
Adding over 2,000 lines of new code to the Mesa/Gallium3D code-base is now a Gallium Remote Debugging Protocol (found in this commit). This protocol uses TCP and IPv4 and contains the needed support for sending commands to shaders, textures, etc over a network.
After the network support was added to Gallium3D and the Gallium Remote Debugging Protocol introduced, VMware's Jakob Bornecrantz introduced a few applications taking advantage of this support. Now living within Gallium3D is a simple client, simple server, shader information, shader dumper, a shader disabler, context dumper, texture information, and texture dumper programs. All of these open-source applications use the Gallium RDP.
Ending out his Monday morning in Europe, Jakob also committed Gallium Remote Debugging Protocol support to the Gallium3D trace driver, which is used for tracing incoming calls and providing this remote debugging support.
This network / remote debugging support may not be something for Linux gamers or desktop users to get excited about, but it should certainly help out those working on graphics drivers and is a feature not previously found in Mesa.
15 Comments