On 15.05.2014 21:13, Emil Velikov wrote: >> On 15.05.2014 10:58, Marek Olšák wrote: >>> Hi everybody, >>> >>> Some distros seem to care about the size of Mesa, so I came up with >>> this little patch. >>> >>> It puts r600g and radeonsi into r300_dri.so. The result is one shared >>> library which contains all three drivers. Also, all driver loaders in >>> Mesa should now always load the r300 driver instead of r600 and >>> radeonsi. >>> >>> The radeon winsys is created first, which then creates the correct >>> screen (r300, r600, or radeonsi) according to the PCI ID. >>> >>> The libGL loader has actually been ignoring the driver name from the X >>> server for quite some time, so nothing needs to be done for this >>> outside of Mesa. >>> >>> This is for *_dri.so only, the other targets are still separate and >>> probably broken with this patch. (VDPAU, XvMC, egl-gallium, OpenCL?) >>> >>> What's missing: >>> - do the same for the other targets/APIs >>> - remove r600 and radeonsi targets and clean up the build system >>> >>> Original files without debugging symbols: >>> 5.9MB r300_dri.so >>> 6.5MB r600_dri.so >>> 5.7MB radeonsi_dri.so >>> Megaradeon: >>> 7.0MB r300_dri.so (all 3 drivers) >>> >>> If somebody who cares about the size of Mesa wants to finish this up, >>> the patch is attached. This is only a proof that it's not really >>> difficult. What remains is mostly just build system work. >> >> FWIW, I think it would be cleaner to use a new name instead of reusing >> any existing name. >> >> > FWIW currently only radeon drivers are split in such a way - freedreno and > nouveau have been using such separation at winsys level as far back as I can > remember.
r300 and r600 didn't share much if any code when they were classic Mesa drivers. > Any thoughts about backwards compatibility - old loader (libGL, libEGL etc.) > and new r300_dri? Example: X/ddx requests r600_dri, whereas it does not exist. > > If the above is not a concern, then a nicer approach would be to rename the > classic radeon to r100/radeon-vieux, and use radeon for the gallium driver > (idea borrowed from nouveau). Otherwise we will need to create hardlink for > each gallium driver. Xorg has a loader as well, so I think there's no sane way around keeping the existing names as links. -- Earthling Michel Dänzer | http://www.amd.com Libre software enthusiast | Mesa and X developer _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev