Am 15.05.2014 14:13, schrieb Emil Velikov:
On 15/05/14 03:33, Michel Dänzer 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.

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.

The whole approach sounds like a good idea to me.

Renaming the old driver would probably work (with a little confusion on the users side of course), but our marketing recently suggested a different name. We should discuss that internally at AMD first.

Christian.


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

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

Reply via email to