Direct GLX, IGLX, AIGLX, DRI2 and DRISW. Which is/can do what ?

Emil Velikov emil.l.velikov at gmail.com
Thu Sep 1 23:10:35 UTC 2016


On 1 September 2016 at 17:46, Adam Jackson <ajax at nwnk.net> wrote:
> On Thu, 2016-09-01 at 11:12 +0100, Emil Velikov wrote:
>> Hi all,
>>
>> I had a quick look recently in  the area and some things came a bit odd.
>>
>> Afaict DRISW is not considered AIGLX (while DRI2 is) based on libglx's
>> glxSetup(). At the same time both feature direct and indirect GLX.
>>
>> Yet the current glxSetup considers that DRI2 is wired only in the AIGLX case.
>>
>> At the same time, the earlier work by Ajax making libglx modular and allowing
>> one too have the direct GLX w/o IGLX) goes further against the current glxSetup
>> code.
>>
>> So... is the above is about right and we currently have a bug in glxSetup() ?
>> Or perhaps there's some subtlety that I'm missing ?
>
> I'm not really sure what you're asking. Perhaps it would help to
> remember that the "A" means "accelerated"? A software renderer can't
> really be said to be accelerated, no matter how jitty and multithready
> it might be.
>
Had a feeling that the question will be confusing. Let's try dropping
DRISW all together for a second.

Now a silly question:
IGLX encapsulates AIGLX, correct ?

Currently the glx/dri2 code is only used when AIGLX is enabled.

In your earlier work you went through the dri2 code and factored out
large part of the code with ifdef IGLX.

Thus in the case of having glx/dri2 without IGLX (therefore without
AIGLX, right ?), there will still be some code around. When/under what
conditions will that code get executed ?

Thanks !
Emil


More information about the xorg-devel mailing list