[Mesa-dev] Static/shared pipe-drivers (was megadriver/pipe-loader-to-all)

Emil Velikov emil.l.velikov at gmail.com
Tue Jun 17 11:24:09 PDT 2014


On 12/06/14 20:56, Emil Velikov wrote:
> Hi all,
> 
> These patches add support for building (grouping) the various targets per
> API, meaning that only one library will be created  for e.g. vdpau
> (libvdpau_gallium) with individual ones (libvdpau_r600) being a hardlink
> to it.
> 
> This allows us to have substantial space savings as the API(state-tracker)
> is available only once. Additionally it adds support for shared
> pipe-drivers via a _unstable_ interface, which saves us the duplication
> across X APIs.
> 
> The former method has been used by the egl-static while the latter by
> opencl and gbm targets since they were introduced.
> 
> By default we build with "static pipe-drivers".
> 
> Some numbers + extra info [1]
> 
> [Static]
> dri:            (r600|radeonsi|nouveau)_dri.so       -> 6.5 MiB
> vdpau:          libvdpau_(r600|radeonsi|nouveau).so  -> 3.5 MiB
> 
> Total: 10MiB
> 
> [Shared]
> Libraries:
> dri:            (r600|radeonsi|nouveau)_dri.so       -> 3.9 MiB
> vdpau:          libvdpau_(r600|radeonsi|nouveau).so  -> 633 KiB
> gallium-pipe:   pipe_(r600|radeonsi|nouveau).so      -> 5.3 MiB
> 
> Total: 9.8MiB
> 
> [Current]
> dri:            (r600|radeonsi|nouveau)_dri.so       -> 5.0+4.5+5.3 = 14.8 MiB
> vdpau:          libvdpau_(r600|radeonsi|nouveau).so  -> 1.9+1.2+2.3 = 5.4 MiB
> 
> Total: 20.2MiB
> 
> 
> The previous series can be found here [2]
> Changes since then
>  - Convert targets individually.
>  - OMX targets now work, and the final library is now libomx-mesa.so
>  - Dropped the DRI targets for now
>  - A handfull of typos thinkos and bugs fixed.
> 
> 
> My plan is to have these pushed in ~4 stages, with two stages per week.
> This way I will be able to crack on with the remaining bits and have all
> of it tested well before we branch the next release.
> 
Gents,

In case I was not clear enough - my plan is to push
01-11 (prep work) - this wednesday(tomorrow)
12-16 (vdpau, xvmc)- over the weekend
17-23 (omx, cleanup)- mid next week
24-26 (xa, gbm, egl)- next week's weekend

Don't be shy to speak up, if you feel that any of the above sounds
unreasonable.

Feel free to shout at me as soon as you notice any bugs :)

-Emil

> Series is availabe at
> https://github.com/evelikov/Mesa/tree/static-or-shared-pipe-drivers
> 
> As always comments and suggestions are greatly appreciated.
> 
> Cheers,
> -Emil
> 
> [1] http://lists.freedesktop.org/archives/mesa-dev/2014-May/059806.html
> [2] http://lists.freedesktop.org/archives/mesa-dev/2014-May/059628.html
> 
> 



More information about the mesa-dev mailing list