On 30 June 2015 at 16:29, Emil Velikov <emil.l.veli...@gmail.com> wrote: > On 22 June 2015 at 23:19, Dave Airlie <airl...@gmail.com> wrote: >> On 23 June 2015 at 08:16, Ian Romanick <i...@freedesktop.org> wrote: >>> On 06/22/2015 11:54 AM, Dave Airlie wrote: >>>>> >>>>> As kindly hinted by Marek, currently we do have a wide selection of >>>>> supported dri <> loader combinations. >>>>> >>>>> Although we like to think that things never break, we have to admit >>>>> that not many of us test every possible combinations of dri modules >>>>> and loaders. With the chances getting smaller as the time gap (age) >>>>> between the two increases. As such I would like to ask if we're >>>>> interested in gradually depreciating as the gap grows beyond X years. >>>>> >>>>> The rough idea that I have in my mind is: >>>>> - Check for obsolete extensions (requirements for such) - both in the >>>>> dri modules and the loaders (including the xserver). >>>>> - Add some WARN messages ("You're using an old loader/DRI module. >>>>> Update to XXX or later") when such code path is hit. >>>>> - After X mesa releases, we remove the dri extension from the >>>>> module(s) and bump the requirement(s) in the loader(s). >>>>> >>>>> And now the more important question why ? >>>>> - Very rarely tested and not actively supported - if it works it >>>>> works, we only cover one stable branch. >>>>> - Having a quick look at the the "if extension && extension.version >>>>>> = y" maze does leave most of us speechless. >>>>> - Will allow us to start removing a few of the nasty quirks/hacks >>>>> that we currently have laying around. >>>>> >>>>> Worth mentioning: >>>>> - Depreciation period will be based on the longest time frame set by >>>>> LTS versions of distros. For example if Debian A ships X and mesa 3 >>>>> years apart, while Ubuntu does is ~2.5 and RedHat ~2.8, we'll stick >>>>> with 3 years. >>>>> - libGL dri1 support... it's been almost four years since the removal >>>>> of the dri1 modules. Since then the only activity that I've noticed by >>>>> Connor Behan on the r128 front. Although it seems that he has covered >>>>> the ddx and is just looking at the kernel side of things. Should we >>>>> consider mesa X (10.6 ?) as the last one that supports such old >>>>> modules in it's libGL and give it a much needed cleanup ? >>>>> >>>>> >>>>> How would people feel about this - do we have any strong ack/nack >>>>> about the idea ? Are there many people/companies that support distros >>>>> where the xserver <> mesa gap is over, say 2 years ? >>>> >>>> We still ship 7.11 based dri1 drivers in RHEL6, and there is still a >>>> chance of us rebasing to newer Mesa in that depending on schedules. >>>> >>>> ajax might have a different opinion, on how likely that is, but >>>> that would be at least another year from now where we'd want DRI1 >>>> to work. >>> > OK, so DRI1 support for libGL is here to say (a little bit more). > >>> A time line would be good. I think it will take a fair amount of time >>> to get a new loader<>driver interface in order. If we can't change >>> anything for two years, then there's not a lot of point to thinking >>> about it now. If it's a year or less away, that's a different story. >>> >>> The other possibility would be for RHEL to ship more than one libGL... >>> one for DRI1 drivers and one for everything else. I don't know how >>> horrible that would be. >> >> That would worse than impossible, it's bad enough nvidia overwrite >> libGL I don't want us to do it as well to ourselves :-) >> > Perhaps we can think about new interface when the vendor neutral GL > comes around. Until then we can try cleaning up the existing code ? > > There is some ~120 lines of spaghetti code that we can nuke from > libEGL/libgbm, not to mention > - libGL could shed a similar amount > - we can drop the nasty symbol hacks - dlopen(libGL/libglapi.so, RTLD_GLOBAL) > - replace the explicit glFlush from libEGL with flush_with_flags() > - remove unused extensions in the DRI modules. > > To iterate, the above proposal is to remove support for things that > barely anyone uses nowadays - i.e. mixing dri modules with loader(s) > that are couple of years apart. Alternatively can someone come forward > if they're using/testing/supporting such setups (barring DRI1) ? > Anyone ? For further enjoyment, Boyan has pointed out that the systemTimeExtension has found its way into glx/dri{sw,2,3}. I'm suspecting that this DRI1 extension has been blindly copy/pasted around it never had any users outside of the old dri1 modules.
Cheers, Emil _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev