I have an application which runs clusted i.e. one controlling node with graphics and n slave nodes with graphics and I’m running into a problem where my slaves get out of sync with the master on calls to glCopyTexSubImage3D. I have things set up so that before rendering, I set the texture that I want to subcopy across all nodes. I know this code is working because if I have my image “zoomed out” so that frame rate is high, the data is uploaded on the slave nodes and the images look in “sync”. However if I “zoom in”, the slave nodes willeventually get behind or ahead of the master. The only thing I can think that would be causing this is that the time to subcopy the data from cpu to gpu is different on the different nodes so it appears to be behind. Am I way off here? Is there anyway for me to sync the subcopy call so that each frame is updated only when all slaves have updated?
Maybe call glFinish() after rendering on each node before sending an ‘ok’ message to the master, which will then send a message ‘subcopy’ to slaves ?
This actually turned out to be a driver issue. Updated to the newest drivers (released 100.11.14) and things worked…Happy happy joy joy!!!
Thanks for the suggestion.