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

Tom Stellard tom at stellard.net
Wed Jun 18 06:09:51 PDT 2014

On Tue, Jun 17, 2014 at 07:38:16PM +0100, 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.

Hi Emil,

One common problem I run into when using the pipe drivers is if there
is an undefined symbol in the pipe_*.so then it will silently fail to
load, and with OpenCL for example it won't report any devices which can
be confusing for users.  I would recommend adding some error handling to
util_dlopen, so that it prints an error message when it fails to load a
shared object.

Other than that, it's hard to review a series like this, but I'll
give it an:

Acked-by: Tom Stellard <thomas.stellard at amd.com>

Since I like the general approach.


> 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.
> 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(-)
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev

More information about the mesa-dev mailing list