[Mesa-dev] [PATCH 00/23] Megadrivers galore

Jakob Bornecrantz wallbraker at gmail.com
Thu Jun 19 03:54:22 PDT 2014

On Tue, Jun 17, 2014 at 8:38 PM, Emil Velikov <emil.l.velikov at gmail.com> wrote:
> Hi all,
> As a follow up to the static/shared pipe-drivers series here is the final
> series (if anyone is interested I may take a look at egl + opencl) of
> refactoring the gallium dri targets into a single library/provider.
> In a nutshell:
>  - Convert one target per patch.
>  - Merge the drm and sw backends of our dri state-tracker.
>  - Adds __driDriverGetExtensions_$drivername symbol for each driver.
>  - Megadrivers.
>  - ***
>  - Profit.
> Things works like a charm for nouveau and swrast, and testing on other
> platforms is greatly appreciated.
> The complete series can be found in the static-or-shared-pipe-drivers-v2
> branch at my github repo.
> I would like to get this reviewed/pushed over the next month, although
> that depends on the number of bugs that come up with the previous batch.
> As always comments, suggestions and flame is welcome.

I'm trying to get a better grasp of the resulting set of binaries will look like
on a distro, correct me if I'm wrong, by default we will get one gallium_dri.so
that is linked against shared dri core and glapi correct. And then hardlinks
from say vmwgfx_dri.so to gallium_dri.so?

Also looking at the patch it looks like stdri can still be build without
DRM installed on the system? I remember the Hurd people being
quite vocal about this.

Cheers, Jakob.

> Cheers,
> Emil
> Emil Velikov (23):
>       targets/dri-swrast: use drm aware dricommon when building more than swrast
>       st/dri: Allow separate dri-targets
>       st/dri/drm: Add a second libdridrm library
>       targets/dri-nouveau: Convert to static/shared pipe-drivers
>       targets/(r300|r600|radeonsi)/dri: Convert to static/shared pipe-drivers
>       targets/dri-freedreno: Convert to static/shared pipe-drivers
>       targets/dri-i915: Convert to static/shared pipe-drivers
>       targets/dri-ilo: Convert to static/shared pipe-driver
>       targets/dri-vmwgfx: Convert to static/shared pipe-drivers
>       st/dri: Remove the old libdridrm library
>       targets/dri: Add __driDriverGetExtensions_nouveau symbol
>       targets/dri: Add __driDriverGetExtensions_(r300|r600|radeonsi) symbols
>       targets/dri: Add __driDriverGetExtensions_freedreno symbol
>       targets/dri: Add __driDriverGetExtensions_i915 symbol
>       targets/dri: Add __driDriverGetExtensions_i965 symbol
>       targets/dri: Add __driDriverGetExtensions_vmwgfx
>       targets/dri: update scons build to handle __driDriverGetExtensions_vmwgfx
>       targets/dri: cleanup conversion leftovers
>       st/dri/drm: remove __driDriverExtensions and driDriverAPI
>       scons: build and use a single dri_common library
>       targets/dri-swrast: convert to gallium megadrivers :)
>       st/dri: merge dri/drm and dri/sw backends
>       targets/dri-swrast: Convert to static/shared pipe-driver
>  61 files changed, 536 insertions(+), 1375 deletions(-)

More information about the mesa-dev mailing list