[Mesa-dev] [PATCH 00/23] Megadrivers galore
emil.l.velikov at gmail.com
Thu Jun 19 05:02:35 PDT 2014
On 19/06/14 11:54, Jakob Bornecrantz wrote:
> 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?
Believe Marek answered these quite nicely. Thanks.
> 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.
Before we had two "front-ends" for stdri - drm and sw. Now I'm merging the two
into a single library - no functionality and/or build dependency changes. It
gives us at least:
- Removed symlinks - OpenBSD people import mesa into CVS which does not
handle them :\
- The chance to simplify things a bit (-100 loc), merge the hardware and
software dri drivers and slightly minimize the linking time.
> Cheers, Jakob.
>> 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