Hi, I have a tbb::task that needs to do some work that involve manipulating OpenGL API. However, OpenGL contexts cannot be called from different threads. So each time my tbb::task implementation is executed by a different thread than the one where I created the OpenGL context, I get errors from the drivers implementations. I tried to set affinity but as it is not guaranteed by TBB to stick to a specific thread, I still get some problems. So, is there any way to make sure a task will be executed by the same thread? I know it goes against the design of TBB but I want to be sure.
For more complete information about compiler optimizations, see our Optimization Notice.