__GL_SYNC_DISPLAY_DEVICE and multiple threads/contexts


Is it possible in a single process (that has multiple threads) to make different thread vsync to different monitors?

System: Quadro 2000 with dual monitors.

I have an OpenGL application that has two windows and each one managed by a pthread by its own OpenGL context and placed in two different monitors. FWIW, The two OpenGL contexts share certain textures.

So is it possible to do something like this? :

for (int i = 0; i < 2; i++)
if (i == 0)
setenv("__GL_SYNC_DISPLAY_DEVICE", “DFP-1”, 1);
setenv("__GL_SYNC_DISPLAY_DEVICE", “DFP-2”, 1);

Choose visual, create window, opengl context etc
Then launch the pthread passing this drawable/context which will do glXMakeCurrent.

Aaron/anyone around from NVidia?

It would be great if this is supported or not
(one process, two threads, two context and two windows, each syncing to different display device)

I believe that option is only read once, when OpenGL initializes, and applies to the entire process.