[Mesa-dev] DEATH to old drivers!

Ian Romanick idr at freedesktop.org
Thu Aug 25 18:17:44 PDT 2011


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 08/25/2011 07:38 AM, Kenneth Graunke wrote:
> On 08/25/2011 07:03 AM, Ian Romanick wrote:
>> On 08/24/2011 05:07 PM, Jakob Bornecrantz wrote:
>>> On Thu, Aug 25, 2011 at 1:46 AM, Ian Romanick <idr at freedesktop.org> wrote:
>>>> -----BEGIN PGP SIGNED MESSAGE-----
>>>> Hash: SHA1
>>>>
>>>> On 08/24/2011 12:11 PM, Ian Romanick wrote:
>>>>> I'd like to propose giving the ax to a bunch of old, unmaintained
>>>>> drivers.  I've been doing a bunch of refactoring and reworking of core
>>>>> Mesa code, and these drivers have been causing me problems for a number
>>>>> of reasons.
>>>>>
>>>>> 1. The hardware is so old that it doesn't support a lot of features that
>>>>> have been common for 12+ years.
>>>>>
>>>>> 2. The drivers are so unmaintained that even hacking in new features
>>>>> with dummy implementations is painful.
>>>>>
>>>>> 3. The drivers are so buggy that many piglit tests hang the GPU.  I
>>>>> tried doing a piglit run on a Rage128 Pro that I have, but I gave up
>>>>> after having to blacklist 15 tests.
>>>>>
>>>>> It also seems that at least some distros (e.g., Fedora) have stopped
>>>>> shipping non-DRI2 drivers.  If nobody is shipping it, nobody is using it.
>>>>>
>>>>> My specific proposal is:
>>>>>
>>>>>  - Remove all DRI1 drivers: i810, mach64, mga, r128, savage, sis, tdfx,
>>>>> and unichrome.
>>>>>
>>>>>  - Remove all unmaintained Windows drivers: gldirect, icd.
>>>>>
>>>>>  - Remove beos.
>>>>>
>>>>>  - Remove fbdev (this is swrast on raw fbdev).
>>>>>
>>>>> Opinions?
>>>>
>>>> I've put up an initial branch at
>>>>
>>>>        git://people.freedesktop.org:~idr/mesa kill-old-drivers
>>>>
>>>> The only thing that isn't deleted yet is BeOS.  There are a bunch of
>>>> stray BeOS bits here and there, so I want to extract it carefully.
>>
>>> If you actually kept the DRI1 stuff in glx you would be able to install
>>> old DRI1 drivers from a old mesa release alongside DRI2 drivers and
>>> libGL from a newer one, since we have been pretty good (AFAIK) at
>>> keeping the backwards compatibility in the DRI and libGL interfaces.*
> 
> Forgive my ignorance, but...doesn't changing dd_function_table break the
> old libGL/new DRI driver API/ABI?  Or, is that different?  In
> particular, the following functions have been dropped since 7.11:
> - CopyTexImage1D
> - CopyTexImage2D
> - MapBuffer
> 
> And these driver functions have changed:
> - MapBufferRange
> - FlushMappedBufferRange
> - GetBufferSubData
> - BufferSubdata
> - UnmapBuffer
> - ChooseTextureFormat
> 
> If so, you couldn't build a 7.11 or 7.10 driver and use it with
> master/7.12/8.0.  I suppose people could grab a snapshot right before
> the removal, but we'll certainly change this again...

Nope.  This is part of the interface used internally by Mesa.  Most of
the GL API functions do some parameter validation, then call
ctx->Driver.Foo.  The function table that *is* ABI is
gl_context::CurrentDispatch (and friends).
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/

iEYEARECAAYFAk5W9DcACgkQX1gOwKyEAw+IiQCZAUt0IJiKDwoyQ77UONZWcn/2
4JkAni9gwR3oYF6MuwdQ12+hQjC60NrN
=ehwi
-----END PGP SIGNATURE-----


More information about the mesa-dev mailing list