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

Emil Velikov emil.l.velikov at gmail.com
Thu Jun 19 05:08:39 PDT 2014


On 17/06/14 19:24, Emil Velikov wrote:
> 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)
For everyone interested, I have disabled the i915-sw target, and omitted
patches 3 and 4 before pushing. As neither i915 nor svga needs the link to
wrapper winsys and softpipe/llvmpipe.

-Emil

> 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