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.

Marek

Attachment: 0001-gallium-build-r600-and-radeonsi-into-r300_dri.so-and.patch
Description: application/pgp-keys

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to