• [^] # Re: AIGLX

    Posté par . En réponse au journal Compiz sans XGL. Évalué à 4.

    AIGLX veut effectivement dire accelerated indirect GLX mais cela n'a rien a voir avec le rendu offscreen. Au paravant quand tu utilisais GLX en mode indirect tu envoyais tes commandes GL au serveur X, seulement celui-ci etait incapable d'utiliser le driver 3d pour faire le rendu et donc utiliser mesa en software. Au premier abord cela semble simple de faire appel au driver 3d depuis le serveur mais en realite cela posait de nombreux problemes, notament en ce qui concerne la synchronisation. De plus le code GLX du serveur X etait assez "degeu" et difficilement modifiable, c'est pour cela qu'AIGLX a demande du temps.

    L'extension GLX_EXT_texture_from_pixmap permet d'utiliser les pixmaps du serveur X comme texture, ainsi le serveur X fait le rendu des fenetres dans des pixmap en utilisant l'acceleration habituel (render|exa|...) puis le compositeur utilise ces pixmap comme texture opengl et hop on a tous les effets qui sont zolies :)

    L'avantage Xgl c'est que le rendu des fenetres utilise OpenGL et non render ou exa ou autre, ainsi pour dev de driver il n'y aurait plus besoin que d'ecrire un driver opengl. Cependant cette solution n'est pas rellement prete pour s'imposer. Probablement que glucose permettra de s'en approcher.