RFC: glx/dri3: execute glXSwapBuffers in the driver thread via glthread
What does this MR do and why?
glx/dri3: execute glXSwapBuffers in the driver thread via glthread
Instead of calling loader_dri3_swap_buffers_msc directly in libGL, it sends the call to the Mesa driver via dri_interface, which writes it into the glthread queue, where the driver thread forwards it to the DRI frontend, which calls back to libGL now in the driver thread, which finally calls loader_dri3_swap_buffers_msc.
The GL API change is needed to autogenerate the dispatch code, which handles glthread and dispatch tables.
It works OK except that lightdm freezes.