op 11-02-14 11:30, Christian König schreef:
Am 11.02.2014 05:26, schrieb Emil Velikov:
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

Just drop, the software driven backends. I was about to remove them anyway.

  - 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.

NAK, at least for the VDPAU drivers that doesn't sounds like such a good idea 
to me.

Reducing the number of exported symbols can be archived otherwise and giving up 
their self containing without any external dependencies just to save some extra 
space on disk doesn't sound like a valid reason to me.
This is a great idea. It doesn't just save diskspace, it also makes life for 
packagers easier. Right now I'm not packaging vdpau in ubuntu because of the 
extra disk space involved.
Not everyone can download packages with 10 mbit connections.

I really dislike building libgallium shared, so getting rid of that hack while 
keeping the size reduction is great. :-)

Preventing symbol clashing is easy by carefully choosing which symbols to 
export. And in the case of pipe-loader we would only need to export
very few, and those exports are very controlled. Even radeon_drm_winsys_create 
doesn't need to be exported any more if vdpau and dri use the same shared 
pipe-loader library.

~Maarten

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

Reply via email to