[Mesa-dev] [RFC] Deprecating old DRI loaders/drivers
Timothy Arceri
tarceri at itsqueeze.com
Wed May 17 05:47:08 UTC 2017
On 17/05/17 14:04, Jason Ekstrand wrote:
> On May 16, 2017 18:30:00 Timothy Arceri <tarceri at itsqueeze.com> wrote:
>
>> On 17/05/17 02:38, Ian Romanick wrote:
>>> What *actual* problem are you trying to solve? Honestly, it seems like
>>> you're just trying to find stuff to do. We have a mechanism to make
>>> this work, and it's not that hard. Introducing a deprecation period and
>>> everything that involves will make it more work, not less.
>
> I think that's a fair question
>
>> To be fair aren't we in a stage in Mesa's life-cycle where the focus is
>> on tidying-up / optimisations. It's not like there are large spec
>> updates in the pipeline.
>
> If we are genuinely making things more maintainable, then maybe
> deprecation is reasonable. However, of it's just churn, then it may
> just be a source of new bugs to fix. I think asking "why?" is perfectly
> reasonable.
Sure I agree. But there wasn't any real question or discussion there. To
me there was just some sarcasm followed by a do as I say. Why not wait
for some patches or at least genuinely ask for some justification before
deciding if it just churn.
>
> On the other side, perhaps we should consider instead taking advantage
> of the backwards comparability and dropping some of the old and
> unmaintained drivers from the tree, put them on a critical-bugfix-only
> branch, and recommend that distros build two mesas and only install the
> loader from the newer one. Dropping i915, r200, and other effectively
> unmaintained drivers from the tree would make it much easier to do core
> state tracker cleanups since there would effectively only be two state
> trackers: gallium and i915. For example, there's a lot of code floating
> around for dealing with hardware that doesn't have native integers.
Yes please! I would like to see something like this happen. As I just
mentioned in another thread [1] I was hoping libglvnd might allow us to
do something like this (but it seems not). I agree that if we are going
to keep backwards compatibility it would be good to use it to do this.
There is a bunch of stuff we can clean up if we do this, such as
enabling a bunch of extensions by default and removing on the runtime
checks for these pasted all over the api, dropping a bunch of mesa ir
code paths, dropping some driver function callbacks, the software tnl
code?, etc.
[1] https://lists.freedesktop.org/archives/mesa-dev/2017-May/155899.html
>
> --Jason
>
>>>
>>> On 05/16/2017 06:05 AM, Emil Velikov wrote:
>>>> Hi all,
>>>>
>>>> As many of you know the current DRI interface provides backwards
>>>> compatibility between old loaders and new drivers, and vice-versa.
>>>>
>>>> Sometimes issues cannot be addressed with the existing extensions and
>>>> we need to bump the version or provide an alternative extension.
>>>> In such cases we still preserve the old buggy code path.
>>>>
>>>> Even when that's not the case, we still end up with highly divergent
>>>> code, as some features are exposed only when the extension criteria is
>>>> met.
>>>>
>>>>
>>>> At the moment we claim to support any loader <> driver combination in
>>>> existence, while in reality components from different Mesa versions
>>>> are rarely tested.
>>>> One noticeable exception is the legacy DRI1 drivers. Therefore this
>>>> proposal does _not_ cover any DRI1 specific changes.
>>>>
>>>> To straighten the code flow and remove much of the unused code, I'm
>>>> proposing the following:
>>>>
>>>> 1) Establish deprecation period - keep in mind the DRI loader in
>>>> Xserver.
>>>> 2) Any extension that is supported on both driver and loader gets
>>>> deprecated.
>>>> A) Drivers and loaders are annotated to emit a warning when used
>>>> with 'too old' counterpart.
>>>> B) If applicable extensions are moved out of dri_interface.h to
>>>> another header.
>>>> 3) At the end of deprecation period:
>>>> A) Cleanup all the dead code.
>>>>
>>>> Personally, 1 year sounds reasonable, as that constitutes of four Mesa
>>>> major releases.
>>>> For the other actions, I have patches around that I could polish and
>>>> sending to the list.
>>>>
>>>> I would greatly appreciate any input, esp. from distribution
>>>> maintainers.
>>>>
>>>> Should my proposal seem unsuitable, I would strongly encourage people
>>>> to provide brief action plan alongside the obstacles they see.
>>>>
>>>> Thanks
>>>> Emil
>>>> _______________________________________________
>>>> mesa-dev mailing list
>>>> mesa-dev at lists.freedesktop.org
>>>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>>>>
>>>
>>> _______________________________________________
>>> mesa-dev mailing list
>>> mesa-dev at lists.freedesktop.org
>>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>>>
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
>
More information about the mesa-dev
mailing list