The current implementation was suffering from the following problems: 1) The driGetConfigAttribIndex function was not returning any value for the driconfig swapMethod. 2) The X server GLX code is using the value obtained from the AIGLX dri driver driGetConfigAttribIndex to populate its GLX fbconfig. 3) The client side GLX code was assuming fbconfig and driconfig match regardless of whether there actually was a swapMethod match. 4) We were using GLX tokens in the dri code. 5) dri3 does currently not support GLX_SWAP_COPY_OML, even if that's advertized by the gallium dri2 state tracker.
Attempt to fix 1-4. Some highlights: Because of 1) in combination with 2), if the X server uses an AIGLX dri driver that doesn't have this fix, the GLX transmitted fbconfig swapMethod value will be bogus. So if we, on the client side detect a bogus value, change it to GLX_SWAP_UNDEFINED_OML. v2: Split the single patch into four patches. _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev