Hello list, The recent patches from Rob gave me a nice kick to give another stab at integrating the pipe-loader into the vdpau/dri targets.
What: - With these patches one library will be created for hardware and one for software driven backends - eg. libvdpau_gallium_dri, libvdpau_gallium_sw - Each library can use every possible pipe driver, determined at runtime. - To get the dri (galliumdrm_dri) or vdpau library working create hardlink (or symlink) to it (libvdpau_nouveau.so -> libvdpau_gallium_dri.so) Why: - Smaller overall size while having no extra exported symbols. This is a nice method of us to share most of gallium (read mesagallium and aux/gallium) without exporting every symbol either one to those two contain. - Drop the multiple duplicated - With those done, some additional symbol cleanup can be made using the linker. The stripped size of pipe_nouveau and pipe_swrast decreased by ~0.6MiB, downto 2.2, 1.2MiB accordingly. With similar results on other libaries. What has been tested: - (st/dri) nouveau and swrast were spinning glxgears and nouveau was glretrace-ing lol, dota2 and portal traces. - (st/vdpau) nouveau - tested using mplayer in benchmark mode. no significant changes were noticed. swrast was broken while using vdpau, as to why it was dropped a while back. What has not been tested/known to be broken: - (st/dri) currently the drm_configuration() and the driver options (__dri2ConfigOptions) are not wired up. - (st/vdpau) the driver specific create_winsys are not exported by the vdpau library, thus gl-vdpau interop is not tested and possibly broken. - Resolve all the linking between the library and all backends nouveau_dri.so -> galliumdrm_dri.so - Scons and drivers having multiple winsys (i915) In the weeks ahead: - Cleanup/resolve the above issues - Tackle the remaining two st (omx and xvmc), which should be trivial. - Compact the dri/drm and dri/sw state-trackers into a single library. Please let me know how you feel on the subject, and as ususal some testing including opencl, gbm, egl and gl-vdpau interop would be greatly appreciated. The complete patchset can be found in the pipe-loader-to-all branch over at https://github.com/evelikov/Mesa/ Note: the first 10 patches should be fine as is as. Cheers, Emil _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev