Skip to content

glx: unbind context if reusing with different drawable

Timothy Arceri requested to merge tarceri/mesa:fix_makecurrent into main

I'm not familiar with glx, but here is the logic I followed to fix the crash in the game Anomaly Defenders.

The spec error it was triggering was If ctx is current to some other thread, then glXMakeContextCurrent will generate a BadAccess error However the thread wasn't "some other thread" it was the same thread, when removing that error we then hit the same assert from #7961 (closed) where the comment above that assert says dri_unbind_context() is always called before this, so drawables are always NULL here. Obviously this wasn't true for this scenario so here we fix that. Now the game runs fine.

Closes: #12246 (closed)

Maybe fixes #7961 (closed) also?

Please review.

Merge request reports

Loading