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

Emil Velikov emil.l.velikov at gmail.com
Fri Jun 27 12:51:09 PDT 2014

On 17/06/14 19:38, Emil Velikov 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.
"megadrivers" for vdpau, xvmc, omx, xa... progressing nicely thus far, so...

My next plan is to have patches
 - 1-10 (convert all hw dri drivers) committed mid next week, and
 - 11-23 (squash dridrm/drisw and convert swrast) roughly a week after that.

The updated series (merged on top of gallium dri3) can be found at branch
static-or-shared-pipe-drivers-v3 in https://github.com/evelikov/Mesa/

Last but not least, big thanks to Thomas Helland for testing and catching a
few silly bugs, and Rob Clark for confirming that nothing breaks on freedreno.


> As always comments, suggestions and flame is welcome.
> 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