Please do not reply to this email: if you want to comment on the bug, go to
the URL shown below and enter yourcomments there.
Summary: Can't assign a rendering context to a new thread
The GL library fails to make a glX context active for a new thread if a
context has been active for another thread before. I have written a small test
program which shows this issue.
What causes this bug is basically the following procedure:
1)In some thread, create an X window
2)Create a glx context
3)Make the glx context active
4)Make some gl calls
5)Unset the context
6)Destroy the context
7)Start a new thread
8)In that thread, create a new context
9)Set the new context to the window in the new thread
10)Do some GL calls from the new thread -> Crash
There are no errors returned in any call, the problem shows up on the first GL
call executed in the thread, e.g. glGetString(). The card is an radeon
mobility 9000 card. This problem doesn't occur with Mesa software rendering,
or with the ati fglrx or nvidia driver. I couldn't test any other card
supported by dri.
The background is that I am working on a Direct3D->OpenGL translator for
Wine(www.winehq.com), and Wine is often confronted with applications doing
multi-threaded 3D calls, as this is perfectly ok for D3D. Multithreaded d3d
isn't supported in Wine by now, this bug applied for now only for apps which
test if d3d works, uninitalize everything and re-initialize d3d from another
thread and do not switch the thread again after this.
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.