Skip to content

RFC: glx/dri3: execute glXSwapBuffers in the driver thread via glthread

Marek Olšák requested to merge mareko/mesa:glthread-swapbuffers into main

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.

Merge request reports